We may earn an affiliate commission when you visit our partners.
Himayatullah Sharief

This course fully covers from classical C++ to Modern C++ style of creating object Oriented Programs from scratch to advance level in a step-by-step approach. The course teaches in detail the latest concepts introduced in C++11, C++14 and C++17. The object oriented programming concepts are covered in detail such that you will learn all the concepts including classes, objects, Data Abstraction, Data Encapsulation, Inheritance, polymorphism (including Operator overloading and Function Overloading). The main focus of the course apart from Fundamentals of programming and Object Oriented Programming is on Templates(including Function and Class Templates) , which is a building block to understand STL implementation. And standard template library is explored to maximum extent in detail along with the almost all the concepts from the latest versions of C++

Read more

This course fully covers from classical C++ to Modern C++ style of creating object Oriented Programs from scratch to advance level in a step-by-step approach. The course teaches in detail the latest concepts introduced in C++11, C++14 and C++17. The object oriented programming concepts are covered in detail such that you will learn all the concepts including classes, objects, Data Abstraction, Data Encapsulation, Inheritance, polymorphism (including Operator overloading and Function Overloading). The main focus of the course apart from Fundamentals of programming and Object Oriented Programming is on Templates(including Function and Class Templates) , which is a building block to understand STL implementation. And standard template library is explored to maximum extent in detail along with the almost all the concepts from the latest versions of C++

The Course entirely covers all String Functions included in the latest version of C++ along with the basic programming concepts like operators, variables, Conditional statements and looping structures, functions(User-Defined and Recursive Functions), reference parameters, Arrays,File I/O and vectors in C++.has been discussed in details.

The step by step approach of first learning concepts, then followed by practice programs and then solving programming challenges will definitely  benefit you to get more confidence with C++ programming.

Not only as a Instructor, but I will be available through out the course, as mentor and as guide, to assist and guide you alongside doing the programs in C++ and that will be best way to complete the programs and programming challenges.

So, If you have any doubt in any topic then you can,

1. Message me

2. Ask Question using Q&A option under the same section

3. paste the program source code to debug and remove errors, your errors will be removed instantly( in less than 24 hours).

4. paste the screenshot of the problem

Happy Learning and Coding in C++

Enroll now

What's inside

Learning objectives

  • Gain in-depth knowledge in object oriented programming using c++
  • Complete understanding of c++ language
  • Create well indented classes and application programs
  • Can able to understand complicated problems and solve using c++ language
  • Acquire skills that will be useful for understanding in-depth object oriented programming concepts
  • Get in-depth coverage of strings and its functions in c++
  • Fully explore the standard template library to maximum extent
  • Learn modern c++ concepts including c++ 11 to c++17

Syllabus

