The Mastering Embedded Systems Diploma under the supervision of Eng. Keroles Shenouda focuses on embedded C code, writing drivers for MCU peripherals and communication protocols, and other embedded systems topics.
This repository acts as a tracker for my progress throughout the diploma by including all Assignments
, Labs
, Projects
, and other Practice Codes
.
All files are written in ANSI C Standard C89
.
Unit 2: C Programming
- Lesson 1. Introduction to Embedded Systems
- Lesson 2. Git
- Lesson 3. C Basics
- Lesson 4. C Array & String
- Lesson 5. C Functions
- Lesson 6. Structures, Unions, and Enums
- Lesson 7. Pre-processors Directives in C
- Lesson 8. Pointers
Unit 4: System Architecture
- Lesson 1. Data Structures
- Lesson 2. Embedded System Architecture - State Machines
- Lesson 3. Embedded System Architecture - UML & MISRA-C
Unit 6: MCU Fundamentals
- Lesson 1. Fundamentals (1)
- Lesson 2. Fundamentals (2)
- Lesson 3. MCU Clocks
- Lesson 4. MCU Interrupts
Unit 7: MCU Essential Peripherals
- Lesson 1. GPIO (Part 1)
- Lesson 2. GPIO (Part 2)
- Lesson 3. GPIO (Part 3)
- Lesson 4. External Interrupts (EXTI)
Unit 8: MCU Interfacing
- Lesson 1. MCU IO Electrical Characteristics
- Lesson 2. UART
- Lesson 3. UART Controller
- Lesson 4. SPI
- Lesson 5. SPI Controller
- Lesson 6. I2C
- Lesson 7. I2C Controller
Unit 10: Software Engineering
- Lesson 1. Verification and Validation
- Lesson 2. Agile Scrum Methodology
- Lesson 3. Test Case Design Techniques
Unit 11: Second Term Final
- Revision. Online Exams
- Revision. Coding Test Online
- Online Exam with Time Constraints
- Online Interview 1
- Online Interview 2
- 2nd Term Project