One of the most growing modern electronic technologies is embedded systems based on micro-controllers.

This track will explore the main elements of this field including programming, architecture, design, real time constraints and many more topics!


Learning C programming language basics for beginner level.


Getting more advanced topics in C language that are more suitable for programming the embedded systems.

Learning the internal peripherals of a micro-controller and how to use it to control different hardware devices.



Enhance your software engineering skills by understanding and applying different methodologies used at the real work.

There is no bug-free software! Learn how to test your code against your requirements and gain a huge experience on different kinds of testing techniques.

Linux is getting a huge acceptance nowadays in the embedded industry and one of the main components for many existing products now. Learn the basic knowledge of this huge world.

Writing code is not just some lines of code, but a Layered Architecture divided into modules and layers to help create more stable, maintainable code.


Gain both theoretical and on-hands experience with OS different components with an intro to RTOS concepts and sing FreeRTOS.