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. It's a powerful language that works on a huge variety of platforms and has useful features that other languages don't have.

C++ is a general purpose programming language that is used by millions of developers. It has a reputation for being hard to learn and use, but with the changes in the language over the last few decades, this reputation is no longer deserved. C++ offers a powerful combination of performance and abstraction that other languages don’t have.

In this course,

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. It's a powerful language that works on a huge variety of platforms and has useful features that other languages don't have.

C++ is a general purpose programming language that is used by millions of developers. It has a reputation for being hard to learn and use, but with the changes in the language over the last few decades, this reputation is no longer deserved. C++ offers a powerful combination of performance and abstraction that other languages don’t have.

In this course,

, you'll learn how to write simple console applications and be ready to move on to writing platform-specific code.

First, you’ll learn the basics of language syntax:

C++ is a general purpose programming language that offers a powerful combination of performance and abstraction that isn't found in other languages.

C++ is a good choice for a first programming language. It has a reputation for being difficult to learn, but C++ is very transparent and doesn't hide anything and its syntax is similar to many other programming languages.

C++ is mainly used for systems programming and embedded systems. It is also used in application development, game development, animation, web browser development, developing database software, developing operating systems, and much more.

You will learn:

C++ has a reputation for being a difficult programming language to learn, but in this course you will see how modern C++ is easier and more enjoyable to learn than past versions.

There is no strict prerequisite to this course, but some exposure to another programming language (any programming language, not just C) will help solidify some concepts. Knowing the general "what" or "how" of calling functions or creating variables, etc. If you have no programming experience at all, try this

instead!

You'll need a compiler and a linker - tools that transform source code into something that can actually be executed on whatever platform you end up deploying your application to. GCC and Clang are popular compile/link tools. You will also need an editor for source code, such as Brackets, and you will need a debugger such as Google Dev Tools.

This course is for everyone who wants to learn how to program with C++! It is geared towards beginners, although it assumes some understanding of general programming basics.

Enroll now

What's inside

Syllabus

Course Overview
Understanding C++ in Context
Tools
Variables and Fundamental Types
Read more
Language Basics - User Defined Types
Language Basics – Flow of Control
Language Basics - Functions
Language Basics - Operators
Templates
Indirection
Memory Management
Indirection and Inheritance

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Suitable for beginners looking to establish a solid foundation in C++ and build upon that skill set in the future
Covers a comprehensive range of C++ fundamentals, starting with the basics and gradually progressing to more advanced concepts
Emphasizes the relevance of C++ in various industries, making it a valuable asset for career advancement
Prior exposure to programming concepts may enhance the learning experience, but it is not strictly required
Practical tools and resources such as compilers, editors, and debuggers may require separate acquisition

Save this course

Save C++ Fundamentals Including C++ 17 to your list so you can find it easily later:
Save

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++ Fundamentals Including C++ 17 with these activities:
Read 'A Tour of C++' by Bjarne Stroustrup
Get an overview of the C++ programming language and its features from the creator of C++
View Programming on Amazon
Show steps
  • Find a copy of 'A Tour of C++'
  • Read through the book at your own pace
  • Take notes and highlight important concepts
  • Complete the exercises at the end of each chapter
  • Review the material regularly
Attend a C++ conference or meetup
Connect with other C++ professionals, learn about the latest trends and technologies, and expand your knowledge
Show steps
  • Find a C++ conference or meetup in your area
  • Register for the event
  • Attend the event and participate in sessions and discussions
  • Network with other attendees and exchange ideas
  • Follow up with people you meet after the event
Join a C++ study group
Connect with other C++ learners and engage in discussions, code reviews, and other collaborative activities to enhance your learning
Show steps
  • Find a C++ study group online or in your local area
  • Attend study group meetings regularly
  • Participate in discussions and code reviews
  • Share your knowledge and experiences with other group members
  • Help other group members with their learning
Five other activities
Expand to see all activities and additional details
Show all eight activities
Create a collection of course materials
Create an organized collection of lecture notes, assignments, quizzes, and other materials to help aid your regular study routine
Show steps
  • Gather lecture notes and handouts
  • Organize notes into folders
  • Create a master list of all your materials
  • Develop a system for keeping track of your materials
  • Backup your materials regularly
