VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.

173-0002-00L 6 Credits NDS D-MAVT

Embedded Systems and Computer Programming

Lecturers & Examiners: PD Dr. Michele Magno
VVZ CR n/a

Last Updated: 2026-06-03 00:14:33

Abstract

An embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is designed for a specific function or for specific functions within a larger system. The course covers theoretical and practical aspects of embedded system design and includes a series of lab sessions.

Objective

- Learning and improving the key bases of C programming for Embedded Systems. - Understanding specific requirements and problems arising in embedded system applications. - Understanding embedded systems architectures and components, hardware-software interfaces, embedded operating systems, real-time scheduling theory, as well as low-power and low-energy design. - Using the formal models and methods in embedded system design in practical applications using the programming language C, the operating system FreeRTOS, a commercial embedded system platform and the associated design environment.

Content

Embedded Systems are today present in the form of a wide range of electronics devices for several application scenarios. Having a deep understanding of Embedded Systems will give the students the skills to design and manufacture different kinds of embedded system devices, including the Internet of Things and smart sensors. This course focuses on learning the bases of embedded systems and the design of embedded systems using formal models and methods from a software point of view. Specifically, the following topics will be covered in the course: basics of C programming for embedded systems, embedded system architectures and components, hardware-software interfaces, embedded operating systems, real-time scheduling, low-power and low-energy design. Besides, this course includes exercise and hand-on laboratory sessions where students learn how to solve theoretical problems and how to program a commercial embedded system platform (i.e., Texas Instruments MSP430 with an ARM cortex-M4F core) with the programming language C and real-time operating system RTOS.

Resources

Lecture Notes

Course material including lecture notes, exercise sheets, and laboratory documentation will be available on canvas.

Literature

- P. Marwedel: Embedded System Design, Springer, ISBN 978- 3-319-85812-8/978- 3-030-60909-2, 2018/2021. - G.C. Buttazzo: Hard Real- Time Computing Systems. Springer Verlag, ISBN 978- 1-4614-0676-1, 2011. - Edward A. Lee and Sanjit A. Seshia: Introduction to Embedded Systems, A Cyber- Physical Systems Approach, Second Edition, MIT Press, ISBN 978- 0-262-53381-2, 2017. - Avelino J. Gonzalez: Computer Programming in C for Beginners, Springer, ISBN 978-3-030-50752-7, 2020.

General Information

Language
English
Levels
NDS
Frequency
Yearly recurring

Examination

Type
graded semester performance

Registration & Places

Priority: Registration for the course unit is only possible for the primary target group

Course Components

Type Title Time & Place Hours
lecture with exercise Embedded Systems and Computer Programming No time listed 180 h semesterly

Offered In