Mastering 4 critical SKILLS using C++ 17
- 4.9
Brief Introduction
Programming, Problem Solving, Project Building and Design Skills. 7X other courses homework & practice + 6 projects.Description
Welcome to one of the unique programming Bootcamp experiences you will ever get.
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 plus 6 projects:
Special Teaching style: iterative, easy, and short
This is an English Course only.
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
In progress: Adding some other topics
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
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.
Special Teaching style
In this course, I teach several concepts in 2 rounds
Early in the course, only the mandatory concepts/syntax are explained
Then you practice a lot to master them!
Later at an appropriate time, you will learn the remaining details
Short and to the point
In a few minutes, I cover clearly what many others need 2-3 times to explain
By the end of the journey
Solid understanding of programming concepts and its C++ syntax
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.
What are the common complaints from programming courses?
Limited topics coverage.
Outdated syntax.
Unnecessary long videos with repetitions.
Too much time to explain basic concepts.
A sudden jump in the level. I can't cope with the content.
Assumptions of previous knowledge to understand some of the concepts.
Building over concepts that were not mastered through practice or homework.
The same examples are used over and over.
Several consecutive lectures without practice or homework to master the concepts.
Awesome knowledge, almost zero skills.
Very little practice or homework.
Good homework in the first half and very weak in the remaining.
Many homework without solutions.
Only one project.
Small-size project.
Long but tedious project.
The project doesn't help enforce the concepts.
Project source code is not provided. I needed to compare and learn.
Moving to Datastructures or Algorithms course was not easy. Weak problem-solving skills.
After the course, I am still stuck and can't do even simple projects. Weak project-building skills.
The course taught OOP syntax and concepts nicely, but OOD skills are not built. Weak design-skills.
And more!
In this course, not only the content and skills are unique and added value, but also the whole experience to avoid as possible the above concerns and much more! Even if you attended a C++ course, my material will be an added value, especially its homework and projects.
Don't miss such a unique learning experience!
Requirements
- Requirements
- Passion with building things!
- Passion with problem solving!
- Access to a computer.