Computer Systems
6 EC
Semester 1, periode 1
5082COSY6Y
| Eigenaar | Bachelor Kunstmatige Intelligentie |
| Coördinator | dr. Kostas Papagiannopoulos |
| Onderdeel van | |
| Links | Zichtbare leerlijnen |
Computer systems form the backbone of science, education and society in general. They power our digital infrastructure, help us transmit and secure our communications and enhance our ability to analyze data and perform inference.
As a result, building efficient computer systems and applications is essential for sustainability and progress. This course performs an in-depth exploration of how computing systems are built and how they operate, highlighting the impact these decisions have on how such systems are and should be programmed. Lectures commence from basic data representations, introduce low-level programming and finally delve into the processor architecture and memory hierarchies, while keeping performance and optimization as focal points.
For the lectures and lab assignments:
R.E. Bryant and D. O'Hallaron Computer Systems - A Programmer's Perspective, 3rd International edition; Prentice Hall, 2015.
Note that the book teaches datatypes and x86 assembly while often linking them to the C language. We are gradually trying to make the course less dependent on C. Thus we encourage you to prioritize in your reading the datatypes and assembly instructions and less their exact C translation.
For the digital methods:
Ben Bruidegom, Van 0 en 1 tot pipeline processor
your laptop
With the transition to the new curriculum of the BSc in Artificial Intelligence, the Computer Systemen course is removed from the curriculum.
-It has been decided to provide students with a final opportunity to complete the course in the academic year 2025/26. This will take the form of a final resit exam (also called "veegtentamen").
-The veegtentamen will take place during the same teaching period in which the course was previously scheduled. For the course Computersystemen, this is period 1.
-Students have the right to a retake exam. This retake exam will be organized approximately two months after the exam (similar to normal retakes).
- You can find all the required slides, literature and material on Canvas. The available Canvas quizzes are very similar to exam questions
-To best prepare for the exam make sure to read the slides, do the practice quizzes and study the related book chapters.
-To prepare for questions on arithmetic/datatypes, read the slides and related material on Canvas and utilize the Python notebooks. You can expand more by reading Chapter 2 from the "Computer Systems A Programmer’s Perspective" book
-To prepare for x86 coding, read Chapter 3.1 until 3.8 from the "Computer Systems A Programmer’s Perspective" book. You can also practice with the sasm tool.
-To prepare for memory/cache exercises, read Chapter 6 and Chapter 9.1 until 9.6 from the from the "Computer Systems A Programmer’s Perspective" book
-To prepare for code optimization exercises, read the slides and related Canvas material
-To prepare for the Digital Methods exercises, read the related Chapters from the "Van 0 en 1 tot pipelined processor" book and the related Canvas material
In previous years, the majority of participants indicated that they spent a total of between 17 and 24 hours per week on this course.
Aanwezigheidseisen opleiding (OER-B Artikel B-4.10):
| Onderdeel en weging | Details |
|
Eindcijfer | |
|
1 (100%) Tentamen digitaal |
Dit vak hanteert de algemene 'Fraude- en plagiaatregeling' van de UvA. Hier wordt nauwkeurig op gecontroleerd. Bij verdenking van fraude of plagiaat wordt de examencommissie van de opleiding ingeschakeld. Zie de Fraude- en plagiaatregeling van de UvA: http://student.uva.nl
Communication channels: