The following are the topics that will be covered in Part I of this course. The way the course is structured is geared toward C concepts more so than C++ concepts. This is due to the fact that when working with microcontrollers, more of the lower-level programming aspects become important. However; the examples are provided and compiled as C++.
If we were teaching C++ for desktop applications, the structure and flow of a C++ course would be different, especially with Modern C++
These topics are not of equal weight. For example, the topic of classes in C++ is a large anc complex topic and computing concept, it is a course on its own. It will not be covered in detail; however, knowledge of basic class structures is important when working with the Arduino framework for instance, where most of the libraries available use OOP (object-oriented programming).
While it is possible to introduce independent concepts sequentially that build on one another, soon the concepts become inter-related when building a complete program, which requires that you have a good understanding of all the fundamentals to comprehend the full picture. So try to have a long deep session reviews all fundamentals lessons, then go back and forth between the concepts that are unclear and try to practice them.
| Part I L1 | C and C++
| Part I L2 | File and Program Structure
| Part I L3 | Data Types
| Part I L4 | Variables
| Part I L5 | Arrays
| Part I L6 | Type Qualifiers and Storage Specifiers
| Part I L7 | Operations
| Part I L8 | Control Structures
| Part I L9 | Functions
| Part I L10 | Pointers and References
| Part I L11 | Structs
| Part I L12 | Classes
| Part I L13 | Strings
| Part I L14 | Preprocessor Directives
| Part I L15 | Standard Library
| Part I L16 | C/C++ Process Flow
| Part I L17 | Debugging