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 |
8th Jan Class Introduction Lecture Notes: Coursework 1 Out: |
10th Jan x86-64 Assembly: Introduction Reading: CS:APP/3e 3.0 - 3.5 Lecture Notes: |
15th Jan x86-64 Assembly: Control Reading: CS:APP/3e 3.6 Lecture Notes: |
17th 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: |
22nd 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: |
24th Jan Dynamic Memory Allocation in C Reading: CS:APP/3e 9.9, 9.11 Lecture Notes: |
29th Jan The Memory Hierarchy Reading: CS:APP/3e 6.0 - 6.4 Lecture Notes: |
31st Jan The Memory Hierarchy (cont'd) Coursework 2 Due, 1:05 PM Coursework 3 Out: |
5th Feb Lempel-Ziv-Welch Compression Reading: LZW (Welch, 1984); UCL IS login required Lecture Notes: |
7th Feb CPU Caches Midterm Rubric Lecture Notes: |
12th Feb Reading week; no lecture today! |
14th Feb Reading week; no lecture today! |
19th Feb Virtual Memory I Reading: CS:APP/3e 9.0 - 9.7 Lecture Notes: |
21st Feb Midterm Exam Coursework 3 Due, 1:05 PM Coursework 4 Out: |
26th Feb Virtual Memory II Lecture Notes: |
28th Feb Processes and Exceptions Reading: CS:APP/3e 8.1 - 8.4 Lecture Notes: |
5th Mar Processes and Exceptions (cont'd) |
7th Mar Processes II: Pipes, Signals, Non-Local Jumps Reading: CS:APP/3e 8.5 - 8.7 Lecture Notes: Coursework 4 Due, 5:05 PM TOMORROW, 8th March 2019 Coursework 5 Out: |
12th Mar System-Level I/O
Reading: CS:APP/3e 10.1 - 10.4, 10.6 - 10.12 Lecture Notes: |
14th 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: |
19th Mar Concurrency on x86-64; Threads Programming Tips Lecture Notes: |
21st Mar Concurrency on x86-64; Threads (cont'd) Coursework 5 Due, 5:05 PM TOMORROW, 22nd March 2019 |