Schedule and lecture slides


Fall 2024 schedule

Warning: this planning may be modified during the semester. Check it regularly.
Please also check ADE for precise slots and room numbers.
(Please contact the teaching staff if you notice any inconsistency between this page and ADE.)


Training week sessions about system programming:


Regular schedule

Week number Lecture (3 hours)
[usually on Tuesdays 1:30-4:45 pm]
Lab session (3 hours)
[usually on Thursdays 8:00-11:15 am]
37
(Sept. 9-13)
Administrivia
and
Lecture 1: Introduction
Lab 1:
About memory and some useful tools [pdf, provided code, answers]
38
(Sept. 16-20)
Lecture 2: Memory management Lab 2:
Memory allocator
39
(Sept. 23-27)
Lecture 3: The memory hierarchy
and
Lecture 5: Virtual Memory - Part 1
Lab 2 (continued)
40
(Sept. 30 - Oct. 4)
Lecture 6: Virtual Memory - Part 2 Lab 2 (continued)
41
(Oct. 7-11)
Lecture 4: Threads
and
Lecture 11: Thread synchronization (The primitives)
Lab 3: Threads
42
(Oct. 14-18)
1st midterm
and
Lecture 11 continued
Lab 4: Synchronizing Threads
43
(Oct. 21-25)
Lecture 11: Exercises
and
Lecture 12: Thread synchronization (Implementation)
and
Lecture 12: Exercises
Lab 5: Synchronizing Threads
44
(Oct. 28 - Nov 1)
Vacation (no class) Vacation (no class)
45
(Nov. 4-8)
Lecture 13: Thread synchronization (Advanced topics)
and
Lecture 14: CPU scheduling
Lab 6: A multi-threaded server
46
(Nov. 11-15)
2nd midterm
and
Lecture 14 continued
Lab 6 (continued)
47
(Nov. 18-22)
Lecture 15: I/O management, HDDs, and SSDs
and
Lecture 16: File systems
Lab 6 (continued)
48
(Nov. 25-29)
Preparing for the final exam

Final exam: Week 49 or 50 (Dec. 2-13 — TO BE CONFIRMED)