Part I - Fundamentals


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).

How to navigate the course

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.

Lessons

| 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



Main Page