Embedded systems are used in various applications, ranging from cars and refrigerators to home automation and biomedical devices. In fact, most of the silicon is produced to power these systems rather than for computers, tablets, or phones.
To develop software for microcontrollers, one must possess a strong competence on programming in C/C++ languages, as well as requirements management and validation. These environments have limited resources, with typically only a few kilobytes or megabytes of RAM or flash memory available. Therefore, it’s important to use the best programming techniques to ensure maximum performance, cybersecurity, and safety.
This academic path will equip you with the skills and knowledge necessary to become a professional developer specialized in embedded software engineering. As an embedded software engineer, you will have the ability to design, architect, and implement industrial-strength software for control systems. Specifically, you will be able to:
- Analyze and refine system/software requirements
- Develop driver algorithms in C/C++
- Integrate and test the code in the final embedded systems
You have a passion for control systems and/or embedded software. You enjoy the challenge of developing operation code that runs on an ECU (Electronic Control Unit) and you are particularly interested in industries such as automotive, transportation, or biomedical.
Anyone can participate in this training path. Prior experience (even academic) in C/C++ programming is welcome.
In this training path, the planned modules will cover the following topics:
- Software development life cycle
- System and software requirements management
- Automotive Spice
- Fundamentals of C/C++ Language and principles of embedded systems development