- 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
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
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!