Introduction
Course Introduction
Instructor's Note
Install, Setup and Settings of used IDE's
Read more
First C++ Program
Writing an Algorithm
Drawing a Flow chart
Program Development and Execution
Quiz # 1
C++ as a Language - Basics
Basic Structure of a C++ Program
Keywords and Identifiers in C++
Comments in C++
Program Demonstrating Comments in C++
Variables, Literals and Constants in C++
Why Data Types
Data Types in C++
Expressions and Precedence
Practice Program - Expression
Input/Output(I/O) functions in C++
Introduction to Operators in C++
Arithmetic Operators
Increment / Decrement Operators
Assignment Operators
Relational Operators
Logical Operators
Practice Program - Operators
Check if a given integer is both positive and even using Relational and Logical Operators
Bit-wise Operators
Practice Program - Bit-wise Operators
sizeof Operator
Ternary operator
Operator Precedence and Associativity
Quiz # 2
Conditional Structures / Flow Control in C++
Flow Control Statements in C++
Decision Control Statements including if , if-else, nested-if and if-else Ladder
Practice Program- using Conditional statements
Another Practice Program - using Conditional statements
Practice Program - Finding Maximum of 2 numbers using if condition
Programming Challenge and its Solution - Finding Max of 2 and 3 using Ternary op
Programming Challenge - Validating number for negative or positive
Programming Challenge & Solution - Finding the Roots and Nature of Roots
Programming Challenge - Generate Electricity Bill Charges
Programming Challenge & Solution - Finding the Grade of a Student
Solution to Programming Challenge - Generate Electricity Bill Charges
Looping Structures in C++
Understanding Loops
Understanding While Loop in C++
Practice Program - Demonstrating working of while Loop
Understanding For Loop in C++
Practice Program - Demonstrating working of for Loop
Programming Challenge - To Find whether a given Number is Armstrong No. or not
Practice Program - Finding Maximum and Minimum Numbers from an Array
Programming Challenge & Solution - Sum of Elements of an Array
Programming Challenge & Solution - Finding the Factors of a Number
Programming Challenge & Solution - Find Whether a number is a PERFECT NUM or NOT
Programming Challenge - Reverse a given Number
Solution to Programming Challenge - Reverse a given Number
Understanding do-while loop in C++
Programming Challenge - Finding GCD of 2 numbers using Iteration
Solution to Programming Challenge - Finding GCD of 2 numbers using Iteration
Understanding Nested loops in C++
Programming Challenge - Find whether a number is PALINDROME or NOT
Solution to Programming Challenge - Find whether a number is PALINDROME or NOT
Programming Challenge - Printing Multiplication Table
Solution to Programming Challenge - Printing Multiplication Table
Programming Challenge & Solution - Generate Pascal Triangle using Nested Loops
Infinite Loop
Goto and Labels in C++
Understanding break and continue statements
Understanding Switch Case Statements in C++
Practice Program - Switch Case Control Statements
Programming Challenge & Solution - Build a Simple Calculator using Switch-Case
Arrays
Introduction to Arrays
Basic Concepts of Arrays
Practice Program - To Display the Array Elements in Reverse order
Programming challenge - Linear Search
Solution to Programming Challenge - Linear Search
Programming Challenge - Binary Search
Solution to Programming Challenge - Binary Search
Range-Based for Loop
Multi-Dimensional Arrays
2 Dimensional Arrays
Practice Program - Addition and Subtraction of 2 Matrices
Programming Challenge & Solution - Multiplication of 2 Matrices
3 Dimensional Arrays
Quiz # 5
Pointers
Introduction to Pointers in C++
Why Pointers
Pointer to a pointer
Pointer Arithmetic
Pointers and Arrays
Dynamic Memory Allocation
Reference in C++
Problems with Pointers
Programming Challenge - Compute the Sum and Absolute difference using Pointers
Quiz # 6

Save this course

Save Mastering C++ Programming - From Zero to Hero 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 Mastering C++ Programming - From Zero to Hero with these activities:
Review Basic C++ Syntax
Reviewing basic C++ syntax will help you grasp the more advanced concepts covered in the course.
Browse courses on C++ Syntax
Show steps
  • Read through a C++ syntax reference guide.
  • Write small code snippets to practice each syntax element.
  • Compile and run the code snippets to verify understanding.
Review 'C++ Primer' by Lippman, Lajoie, and Moo
Reading 'C++ Primer' will provide a strong foundation in C++ and help you understand the course material more deeply.
View C++ Primer on Amazon
Show steps
  • Read the chapters relevant to the current course module.
  • Work through the examples provided in the book.
  • Attempt the exercises at the end of each chapter.
Solve C++ Coding Challenges on HackerRank
Practicing coding challenges on HackerRank will reinforce your understanding of C++ concepts and improve your problem-solving skills.
Show steps
  • Create an account on HackerRank.
  • Select the C++ track.
  • Solve coding challenges of varying difficulty levels.
  • Analyze your solutions and learn from others.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a C++ Cheat Sheet
