What you'll learn
- 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
Requirements
- Passion with building things!
- Passion with problem solving!
- Access to a computer.
Description
Almost all other courses focus on knowledge. In this course, we focus on 4 critical skills.Overall:
- 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.
Content
- 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.
- 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.
Who this course is for:
- Whoever curious about programming
- Learned programming, but has weak skills due to trying little challenges and projects
- Experts in other programming languages migrating to C++