0133: Calendar

Detailed Class Calendar

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 research papers. They are designed under the assumption that students have already read the assigned papers. If you do not read the papers that appear 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 are examinable.

Monday Wednesday Friday

1st Oct

Course Introduction

Lecture Notes:
Class Intro

3rd Oct

No lecture today!

5th Oct

8th Oct

No lecture today!

10th Oct

No lecture today!

12th Oct

Design: Worse Is Better;
OS Concepts;
Concurrent I/O

Reading: Worse Is Better

Lecture Notes:
OS Intro
I/O Concurrency

15th Oct

NFS

Reading: NFS Case Study (accessible only through UCL IS account)

Reading: Design and Implementation of the Sun Network Filesystem

Lecture Notes:
NFS

17th Oct

RPC and Transparency

Lecture Notes:
RPC and Transparency

19th Oct

Ivy: Distributed Shared Memory;
Programming Coursework Background

Reading: Ivy

Coursework Background Reading:
Mark Handley's Intro to C for Java Programmers

Coursework 1 Out:
Programming a Distributed Tickertape

due 11:05 AM, 12th November 2018

Lecture Notes:
Ivy and DSM

22nd Oct

Two-Phase Commit

Lecture Notes:
Two-Phase Commit

24th Oct

Paxos

Reading: Paxos

Lecture Notes:
Paxos

26th Oct

Bayou: Weak Connectivity and Update Conflicts

Reading: Bayou

Lecture Notes:
Bayou

29th Oct

GFS: The Google File System

Reading: GFS

Lecture Notes:
GFS

31st Oct

Busy Servers: Receive Livelock

Reading: Eliminating Receive Livelock

Lecture Notes:
Eliminating Receive Livelock

2nd Nov

5th Nov

Reading week; no lecture today!

7th Nov

Reading week; no lecture today!

9th Nov

12th Nov

Introduction to Security;
User Authentication

Lecture Notes:
Introduction to Security

Coursework 1 Due, 11:05 AM
(via GitHub)

14th Nov

Cryptographic Primitives I

Lecture Notes:
Cryptographic Primitives I

16th Nov

19th Nov

Cryptographic Primitives II

Lecture Notes:
Cryptographic Primitives II

The Kerberos Authentication Service

Reading: Kerberos

Lecture Notes:
Kerberos

21st Nov

No lecture today!

23rd Nov

26th Nov

Kerberos (cont'd)

Coursework 2 Out:
Security Problem Set
due in lecture, 5:05 PM, Friday, 14th December 2018

28th Nov

Secure Sockets Layer/Transport Layer Security (SSL/TLS)

Lecture Notes:
SSL/TLS

30th Nov

Reasoning Formally about Authentication: TAOS

Reading: TAOS

Lecture Notes:
TAOS

3rd Dec

Software Vulnerabilities and Exploits

Reading: Smashing the Stack for Fun and Profit

Reading: Exploiting Format String Vulnerabilities

Reading: Once Upon a free()

Lecture Notes:
Vulnerabilities and Exploits

5th Dec

Preventing Exploits

Reading: TaintCheck

Reading: PaX Overview

Reading: ASLR Overview

Reading: Limits of Address Space Randomization

Lecture Notes:
Preventing Exploits

7th Dec

Containing Buggy Code: Software-based Fault Isolation

Reading: SFI

Lecture Notes:
SFI

10th Dec

OKWS: Approximating Least Privilege in a Real-World Web Server

Reading: OKWS

Lecture Notes:
OKWS and Least Privilege

12th Dec

CPU Speculation vs. Isolation: Meltdown

Reading: Meltdown

Lecture Notes:
Out-of-Order Execution and Meltdown

14th Dec

Coursework 2 Due in lecture: 5:05 PM