| Week | Lecture | Tutorial | Lab |
|
| 1 | Basics of Computer Architecture | Data Representation | Intro to Linux, Intro to MIPS and MARS |
| 2 | Instruction Set Design | How to Design an ALU | MIPS Data Representation |
| 3 | Addressing Modes, Control Logic | An Example Hardwired CPU | MIPS Syscalls, Branches, Addressing Modes |
| 4 | Execution Flow, Branches, Function Calls | An Example Microcoded CPU | Calling Functions, The Stack, Data Structures |
| 5 | User and Kernel Mode, System Calls, I/O, Exceptions | | MIPS Exceptions and Exception Handlers |
| 6 | CPU Memory Management, Context Switching | | Interrupt Handlers and Context Switching |
| 7 | Introduction to Operating Systems | | Mid-term Exam |
| 8 | Processes | | Processes: Concepts, Syscalls, Management |
| 9 | Memory Management | | Memory Management System Calls |
| 10 | Virtual Memory, Disks | | Virtual Memory Management on Linux |
| 11 | File Systems and their Performance | | File Systems and File System Calls |
| 12 | Synchronisation and Threads | | Threads, Processes and Synchronisation |
| 13 | Revision |