Here, you will find all the core topics and some suggested courses for those topics .
Notice that any roadmap is not sacred. You may find better alternatives to the suggested courses from your perspective. However, this roadmap contains all the core topic and you should go through all of them. So let's start
Topics covered:
what is C formatted input/output conditions and loops data types functions arrays pointers strings structures unions and enums
Courses:
-
Neso Academy ( recommended && Free course )
-
OR Microcontroller Embedded C Programming: Absolute Beginners | Udemy (great course but paid)
Note : Beside these matierial, it is recommended to read the chapter(s) of each topic from C Programming: A Modern Approach by K N King
Here, we will learn more about pointers & thier core techniques for memory management.
Courses:
-
Neso Academy: C programming (15 - 30).
-
Understanding and Using C Pointers: Core Techniques for Memory Management by Richard M. Reese
First,what is the difference between Git and GitHub? - see this
You can learn about them from these resources:
-
Git and GitHub | شخبط وانت متطمن
The most common commands in git. -
Then, a large-scale project covering all studied topics.
There are some suggested C projects.
Here, we will learn the basic data structures stacks, queues, lists, trees and how to impelement them in C.
Course:
Algorithms are the heart of computer science, and the subject has countless practical applications as well as intellectual depth.
Here, we will learn about asymptotic analysis Divide-and-conquer basics Searching techniques Sorting techniques
Courses:
Note : before this level you should have a good knowledge with digital design and basics knowledge about electronics.
We will learn about Processor Internal Structure
Processor Execution Steps(Fetch, Decode, Execute)
Mcu Memory Types
(OS vs Bare Metal, Van Neumann vs Harvard, CISC vs RISC)
MCU Clocks(Clock Source).
Here, we will learn about DIO Interuppt ADC Timers Communication Protocols
Courses:
- NTI Course
- FWD Professional Track
- AVR - YouTube Course
- The main reference during this stage should be from DataSheets.
- You can also check
- AVR MAZIDI Book starting from chapter 7.
- An Embedded Software Primer (Chapters 1-4, 9, 10).
- Embedded Systems Programming on ARM Cortex-M3/M4 Processor
- Definitive Guide to ARM Cortex (Chapters 1, 4-7)
-
Understanding and Using C Pointers: Core Techniques for Memory Management by Richard M. Reese
-
An Embedded Software Primer(Chapters 1-4,9,101)
-
Definitive Guide to ARM Cortex (Chapters 1, 4-7)