Creating a cheat sheet will help you consolidate your knowledge of C++ syntax and concepts.
Show steps
  • Identify the key C++ syntax and concepts covered in the course.
  • Organize the information into a clear and concise format.
  • Include examples and explanations for each concept.
  • Share the cheat sheet with other students.
Develop a Simple Command-Line Application
Building a command-line application will allow you to apply your C++ knowledge to a real-world problem and solidify your understanding of the language.
Show steps
  • Choose a simple application to develop (e.g., a calculator, a to-do list manager).
  • Design the application's functionality and user interface.
  • Implement the application in C++.
  • Test and debug the application thoroughly.
Review 'Effective Modern C++' by Scott Meyers
Reading 'Effective Modern C++' will deepen your understanding of modern C++ and help you write better code.
Show steps
  • Read the items relevant to the course topics.
  • Consider the advice given in each item.
  • Apply the advice to your own C++ code.
Contribute to a C++ Open Source Project
Contributing to an open-source project will provide valuable experience working with real-world C++ code and collaborating with other developers.
Show steps
  • Find a C++ open-source project that interests you.
  • Read the project's documentation and contribution guidelines.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete Mastering C++ Programming - From Zero to Hero will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software engineers design, develop, and maintain software applications. They are responsible for writing clean, efficient, and reliable code, often in languages like C++. This 'Mastering C++ Programming' course is highly beneficial, as it covers both fundamental and advanced C++ concepts necessary for the role, including object-oriented programming and templates, plus the Standard Template Library. The program will equip a software engineer with the practical skills and theoretical knowledge to handle a variety of projects. The step-by-step approach and practice programs help solidify a strong foundation in coding.
