We may earn an affiliate commission when you visit our partners.
Kate Gregory

If C++ scares you, or you've heard that it's a difficult language, this course will show you how easy Modern C++ can be. You will learn the fundamentals of the language so that you can write useful C++ applications.

Read more

If C++ scares you, or you've heard that it's a difficult language, this course will show you how easy Modern C++ can be. You will learn the fundamentals of the language so that you can write useful C++ applications.

C++ is a powerful general purpose language that has grown and changed over decades, which can make it feel difficult to learn. In this course, C++20 Fundamentals, you’ll learn to write simple modern C++ programs using the language and its standard library. First, you’ll explore the basics of the language syntax. Next, you’ll discover how to combine pieces into larger programs and save time with the standard library. Finally, you’ll learn how to avoid common pitfalls that used to be problems for C++ developers in older versions of the language. When you’re finished with this course, you’ll have the skills and knowledge of C++ needed to write useful applications targeting your chosen platform and framework.

This course is no longer available. Find something similar by browsing:
C++ C++20 Standard Library Syntax Variables Classes Flow of Control

What's inside

Syllabus

Course Overview
Understanding C++ in Context
Tools
Variables and Fundamental Types
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Teaches the fundamentals of C++, a powerful general purpose language
Starts with the basics of the language syntax, then builds on that knowledge
Demonstrates how to combine pieces of code into larger programs to save time
Provides advice on how to avoid common pitfalls that C++ developers faced in older versions of the language
Offers a comprehensive study of foundational C++ concepts
Intended for beginners who want to learn the fundamentals of C++
Suitable for learners who want to develop useful applications in C++
Emphasizes practical application of concepts through examples and exercises
Taught by Kate Gregory, who is experienced in C++ instruction

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Modern c++20 fundamentals for practical use

According to learners, this course provides a solid and practical introduction to Modern C++20 fundamentals, making it accessible for those looking to write useful applications. Many appreciate the instructor's clear explanations and the course's well-structured approach, particularly for demystifying C++20 features like modules and concepts. While largely seen as beneficial for updating existing C++ skills or for programmers new to C++, some caution that the pacing can be quick for absolute beginners. Reviewers frequently desire more hands-on coding exercises and deeper dives into specific C++20 features beyond a general overview.
Good overview, but some topics lack deep dive.
"Good overview of C++ fundamentals with a modern twist. The course definitely delivered on covering C++20, but it felt more like a survey than a deep dive into every new feature."
"The course provides a decent overview, but some parts felt a bit shallow. For 'fundamentals,' I expected more reinforcement through varied exercises."
"Decent course, but it sometimes felt like it just skimmed the surface of some C++20 features. I was hoping for more in-depth examples for `std::concepts`."
Instructor is knowledgeable and explains clearly.
"The instructor's explanations are clear and the code examples are spot on."
"The instructor is knowledgeable and presents complex topics in an easy-to-digest manner."
"Instructor is top-notch."
"The instructors delivery is good."
Clearly covers C++20, praised for explanations.
"Absolutely fantastic course! This course brilliantly explains C++20 concepts like modules and concepts, making them accessible."
"Excellent course for getting up to speed with C++20. The instructor is knowledgeable and presents complex topics in an easy-to-digest manner."
"Perfect for transitioning from older C++ versions to C++20. It demystifies a lot of the new syntax and paradigms."
"I learned a lot about C++20 and appreciated the focus on current standards and how it demystifies a lot of the new syntax."
More hands-on projects and exercises are desired.
"I wish there were more practical projects to solidify understanding rather than just theoretical examples."
"More exercises would be a bonus."
"I think the course could benefit from more interactive coding challenges rather than just watching demos."
"I would have liked more practical assignments to practice."
Pace better for programmers than absolute beginners.
"The course covers a lot of ground, but it assumes a certain level of comfort with programming in general. As a true beginner, I found myself rewatching sections frequently."
"I found this course quite challenging. The instructor moves very quickly through topics, and the examples, while present, aren't sufficient for true beginners."
"This course completely failed my expectations. It claims to be for beginners, but it's not. It jumps into complex ideas without proper foundational buildup."
"While a great resource, sometimes the pace felt a bit quick, especially for someone completely new to C++."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in C++20 Fundamentals with these activities:
Organize your notes and materials
Prepare your study environment for success
Show steps
  • Review and organize your notes
  • Collect and gather additional resources
