Structuur en organisatie van computersystemen

This website is the source of all information regarding the exercise sessions of the ‘Structuur en organisatie van computersystemen’ course (SOCS).

For the past few years, we’ve been delivering the exercise sessions as web pages for a similar course. This is the first year we will do it for SOCS. So far the feedback has been positive, but please reach out to us if you disagree or if you think we could make the course better. If you find mistakes or errors, just reach out to us on Toledo, in person, or through email. You are also most welcome to create pull requests: The source code of this website is available on GitHub. Both in the GitHub repository as well as on this website, you may be able to find some pages that are hidden from the menu and that are not unlocked yet (such as future sessions or solutions). You are free to look at these pages, but please be aware that we will be actively working on each session up until the Monday of the session’s week - so be careful when roaming around as the pages may not be final yet!

Tests

There will be 2 tests during the semester. The difficulty will not be greater than the more difficult exercises from the exercise sessions. An example test will be made available. These tests will take place on a computer.

Test Date
Test 1 (50%) Nov 6
Test 2 (50%) Dec 18

Both tests contribute equally to your grade. The first test covers exercise sessions 1-6, the second test covers sessions 7 and 8. More details about these tests will be provided in the recap sessions (sessions 6 and 11).

Exercises

There are 11 exercise sessions in total. The material available on this website contains both the theory, the exercises, and the solutions. The solutions are hidden until the end of each week.

Please bring your laptops to the exercise sessions. You can work at your own pace, and don’t be afraid to ask questions to the teaching assistant. If you don’t have time to finish the exercises, it is recommended to finish them before starting the next session.

Even if the solutions are already visible, it is strongly recommended to first write the solutions on your own (even using external resources, if you understand them) before you look at the provided solutions.

The 11 sessions will have the following contents:

Week Session name
Sep 30 Introduction to C
Okt 7 Assembly basics
Okt 14 Advanced C & assembly
Okt 21 Functions and the stack
Okt 28 Dynamic memory
Nov 4 Recap session 1
Nov 11 Linked Lists
Nov 18 Operating Systems
Nov 25 Caches
Dec 2 Performance and Microarchitecture
Dec 9 Recap session 2

YouTube videos

There are videos available from 2020 on Youtube, where the theory of each session is explained. These videos might aid in understanding the concepts, but watching them is not required, and they do not substitute working through the material yourself, as there might be new content included this year. Note that we changed the exercises slightly to make the introduction to C and assembly easier, so there are already differences compared to the Youtube videos. Nonetheless, the videos can be a good addition if you prefer the video style to a website.

Other useful resources

There are lots of other alternative resources out there that teach you the same concepts as this course does. If you find a resource that you like exceptionally well, why not reach out to us or create a pull request for the website so that we can expand the list below? Just be aware that we can’t verify that 100% of the information from the resources below is indeed correct, we just quickly checked that they look good to give you options when studying for the course.