This roadmap was created for the Embedded Systems committee in IEEE Mansoura Computer Society Chapter by Mahmoud Essam Mahfouz, head of the committee. I hope you get the most benefit from it.
The main goal for this road map is to prepare committee members to be able to work as Embedded Software Engineer either in a company or as a freelancer
- Beginner : Introduction to Embedded Systems & C Language
- Intermediate: Data Structure & Embedded C
- Advanced: Interfacing
- Learning concepts related to basics of embedded systems
- Learning concepts related to basics of programming, such as: compiler, IDE, packages, libraries
- Learning about the compilation process
- Learning C programming language Syntax
- Solving many programming problems using C language
- Week1: Introduction to Embedded Systems - Part1
- Week2: Introduction to Embedded Systems - Part2
- Second Offline Meeting
- Week3: C Basics
- Week4: Conditional & Loop Statements
- Week5: Mini Project 1
- Week6: Functions
- Week7: Arrays
- Week8: Mini Project 2
- Week9: Strings
- Week10: Pointers
- Week11: User-Defined Data Types
- Having a good background about Data structures
- Learning about Stack, Queue and Linked list
- Being able to customize and implement a new data structure
- Learning how to use C in Embedded (Embedded C)
- Week14: Stack Array Based
- Week15: Linked List & Queue
- Week16: Data Structure Project
- Week17: Embedded C - Part1
- Week18: Embedded C - Part2
- Studying Atmega32(AVR) and PIC microcontrollers and writing drivers for them
- Learning about Interrupts and how do they work ?
- Writing Driver for GPIO and LCD
- Learning communication protocols (USART, SPI, I2C)