Below follows a day-by-day calendar for the class, including reading assignments, lecture topics, and courseworks. Lecture notes will be posted immediately after each lecture.
Class meetings consist largely of discussions of readings. They are designed under the assumption that students have already read the assigned readings. If you do not read the assigned material that appears on a day of the calendar before that day's lecture, you are likely to have difficulty following the lecture and discussion.
N.B. that all assigned readings and lecture contents are examinable (unless explicitly stated otherwise by the instructor).
Tuesday | Thursday |
9th Jan Class Introduction Lecture Notes: Coursework 1 Out: |
11th Jan x86-64 Assembly: Introduction Reading: CS:APP/3e 3.0 - 3.5 Lecture Notes: |
16th Jan x86-64 Assembly: Control Reading: CS:APP/3e 3.6 Lecture Notes: |
18th Jan x86-64 Assembly: Procedures, Data Reading: CS:APP/3e 3.7 - 3.10 Lecture Notes: Coursework 1 Due, 1:05 PM Coursework 2 Out: |
23rd Jan C Data Types, Pointers, Arithmetic; Undefined Behavior in C Reading: CS:APP/3e 2.1.2 - 2.1.3, 2.1.9, 2.2 - 2.3 Lecture Notes: |
25th Jan Dynamic Memory Allocation in C Reading: CS:APP/3e 9.9, 9.11 Lecture Notes: |
30th Jan The Memory Hierarchy Reading: CS:APP/3e 6.0 - 6.4 Lecture Notes: |
1st Feb CPU Caches Lecture Notes: Coursework 2 Due, 1:05 PM Coursework 3 Out: |
6th Feb CPU Caches (cont'd) Lempel-Ziv-Welch Compression Reading: LZW (Welch, 1984); UCL IS login required Lecture Notes: |
8th Feb Midterm Rubric Virtual Memory I Reading: CS:APP/3e 9.0 - 9.7 Lecture Notes: |
13th Feb Reading week; no lecture today! |
15th Feb Reading week; no lecture today! |
20th Feb Virtual Memory II Lecture Notes: |
22nd Feb Midterm Exam Coursework 3 Due, 1:05 PM Coursework 4 Out: |
27th Feb Linking Reading: CS:APP/3e 7 (whole chapter) Lecture Notes: |
1st Mar Linking (cont'd) |
6th Mar Processes and Exceptions Reading: CS:APP/3e 8.1 - 8.4 Lecture Notes: |
8th Mar Processes and Exceptions (cont'd) Coursework 4 Due TOMORROW, 9th Mar, 6:05 PM Coursework 5 Out: |
13th Mar Processes II: Pipes, Signals, Non-Local Jumps Reading: CS:APP/3e 8.5 - 8.7 Lecture Notes: |
15th Mar System-Level I/O
Reading: CS:APP/3e 10.1 - 10.4, 10.6 - 10.12 Lecture Notes: |
20th Mar Concurrency and Locking in C Reading: CS:APP/3e 12.3 (except 12.3.8), 12.4, 12.5 (except 12.5.5), 12.7 Lecture Notes: |
22nd Mar Concurrency on x86-64; Threads Programming Tips Lecture Notes: Coursework 5 Due TOMORROW, 23rd Mar, 6:05 PM GMT |