Join a C++ study group
Engage with fellow learners for support and knowledge sharing
Browse courses on C++
Show steps
  • Find or start a study group
  • Meet regularly to discuss topics and work on projects
Review basic programming concepts
Ensure a strong foundation before diving into C++
Browse courses on Programming
Show steps
  • Review online resources or books
  • Practice writing code for simple problems
Five other activities
Expand to see all activities and additional details
Show all eight activities
Review Modern C++ Programming Cookbook
Get up to speed on essential C++ language concepts
Show steps
  • Read the book
  • Read the linked articles and references
  • Practice the exercises and examples
Practice C++ coding challenges
Apply foundational concepts to solve practical problems
Browse courses on C++
Show steps
  • Gather a list of C++ coding challenges
  • Attempt to solve the challenges
  • Review and fix errors
Follow tutorials on advanced C++ topics
Delve deeper into complex concepts
Browse courses on C++
Show steps
  • Identify areas for improvement
  • Find tutorials that address those areas
  • Follow the tutorials and practice the examples
Write a blog post or article about C++
Solidify your understanding by explaining it to others
Browse courses on C++
Show steps
  • Choose a topic
  • Research and gather information
  • Write and edit the content
Build a small C++ project
Apply your skills to a real-world scenario
Browse courses on C++
Show steps
  • Plan and design the project
  • Implement the project
  • Test and debug the project

Career center

