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.
In MyTimetable, you can find all course and programme schedules, allowing you to create your personal timetable. Activities for which you have enrolled via MyStudyMap will automatically appear in your timetable.
Additionally, you can easily link MyTimetable to a calendar app on your phone, and schedule changes will be automatically updated in your calendar. You can also choose to receive email notifications about schedule changes. You can enable notifications in Settings after logging in.
Questions? Watch the video, read the instructions, or contact the ISSC helpdesk.
Note: Joint Degree students from Leiden/Delft need to combine information from both the Leiden and Delft MyTimetables to see a complete schedule. This video explains how to do it.
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
As a student, you are responsible for enrolling on time through MyStudyMap.
In this short video, you can see step-by-step how to enrol for courses in MyStudyMap.
Extensive information about the operation of MyStudyMap can be found here.
There are two enrolment periods per year:
Enrolment for the fall opens in July
Enrolment for the spring opens in December
See this page for more information about deadlines and enrolling for courses and exams.
Note:
It is mandatory to enrol for all activities of a course that you are going to follow.
Your enrolment is only complete when you submit your course planning in the ‘Ready for enrolment’ tab by clicking ‘Send’.
Not being enrolled for an exam/resit means that you are not allowed to participate in the exam/resit.
Course-specific information:
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!
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.
Software
Starting from the 2024/2025 academic year, the Faculty of Science will use the software distribution platform Academic Software. Through this platform, you can access the software needed for specific courses in your studies. For some software, your laptop must meet certain system requirements, which will be specified with the software. It is important to install the software before the start of the course. More information about the laptop requirements can be found on the student website.