Studiegids

nl en

Embedded Systems and Software

Vak
2024-2025

Admission requirements

This is a very advanced and specific computer systems course! Thus, it is assumed that the students have taken the Fundamentals of Digital Systems Design, Computer Architectures, Operating Systems, Computer Networks, and Compiler Construction courses at Leiden University or similar courses at other universities.
In addition, the students must be able to program using the C/C++ language, must be familiar and comfortable with using Linux OS, and must be able to work with Linux command terminal.

Description

Embedded Systems are application domain specific information processing systems that are tightly coupled to their environment. They appear in home appliances, copy machines, automotive entertainment systems, medical imaging systems, wireless and portable multimedia terminals, distributed sensor networks, and more.

The course first introduces the notion of and some basic concepts in embedded systems and software. Then it deals with basic methods, techniques, algorithms, and components that are found in embedded systems.

In a second part, the course focuses on methods, techniques, and tools for system-level design, programming and implementation of Embedded Multi-processor Systems-on-Chip (MPSoC). In particular, the DAEDALUS framework for system-level design of MPSoCs will be studied in detail. DAEDALUS features: 1) automated translation of sequential application code to equivalent parallel specification code; 2) automated system-level synthesis of specific MPSoCs; 3) automated mapping of the parallel specification code to the synthesized specific MPSoC; 4) fast implementation/prototyping of the whole MPSoC embedded system on FPGA-based prototyping boards.

In a third part – that is integrated with the second part – the course takes the form of laboratory hands-on sessions in which the DAEDALUS framework is used to design and prototype a relatively simple MPSoC.

It is assumed that the students have taken the Fundamentals of Digital Systems Design, Computer Architectures, Operating Systems, Computer Networks, and Compiler Construction courses at Leiden University or similar courses at other universities!
In addition, the students must be able to program using the C/C++ language, must be familiar and comfortable with using Linux OS, and must be able to work with Linux command terminal!

Course objectives

The Embedded Systems and Software course intends to introduce students to state-of-the-art (yet very advanced and specific) methods, techniques, and tools to design, program, implement, and use embedded systems. This is done through a series of lectures, hands-on sessions, and discussions on relevant journal/conference papers. More specifically, after this course, the students are able to:

  • explain the behavior, properties, and characteristics of Hardware Components used to build modern embedded systems;

  • explain the behavior, properties, and characteristics of Models of Computation used to model and analyze the behavior of embedded systems;

  • apply state-of-the-art methods, techniques, and tools to design, program, implement, and analyze embedded systems;

  • understand, analyze, and evaluate advanced topics on embedded systems design published in scientific papers/journals/books;

  • design, optimize, and analyze a multi-processor embedded system by applying all theoretical knowledge gained in the course with the help of advance academic and commercial design tools.

Timetable

The most recent timetable can be found at the Computer Science (MSc) student website.

You will find the timetables for all courses and degree programmes of Leiden University in the tool MyTimetable (login). Any teaching activities that you have sucessfully registered for in MyStudyMap will automatically be displayed in MyTimeTable. Any timetables that you add manually, will be saved and automatically displayed the next time you sign in.

MyTimetable allows you to integrate your timetable with your calendar apps such as Outlook, Google Calendar, Apple Calendar and other calendar apps on your smartphone. Any timetable changes will be automatically synced with your calendar. If you wish, you can also receive an email notification of the change. You can turn notifications on in ‘Settings’ (after login).

For more information, watch the video or go the the 'help-page' in MyTimetable. Please note: Joint Degree students Leiden/Delft have to merge their two different timetables into one. This video explains how to do this.

Mode of instruction

  • Lectures and mandatory hands-on sessions;

  • Scientific journal/conference paper reading and understanding;

  • Student symposium (student presentations followed by discussions and Q&A).

Course load

Hours of study: 168:00 hrs (= 6 EC)
Lectures: 20:00 hrs
Practical work: 60:00 hrs
Examination: 80:00 hrs
Other: 8:00 hrs

Assessment method

There is no traditional written exam. The final grade is a combination of grades for: (1) presentation and Q&A on a give topic related to the course material (40%) (2) performance during the hands-on sessions (40%) (3) pro-active attitude during lectures and paper discussions (20%)

Reading list

List with selected journal/conference papers and book excerpts will be provided to the students. All this literature could be downloaded from Internet.
Slides will be provided to the students for download.

Registration

Due to the format of the course, at most 30 students can participate each year. It is mandatory to register for this course in advance; only enrolment for the lectures (in uSis/MyStudyMap) will count. In case more than 30 students register for the course, we determine who can be admitted to the course as follows:

  • Given that the course is mandatory for the Advanced Computing and Systems (ACS) track, ACS students are admitted first. A place is guaranteed for ACS students, also if this number is higher than 30;

  • To allocate students who follow other programs/tracks to the remaining places, a ranking will be used. This ranking is based on three components: (1) a half-page A4 written motivation for taking this course, (2) a list of relevant courses taken - see the "Admission requirements" above for some assumed courses previously taken, and (3) a short conversation (Q&A) with the lecturer.
    NOTE: Students who are not enrolled for the ACS track must send (1) and (2) to the lecturer before the start of the course!

From the academic year 2022-2023 on every student has to register for courses with the new enrollment tool MyStudyMap. There are two registration periods per year: registration for the fall semester opens in July and registration for the spring semester opens in December. Please see this page for more information.

Please note that it is compulsory to both preregister and confirm your participation for every exam and retake. Not being registered for a course means that you are not allowed to participate in the final exam of the course. Confirming your exam participation is possible until ten days before the exam.

Extensive FAQ's on MyStudymap can be found here.

Contact

Lecturer: dr. Todor Stefanov
Website: Embedded Systems and Software

Remarks

Note that due to the format of the course, there is a limit on the number of participants: at most 30 students can participate in this course. Therefore, it is mandatory to register in advance -- see also the section "Registration" above.