Game Programmer
A game programmer uses programming languages like C++ to develop the underlying systems that make games function. This includes game logic, rendering, and physics. This course helps build a foundation in C++ programming that is essential for any aspiring game programmer. The course's focus on object-oriented programming, modern C++ features, and the Standard Template Library is particularly relevant to game development tasks, which often require efficient data structures and algorithms. Moreover, this course provides hands-on experience with algorithm creation and program development.
Systems Programmer
A systems programmer creates and maintains the software that allows a computer's hardware to function. These programs typically involve operating systems, system utilities, and device drivers. Because these complex systems are often written in C++, this course is highly relevant, as it covers the language from the ground up, emphasizing object oriented approaches, and modern C++ concepts. The course's in-depth coverage of pointers and dynamic memory allocation are important for systems level programming. This course's step-by-step teaching and debugging help in the development of robust and reliable software.
Embedded Systems Engineer
Embedded systems engineers work on the software and hardware that makes up embedded systems, such as those in appliances or cars. C++ is a commonly used language in the field, and this course helps build the knowledge needed to develop powerful and efficient embedded systems. The course touches on key concepts, such as object-oriented programming and the standard template library, as well as low-level operations like pointers, which are frequently used in resource-constrained embedded environments. The course's coverage of program development and debugging techniques helps for building reliable embedded systems.
Robotics Engineer
Robotics engineers design, build, and program robots. They use programming languages like C++ for this very purpose, which makes this course quite valuable. This course offers a thorough understanding of C++, from the basics to advanced concepts, including object-oriented programming and the Standard Template Library. The detailed discussion of data structures and algorithms helps a robotics engineer write sophisticated programs that handle the many complex tasks required of a robot. The instruction in creating programs step-by-step is also beneficial for creating robust software.
Algorithm Developer
Algorithm developers design and implement algorithms for a variety of applications, often using languages like C++. This course may be helpful for an algorithm developer because it covers many aspects of the C++ language as well as algorithmic techniques and data structures. The exposure to the standard template library can be beneficial for building sophisticated algorithms. The programming challenges and practice problems that are part of the course can also help sharpen a candidate's skills.
Operating Systems Developer
Operating systems developers create and maintain the foundational software that manages computer hardware and software resources. They often work with low-level programming languages, and C++ is a key language in this field. This course may be useful, as it teaches C++ from the ground up. The in-depth coverage of pointers, memory management, and system-level programming makes this a pertinent course for any person seeking to work on operating systems. The course provides practical experience with program development and debugging.
High Frequency Trading Developer
High frequency trading developers create the software used by trading firms to execute trades at very high speeds. This role requires efficient and performant programming skills, often using C++ for its speed capabilities. This course may be useful, as it teaches not only the basics of C++ but the more advanced concepts like templates, the standard template library, and object-oriented programming. The course helps build a foundation in programming that can be further built upon for this specialized field. Experience in writing efficient and robust code is essential for success as a high frequency trading developer.
Compiler Developer
Compiler developers work on creating the tools that translate human-readable code into machine code. These developers often are required to have a strong background in computer science and to be well-versed in programming languages, particularly C/C++. This 'Mastering C++ Programming' course may be useful, as it offers a comprehensive understanding of C++ from the basics to advanced topics like templates and the STL. The course's emphasis on programming techniques and debugging can aid those working on the development of tools for computer languages.
Quantitative Analyst
Quantitative Analysts, or quants, develop mathematical and statistical models for financial markets and they need strong programming skills, often utilizing C++ for its performance. This course may help someone become a quant, as it provides a solid understanding of C++ principles. The course's coverage of programming challenges and algorithmic thinking can be useful for someone who will be using code in modeling. The focus on data structures and the Standard Template Library can also be relevant, which can help in building complex analytical tools.
Database Programmer
Database programmers design, implement, and maintain database systems, often using languages such as C++ for performance-critical operations. This course may be helpful, as it offers a thorough understanding of C++ with a focus on object-oriented principles and the Standard Template Library. The knowledge of the C++ language and how it handles data can be applied to database systems. The course's focus on practical problems and debugging will be useful preparing a database programmer.
Graphics Programmer
Graphics programmers are responsible for creating the visual elements of computer applications. This includes the development of rendering engines and special effects. This often requires a strong understanding of advanced programming concepts, and C++ is a key language used for graphics rendering. The course’s detailed instruction in object-oriented programming, the standard template library, and efficient data structures and algorithms may be useful for creating high-performance graphics systems.
Software Architect
Software architects oversee the design and development of software systems. While this role typically requires years of experience as a programmer, this course can be helpful as a way to strengthen the skills needed to become an architect. A software architect must be well versed in understanding programming languages and how they work together, and this course can help someone learn about C++. The course's deep dive into object-oriented programming and system-level considerations may be useful for an architect who needs to understand the technical details of a system being designed.
Data Structures Engineer
Data structures engineers design and implement the ways that data is organized and stored in order to allow programs to run efficiently. Such roles use C++ because of its performance and control over the underlying system. While this course does not focus specifically on different data structures, the course may be useful. The course includes templates, the Standard Template Library, and object-oriented programming , which are important for implementing the various data structures used in this role. The programming practice may also be useful.
Application Developer
Application developers create software that runs on computers and other devices. While this role does not always need to use C++, this course may be useful, as many different applications, from games to operating systems, are written in this language. This is a general-purpose programming course that teaches many different aspects of the C++ language. The course offers a foundation in programming that may be valuable for application development that uses that language. The debugging and program development techniques can be applied broadly.

Reading list

We've selected two 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 Mastering C++ Programming - From Zero to Hero.
C++ Primer comprehensive guide to C++ programming, covering everything from basic syntax to advanced topics. It is widely used as a textbook in universities and by industry professionals. provides a solid foundation for understanding the concepts taught in this course. It is particularly helpful for understanding the nuances of modern C++ (C++11 and beyond).
Focuses on modern C++ (C++11/14/17) and provides practical advice on how to write effective and efficient C++ code. It valuable resource for understanding the nuances of modern C++ and avoiding common pitfalls. This book is best used as additional reading to expand on the course material.

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