Mastering 4 critical SKILLS using C++ 17


Updated on

Course overview

Course type
Paid course
All Levels
34 hours
372 lessons
Available on completion
Course author
Dr. Moustafa Saad Ibrahim
  • Deep Dive with C++ 11/14/17 Modern Syntax from basic to advanced
  • ~170 problems from easy to medium to hard to gain level-1 problem-solving skills
  • 6 Projects from easy to hard with their solutions for projects-building skills
  • MANY Quizzes to master the concepts
  • FOUR critical skills to master not just one
  • A proven curriculum: Many of my thousands students highly recommend it
  • Short lectures, to the point, comprehensive and easy to get in an iterative style
  • Learn from PhD holder in AI: Teaching, Training & Coaching for many years


170 problems to enhance problem-solving skills. 6 projects for Project Building and Design Skills. High-quality quizzes

Almost all other courses focus on knowledge. In this course, we focus on 4 critical skills.


  • The course covers basic to advanced modern C++ syntax. Beginners in C++ will learn a lot!

  • The course helps you master the 4 most important skills for a programmer

    • Programming skills

    • Problem-solving skills: rarely covered by other courses

    • Project building skills: partially covered by other courses

    • Design skills: rarely covered by other courses

  • 7+ times practice & homework compare to other courses + 6 projects

  • Special Teaching style: iterative, easy, and short

  • This is an English Course only.  1/3 Course now has Manual English subtitles. Remaining under-progress.


  • Basic to advanced modern C++.

    • Fundamentals: Variables, Loops, Control Flow, Functions, Recursive Functions, Arrays

    • Advanced Topics: Pointers, STL, Templates, Headers, and Includes, Exception Handling, Compilation Process, Debugging

    • Object-Oriented Programming (OOP): Classes, Objects, Inheritance, Polymorphism, Operator Overloading

    • Modern Topics in C++11/C++14/C++17:

      • Move Semantics, Perfect Forwarding, Variadic Template, Folding expressions, Smart Pointers, Lambda Expressions, Wrappers (Optional, Variant, Any), Uniform initialization, noexcept, Structured Binding, Nested namespaces, misc.

      • OOP: Member initializer, Defaulted and Deleted Functions, Delegating constructors, Inheriting Constructors

      • STL: Forward list, Initializer list, Array, Unordered containers

    • Design: Several principles and patterns are embedded in the homework & projects

  • A huge set of Quizzes, Practice, Homework, and Projects

    • 2 styles of homework: Algorithmic (problem-solving) and applications

    • Several software design concerns are embedded in the homework.

    • So you are getting introduced to Software Engineering & Design Patterns

    • Several quizzes to master the concepts

  • Clarification: The core intentions of this course to provide very strong introduction to C++. Specifically up to the 6th project. After the last project, the course introduces some further modern C++ syntax (no quizzes/homework in this part). If you are new to C++, there is no course that competes with this one. But, if you are expert or target working with C++ in the market, you will need to good deeper after this course. A useful reference is "C++17 - The Complete Guide" book. Not that, this course provides some C++17 coverage but not all of it. However, the course provides pretty good coverage for C++11/14. Please consider the table of content if you are not new to C++ to satisfy your expectations.

Building Skills: Practice, Homework, and Projects

  • One unique feature in this course is my education strategy:

    • Explain, Administrate & Challenge

  • Each video smoothly explains a simple concept(s)

  • Typically followed by easy to medium practice to administrate the concept

  • Then typically followed by an easy-medium-hard set of homework questions to challenge you

  • Extensive homework from easy to medium to hard to help to build the skills.

  • Most of the practice/homework questions are unique in this course

    • Programming questions are mainly from my competitive programming experience

    • OOP questions are mostly invented to achieve several goals:

      • Mastering the OOP concepts

      • Enforcing a lot of design heuristics & OOD

      • Preparing you for design principles and patterns

  • Small-to-large set of projects to build up project building and design skills

  • Solutions to all of them.

By the end of the journey

  • Solid understanding of programming concepts using C++

  • Mastering the target 4 skills

  • With the administered problem-solving skills

    • You can start competitive programming smoothly in Div2-A/B Codeforces

    • Smooth start in Data Structure course

    • Smooth start in Algorithms course

  • With the administered project-building and design skills

    • Smooth start in Software Engineering course

    • Later, smooth start in one of the technology tracks in frontend or backend

  • More career options such as games or embedded development.

Don't miss such a unique learning experience!

Similar courses

Beginning C++ Programming - From Beginner to Beyond
  • 46 hours
  • 305 lessons
  • Certificate
C++: From Beginner to Expert
  • 18 hours
  • 95 lessons
  • Certificate
Mastering 4 critical SKILLS using C++ 17
  • English language

  • Recommended provider

  • Certificate available