Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
This specialization features Coursera Coach!
A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the specialization.
You’ll begin by setting up your development environment and learning core C++ principles like variables, data types, and operators, laying a strong foundation for more advanced topics. Projects such as a tip calculator and secret agent ID generator will reinforce your learning.
As you progress, you’ll explore control statements, arrays, vectors, functions, and object-oriented programming. These concepts will improve your problem-solving skills, with projects like a rock-paper-scissors game and leap year checker.
The specialization then covers advanced topics like inheritance, polymorphism, exception handling, debugging, and memory management with pointers. You’ll learn to handle errors, optimize memory, and make your programs more robust. The final sections focus on templates, STL, and data structures, preparing you for professional-level development.
This specialization is perfect for anyone looking to master C++, from beginners to intermediate learners. No prior programming experience is required, though familiarity with basic computer operations is helpful.
By the end of the specialization, you will be able to build efficient, organized C++ applications and tackle real-world programming challenges.
Syllabus
- Course 1: C++ Basics and Core Concepts
- Course 2: Object-Oriented Programming and Functions
- Course 3: Advanced C++ Features and Data Structures
Courses
-
This course features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. Take your C++ programming skills to the next level by mastering advanced features and foundational data structures essential for building high-performance software. In this comprehensive course, you'll explore file handling, inheritance, polymorphism, templates, the Standard Template Library (STL), and core data structures such as stacks, queues, and linked lists. You’ll begin with file input/output, learning how to read from and write to files to persist data across sessions. Real-world projects like salary reports and student rosters reinforce your ability to manage external data. Next, you'll dive into object-oriented programming with inheritance and polymorphism, building derived classes and role-based systems like an RPG character creator to see these concepts in action. As the course progresses, you’ll explore C++ templates and the STL, learning how to write reusable, efficient code using powerful generic containers and algorithms. You’ll also cover critical concepts like smart pointers, operator overloading, and rules for safe memory management. Projects like a language translator and crop simulator tie these topics together. In the final stretch, the focus shifts to data structures. You'll implement both array-based and linked versions of stacks, queues, and lists, and apply templating to create flexible, type-safe data abstractions. By combining theory with hands-on coding, you’ll build a toolkit for solving complex programming problems. By the end of the course, you will be able to apply advanced C++ features like templates and polymorphism, utilize STL containers effectively, manage memory with modern techniques, and implement foundational data structures from scratch.
-
This course features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. Unlock the world of C++ with a hands-on, project-based introduction to one of the most powerful programming languages in the world. In this course, you’ll learn how to build practical applications using foundational concepts like variables, operators, control statements, arrays, and vectors—all while writing real code from the very beginning. You'll begin by setting up your development environment on Windows, macOS, or Linux, then move into essential programming concepts. The course introduces core syntax, data types, arithmetic and logical operations, and helps you understand how C++ handles user input. Each concept is paired with small projects like a tip calculator and secret agent ID generator to reinforce learning through application. As you progress, you’ll explore control statements, loops, and decision-making logic through interactive exercises and mini-projects like a leap year checker and rock-paper-scissors game. Later, you’ll dive deep into data structures such as arrays and vectors, learning how to manipulate collections of data using built-in and class-based structures. This course is ideal for beginners with little to no programming experience who want to get started with C++. No prior coding knowledge is required—just curiosity and a willingness to learn. Whether you're preparing for a computer science degree or exploring programming as a new skill, this course provides a solid foundation. By the end of the course, you will be able to set up a C++ development environment, write structured code using variables and control logic, build small interactive applications, and apply core data structures like arrays and vectors effectively in your programs.
-
This course features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. This course provides a deep dive into C++ functions, object-oriented programming (OOP), exception handling, debugging, and pointers—essential pillars for developing scalable and robust applications. You'll master how to write modular, reusable code using functions and create complex systems using classes and objects grounded in core OOP principles like encapsulation, inheritance, and polymorphism. The journey begins with functions, teaching you prototypes, parameter passing, recursion, and function overloading. You’ll reinforce these concepts with practical projects such as creating a Tic-Tac-Toe game and computing the average of numbers. Then, the course transitions into object-oriented programming, where you'll design custom classes and bring them to life with real-world examples like a Library Card or an Ice Cream Sundae class. Next, you’ll explore exceptions and debugging, learning how to write resilient code through structured error handling, logic checks, and custom exception classes. Finally, the course concludes with a strong foundation in pointers and dynamic memory management, helping you understand how C++ gives you powerful control over system memory. This course is ideal for learners who already understand C++ basics and are ready to take their skills to the next level. It’s perfect for computer science students, aspiring developers, and self-taught programmers aiming for deeper C++ proficiency. A basic understanding of variables, loops, and conditionals in C++ is recommended before enrolling. By the end of the course, you will be able to build and organize C++ programs using reusable functions, design robust object-oriented systems, manage memory with pointers, and handle exceptions gracefully for reliable code execution.
Taught by
Packt - Course Instructors