Code Challenges
Solve coding challenges regularly to solidify your understanding of C++ concepts and improve your problem-solving skills
Show steps
  • Find coding challenges on websites or in books
  • Set aside time each week to work on coding challenges
  • Don't give up if you can't solve a challenge right away
  • Seek help from online forums or mentors if needed
  • Review your solutions regularly
Follow online C++ tutorials
Supplement your learning with online tutorials to reinforce concepts and explore new areas of C++
Show steps
  • Find online C++ tutorials on websites or YouTube
  • Choose tutorials that cover topics you're interested in or struggling with
  • Follow the tutorials step-by-step
  • Experiment with the code and try to apply it to your own projects
  • Share your experiences with other learners in online forums or study groups
Build a simple C++ program
Put your C++ skills to the test by building a simple program that demonstrates your understanding of the language
Show steps
  • Decide what kind of program you want to build
  • Plan out the structure of your program
  • Write the code for your program
  • Test and debug your program
  • Share your program with others and get feedback
Create a C++ code library
Develop a collection of reusable C++ functions and classes to enhance your coding efficiency and expand your C++ knowledge
Show steps
  • Identify the functions and classes you want to include in your library
  • Design the interface and implementation of your library
  • Write the code for your library
  • Test and debug your library
  • Document your library

Career center

Learners who complete C++ Fundamentals Including C++ 17 will develop knowledge and skills that may be useful to these careers:
Software Developer
Software Developers design and create computer software based on client requirements, using a variety of programming languages. Understanding C++ will help you excel in this profession, as the course will teach you the basics of language syntax and introduce you to key concepts like variables, fundamental types, language basics, and flow of control. With its powerful combination of performance and abstraction, C++ is a great language to learn for software development, and this course is an excellent introduction to the subject.
Computer Programmer
Computer Programmers create, modify, and test software applications. As a programmer, you will need to be familiar with a variety of programming languages, including C++, which is widely used in systems programming, embedded systems, application development, game development, and more. Taking this course will help you develop a solid understanding of C++, including its syntax, data types, and control structures. This knowledge will help you succeed as a Computer Programmer.
Data Scientist
Data Scientists collect, analyze, and interpret data to help organizations make informed decisions. As a Data Scientist, you must be familiar with a variety of programming languages, including C++. This course will help you gain the skills you need to work with data in various forms, including numerical data, text data, and images. The course covers topics such as data manipulation, data visualization, and machine learning, all of which are essential for Data Scientists.
Web Developer
Web Developers design and develop websites and web applications. As a Web Developer, you will need to be familiar with a variety of programming languages, including C++. This course will help you develop a strong foundation in C++, including its syntax, data types, and control structures. You will also learn about key concepts like templates, indirection, memory management, and inheritance. This knowledge will help you succeed as a Web Developer.
Systems Analyst
Systems Analysts design and implement computer systems. As a Systems Analyst, you will need to be familiar with a variety of programming languages, including C++. This course will help you gain the skills you need to design and implement efficient and effective computer systems. The course covers topics such as system design, system analysis, and system implementation, all of which are essential for Systems Analysts.
Database Administrator
Database Administrators design and implement database systems. As a Database Administrator, you will need to be familiar with a variety of programming languages, including C++. This course will help you gain the skills you need to design and implement efficient and effective database systems. The course covers topics such as database design, database implementation, and database administration, all of which are essential for Database Administrators.
Quality Assurance Analyst
Quality Assurance Analysts test and evaluate software applications to ensure they meet quality standards. As a Quality Assurance Analyst, you will need to be familiar with a variety of programming languages, including C++. This course will help you gain the skills you need to test and evaluate software applications. The course covers topics such as software testing, software quality assurance, and software quality control.
Game Developer
Game Developers design and develop video games. As a Game Developer, you will need to be familiar with a variety of programming languages, including C++. This course will help you learn the basics of C++ and introduce you to key concepts like variables, fundamental types, and language basics. The course will also cover topics such as game design, game development, and game testing, all of which are essential for Game Developers.
Project Manager
Project Managers plan, execute, and close projects. As a Project Manager, you may need to work with software developers, so it is important to have a basic understanding of programming. This course will introduce you to the basics of C++ and teach you how to use it to manage software projects. The course covers topics such as project management, software development, and quality assurance.
Business Analyst
Business Analysts analyze business needs and develop solutions to improve business processes. As a Business Analyst, you may be required to work with software developers, so it is important to have a basic understanding of programming. This course will introduce you to the basics of C++ and teach you how to use it to solve business problems. The course covers topics such as problem-solving, analysis, and data modeling, which are all essential for Business Analysts.
IT Consultant
IT Consultants help organizations improve their IT systems. As an IT Consultant, you may need to work with software developers, so it is important to have a basic understanding of programming. This course will introduce you to the basics of C++ and teach you how to use it to solve business problems. The course covers topics such as IT consulting, systems analysis, and business process improvement.
Technical Writer
Technical Writers create technical documentation, such as user manuals, training materials, and white papers. As a Technical Writer, you may need to write about software applications, so it is important to have a basic understanding of programming. This course will introduce you to the basics of C++ and teach you how to use it to write clear and concise technical documentation. The course covers topics such as technical writing, documentation design, and user experience.
Software Architect
Software Architects design and develop software systems. As a Software Architect, you will need to be familiar with a variety of programming languages, including C++. This course will help you gain the skills you need to design and develop efficient and effective software systems. The course covers topics such as software architecture, software design, and software development.
Software Engineer
Software Engineers design and develop software applications. As a Software Engineer, you will need to be familiar with a variety of programming languages, including C++. This course will help you develop a strong foundation in C++, including its syntax, data types, and control structures. You will also learn about key concepts like templates, indirection, memory management, and inheritance. This knowledge will help you succeed as a Software Engineer.
Computer Scientist
Computer Scientists conduct research and develop new technologies in the field of computer science. As a Computer Scientist, you will likely need to be familiar with a variety of programming languages, including C++, which is widely used in systems programming, embedded systems, application development, game development, and more. Taking this course will help you develop a strong understanding of C++, including its syntax, data types, and control structures. This knowledge may be useful in your research or when developing new technologies.