Learners who complete C++20 Fundamentals will develop knowledge and skills that may be useful to these careers:
Software Engineer
As a Software Engineer, you will be responsible for designing, developing, and maintaining software applications. This course will help you build a strong foundation in C++, which is a widely used programming language in software development. You will learn the basics of the language, such as syntax, data types, and control flow. You will also learn how to use the C++ standard library to write efficient and robust code. This course will give you the skills you need to be successful as a Software Engineer.
Game Developer
As a Game Developer, you will be responsible for creating and developing video games. This course will help you build a strong foundation in C++, which is a popular programming language used in game development. You will learn the basics of the language, such as syntax, data types, and control flow. You will also learn how to use the C++ standard library to write efficient and robust code. This course will give you the skills you need to be successful as a Game Developer.
Embedded Systems Engineer
As an Embedded Systems Engineer, you will be responsible for designing and developing embedded systems, which are computer systems that are designed to be part of a larger system. This course will help you build a strong foundation in C++, which is a popular programming language used in embedded systems development. You will learn the basics of the language, such as syntax, data types, and control flow. You will also learn how to use the C++ standard library to write efficient and robust code. This course will give you the skills you need to be successful as an Embedded Systems Engineer.
Robotics Engineer
As a Robotics Engineer, you will be responsible for designing, developing, and maintaining robots. This course will help you build a strong foundation in C++, which is a popular programming language used in robotics. You will learn the basics of the language, such as syntax, data types, and control flow. You will also learn how to use the C++ standard library to write efficient and robust code. This course will give you the skills you need to be successful as a Robotics Engineer.
Data Scientist
As a Data Scientist, you will be responsible for collecting, analyzing, and interpreting data. This course will help you build a strong foundation in C++, which is a powerful programming language that can be used for data analysis. You will learn the basics of the language, such as syntax, data types, and control flow. You will also learn how to use the C++ standard library to write efficient and robust code. This course will give you the skills you need to be successful as a Data Scientist.
Web Developer
As a Web Developer, you will be responsible for designing and developing websites. This course will help you build a strong foundation in C++, which is a popular programming language used in web development. You will learn the basics of the language, such as syntax, data types, and control flow. You will also learn how to use the C++ standard library to write efficient and robust code. This course will give you the skills you need to be successful as a Web Developer.
Mobile Developer
As a Mobile Developer, you will be responsible for designing and developing mobile applications. This course will help you build a strong foundation in C++, which is a popular programming language used in mobile development. You will learn the basics of the language, such as syntax, data types, and control flow. You will also learn how to use the C++ standard library to write efficient and robust code. This course will give you the skills you need to be successful as a Mobile Developer.
Computer Vision Engineer
As a Computer Vision Engineer, you will be responsible for developing algorithms and software to enable computers to see and understand the world around them. This course will help you build a strong foundation in C++, which is a popular programming language used in computer vision. You will learn the basics of the language, such as syntax, data types, and control flow. You will also learn how to use the C++ standard library to write efficient and robust code. This course will give you the skills you need to be successful as a Computer Vision Engineer.
Artificial Intelligence Engineer
As an Artificial Intelligence Engineer, you will be responsible for developing and implementing artificial intelligence algorithms and systems. This course will help you build a strong foundation in C++, which is a popular programming language used in artificial intelligence. You will learn the basics of the language, such as syntax, data types, and control flow. You will also learn how to use the C++ standard library to write efficient and robust code. This course will give you the skills you need to be successful as an Artificial Intelligence Engineer.
Machine Learning Engineer
As a Machine Learning Engineer, you will be responsible for developing and implementing machine learning algorithms and systems. This course will help you build a strong foundation in C++, which is a popular programming language used in machine learning. You will learn the basics of the language, such as syntax, data types, and control flow. You will also learn how to use the C++ standard library to write efficient and robust code. This course will give you the skills you need to be successful as a Machine Learning Engineer.
Computational Scientist
As a Computational Scientist, you will be responsible for developing and using computational models to solve scientific problems. This course will help you build a strong foundation in C++, which is a popular programming language used in computational science. You will learn the basics of the language, such as syntax, data types, and control flow. You will also learn how to use the C++ standard library to write efficient and robust code. This course will give you the skills you need to be successful as a Computational Scientist.
Systems Analyst
As a Systems Analyst, you will be responsible for designing and implementing computer systems. This course will help you build a strong foundation in C++, which is a popular programming language used in systems analysis. You will learn the basics of the language, such as syntax, data types, and control flow. You will also learn how to use the C++ standard library to write efficient and robust code. This course will give you the skills you need to be successful as a Systems Analyst.
Technical Writer
As a Technical Writer, you will be responsible for writing and editing technical documentation. This course may be useful as it will help you build a strong foundation in C++, which is a programming language that is often used in technical documentation. You will learn the basics of the language, such as syntax, data types, and control flow. You will also learn how to use the C++ standard library to write clear and concise documentation.
Professor
As a Professor, you will be responsible for teaching and conducting research in your field of expertise. This course may be useful as it will help you build a strong foundation in C++, which is a popular programming language used in many fields. You will learn the basics of the language, such as syntax, data types, and control flow. You will also learn how to use the C++ standard library to write efficient and robust code. This course will give you the skills you need to be successful as a Professor.
Quantitative Analyst
As a Quantitative Analyst, you will be responsible for developing and implementing mathematical and statistical models to solve financial problems. This course may be useful as it will help you build a strong foundation in C++, which is a popular programming language used in quantitative finance. You will learn the basics of the language, such as syntax, data types, and control flow. You will also learn how to use the C++ standard library to write efficient and robust code. This course will give you the skills you need to be successful as a Quantitative Analyst.

Reading list

We've selected 11 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in C++20 Fundamentals.
Provides an overview of the C++ language, including its history, syntax, and standard library.
A comprehensive guide to C++ templates, a powerful feature for writing generic code.
Sequel to Effective C++ and provides 35 more tips for writing better C++ code.
Collection of 50 tips for using the C++ Standard Template Library (STL) effectively.
Widely used textbook for introductory C++ courses.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser