Computer Architecture and System Software
This website is the source of all information regarding the exercise sessions of the Computer Architecture and System Software course.
We are trying a new approach this year by providing the exercise sessions in the format of web pages, please don’t hesitate to give us feedback on this! If you find mistakes or errors, just reach out to us. You are also most welcome to create Pull Requests: The source code of the Website that you see is visible 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!
Exercises
There are 9 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 of asking questions from 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 9 sessions will have the following contents:
Week | Session name |
---|---|
Feb 21 | C & assembly basics |
Feb 28 | Advanced C & assembly |
Mar 7 | Functions and the stack |
Mar 14 | Dynamic memory |
Mar 28 | Operating systems |
Apr 25 | Large exercise: linked lists |
May 2 | Caches |
May 9 | Microarchitecture |
May 16 | Recap and Q&A |
YouTube videos
There are videos available from last year, where the theory of each session is explained. These videos might help with 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.
You can find all videos on Youtube. Note, that we changed the exercises slightly to make the introduction to C and assembly easier, so there are already differences to last year. For example, some exercises and their solutions that are presented on the Youtube channel are shuffled around or are different this year. 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 liked 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 on the resources below is indeed correct, we just quickly checked that they look good to give you options when studying for the course.