- Profs: A. Klimovic, T. Roscoe
- Website: https://systems.ethz.ch/education/courses/2024-autumn-semester/systems-programming-and-computer-architecture-.html
- Moodle: https://moodle-app2.let.ethz.ch/course/view.php?id=26295
- VVZ: https://www.vorlesungen.ethz.ch/Vorlesungsverzeichnis/lerneinheit.view?lerneinheitId=193091&semkez=2025W&ansicht=ALLE&lang=en
- Admin:
- Material:
- Videos:
Lecture Notes
- 01 Introduction to Systems Programming
- 02 C Basics and the Mental Model
- 03 Operators, Arrays, and the C Preprocessor
- 04 Strings, Assertions, and Integer Representation
- 05 Memory Segments and C Pointers
- 06 C Pointers and Memory Management
- 07 Dynamic Memory Allocation - Implementation and Strategies
- 08 Garbage Collection and Software Engineering Principles
- 09 From C to Rust - Safety and Ownership
- 10 X86 Architecture and Machine Level Programming
- 11 Assembly Control Flow and Conditionals
- 12 Procedures and the Stack Frame
- 13 Assembly Layout of C Structures and Unions
- 14 Non-Local Jumps and Coroutines
- 15 Linking
- 16 Security Vulnerabilities and Floating Point Representation
- 17 Floating Point Rounding and Compiler Basics
- 18 Compiler Optimizations and Performance Blockers
- 19 Processor Architecture and Performance Optimization
- 20 Principles of Cache Memory
- 21 Cache Blocking and Exception Mechanics
- 22 Introduction to Virtual Memory
- 23 Advanced Virtual Memory and TLB
- 24 Multiprocessing and Multicore Architecture
- 25 Parallel Software and Synchronization
- 26 System IO and Device Drivers
- 27 Network IO and Course Wrap-up