Reading list

We've selected 24 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++ Fundamentals Including C++ 17.
This is the definitive book on C++ by its original inventor and architect. It gives you a deep understanding of the language's design and evolution.
This classic book provides a comprehensive overview of the C++ programming language. It is an excellent resource for both beginners and experienced programmers alike. It covers most topics that the course does, but in more depth and breadth.
C++ Primer is widely used to learn C++ or as an ongoing reference and guide to help overcome day-to-day C++ challenges.
Covers everything you need to know about templates in C++. It includes in-depth explanations of the language's template features, as well as many real-world examples.
Provides a collection of best practices for using C++11 and C++14. It covers a wide range of topics, from basic language features to advanced design patterns.
Is written by the creator of C++ and is great to supplement understanding the fundamentals of the language as well as some of the newer additions.
Is recommended by Bjarne Stroustrup and particularly helpful in taking the next step from understanding the fundamentals.
Collection of puzzles and problems that will help you to improve your C++ programming skills. It covers a wide range of topics, from basic language features to advanced design patterns.
Collection of 55 specific guidelines for writing effective C++ code. It valuable resource for experienced programmers who want to improve their coding skills.
Provides a comprehensive introduction to the C++ programming language. It good choice for beginners who want to learn the basics of C++ quickly.
Is an excellent resource for quickly learning C++ from the ground up or for brushing up on your knowledge of the language's fundamentals. It is written succinctly, with numerous examples.
Covers a wide range of topics in modern C++. It great resource for learning about the latest features and techniques in the language.
Great resource for learning about concurrency in C++. It covers the basics of concurrency, such as threads, locks, and synchronization. It also covers more advanced topics, such as thread-safe programming and deadlock avoidance.
A popular book for developers to pick up and read from time to time, it offers insights into the effective use of C++
Is the definitive guide to templates in C++. It covers everything from the basics to advanced topics. It includes numerous examples and exercises to help you learn the material.
Provides a set of coding standards and best practices for C++. It covers a wide range of topics, from naming conventions to error handling.
Provides a fun and engaging introduction to the C++ programming language. It good choice for beginners who want to learn the basics of C++ quickly.
Provides a gentle introduction to the C++ programming language. It good choice for complete beginners who have no prior programming experience.
Provides a comprehensive introduction to object-oriented programming (OOP) in C++. It covers the basics of OOP, such as classes, objects, and inheritance. It also covers more advanced topics, such as polymorphism and templates.

Share

Help others find this course page by sharing it with your friends and followers:
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 - 2024 OpenCourser