Project for TCS students:
- Understand the major mechanisms of current general-purpose operating systems exemplified by Linux.
- Appreciate the design space and trade-offs involved in implementing an operating system.
- Be capable of basic system-oriented programming and providing simple extensions to an operating system.
- Understand the exploitation of vulnerabilities and privilege escalation
- Integrate the knowledge and skills that are taught in the CAO and OS parts.
The module Computer Systems is part of the second year of both the EE- and TCS- bachelor program. It addresses the basics of computer systems (organization and architecture) and offers a specialization into digital hardware design for EE bachelors and operating systems for TCS bachelors. In the project for TCS students, which is mainly dealt with in the last two weeks of the module, TCS students cooperate to design and realize a system integrating all subjects of the first 8 weeks. Within the TCS curriculum, the following topics are included as Cross Cutting Concerns: academic skills, system development, concurrency, and security. All these topics are covered within the module Computer Systems as well. Besides that, 1 EC is reserved for the subject “ICT and Law".
Operating Systems (OS)
An operating system is a resource manager; it basically ensures that all users get their fair share of the resources. The focus is on generic operating system concepts with illustrative examples from Linux wherever appropriate. Topics covered include the structure of the operating system, processes and threads, concurrency, deadlock and starvation, memory management, I/O management and file systems, access control, threats, protection and security. Students will be using mainly Rust and C, and some Java or Python.
In the Module CS project, students learn various techniques from different disciplines that are needed to design, implement and test a (prototype of) a combined hardware-software system. To be able to design, implement and test a combined hardware-software system, knowledge and skills concerning Computer Architecture and Organization (CAO), Operating Systems (OS), and basic mathematics are necessary.
Assumed previous knowledge
|(additional) requirement(s) for minor students: Maths A level or equivalent and basic programming skills|
|Bachelor Technical Computer Science||Required materials|
|All: Computer Architecture and Organization; An Integrated Approach; Miles J. Murdocca and Vincent P. Heuring;
|EE: Calculus, a complete course, Robert A Adams, 8th Edition, ISBN: 9780321781079|
|TCS: Discrete and Combinatorial Mathematics and its Applications” (5e druk) van Ralph P. Grimaldi ISBN 0-321-21103-0 (paperback), 0-201-72634-3 (hardcover).|
|Provided by the university for free:
- Breadboard (small),
- Breadboard Jumper kit (pins on one side, sockets on the other side),
- Led 5mm,
- LDR (light dependent resistor),
- Resistor 330 ohms through hole,
- Resistor 1Kohms,
- Capacitor 10uF
- Raspberry Pi model 4- Pi Housing
- Power supply with USB type C cable
- Ethernet cable
- MicroSD card 32 GB
- Micro HDMI to HDMI adapter|
|- Laptop computer with Ethernet jack and SD card reader (Windows, Linux or MacOS is fine, USB SD card readers or USB Ethernet adapters are fine as well). A tablet computer (IPad, Android) or a desktop machine is not recommended.|Recommended materials-Instructional modes
|Self study with assistance|
|Self study without assistance|