Schedule
Week 0 |
||||
:( | Thu, Jan 18 | No Recitation | ||
Week 1 |
||||
L00 | Mon, Jan 22 |
Introduction & C++ intro
[ pdf
]
Course administrivia. C++ STL, streams, string, references.
|
||
L01 | Wed, Jan 24 |
C++ cont. & const
[ pdf
]
STL continued (list, set, map), C++ Simple Objects, Constructors, Operator Overload, const, std::optional, std::variant
|
||
R01 | Thu, Jan 25 |
Recitation01: C++ & Setup [ slides ]
Docker, C++ std::vector, std::map, std::optional
|
||
Week 2 |
||||
L02 | Mon, Jan 29 |
C++: Dynamic Memory, destructors
[ pdf
]
HW0 Q&A, pointers, new/delete, std::array, overhead to dynamic memory, destructors & RAII :)
|
||
L03 | Wed, Jan 31 |
Into to OS: Systems Calls, Processes, C style pointers & arrays
[ pdf
]
System calls, T*, T[] vs std::array, POSIX IO
|
||
Survey0 Due
(Pre-Semester Survey) due @ 11:59 pm on Wed, Jan 31 |
||||
R02 | Thu, Feb 01 |
Recitation02: C++ continued and HW0 Tips [ slides ]
Destructors, new, delete
|
||
Project 0 Due
(SimpleKV) due @ 11:59 pm on Fri, Feb 02 |
||||
Week 3 |
||||
L04 | Mon, Feb 05 |
Posix Cont. Processes Start
[ pdf
]
Processes, Fork, Interrupts
|
||
L05 | Wed, Feb 07 |
Processes Cont. & Threads Start
[ pdf
]
pthread_create, pthread_join, concurrency
|
||
R03 | Thu, Feb 08 |
Recitation03: POSIX I/O & HW1 Tips [ slides ]
read(), write(), open(), close(), HW01
|
||
Week 4 |
||||
Q00 |
Check-in Quiz 00 Due
(Threads, POSIX) due @ 10:00 am on Mon, Feb 12 |
|||
L06 | Mon, Feb 12 |
Threads Cont.
[ pdf
]
Refersher, Parallelism, Concurrency, Synchronization start
|
||
L07 | Wed, Feb 14 |
Data Races, Mutexes
[ pdf
]
Synchronization, Mutexes
|
||
R04 | Thu, Feb 15 |
Recitation04: Threads & Processes [ slides ]
Threads & Proceses
|
||
Project 1 Due
(File Readers) due @ 11:59 pm on Fri, Feb 16 |
||||
Week 5 |
||||
L08 | Mon, Feb 19 |
Synchronization, Condition Variables, and Caches
[ pdf
]
Mutex, condition variables, Caches
|
||
L09 | Wed, Feb 21 |
Caches Continued, Scheduling
[ pdf
]
Caches, Scheduling, FCFS, SJF, Round Robin, RR Variants
|
||
R05 | Thu, Feb 22 |
Recitation05: Synchronization and Locks [ slides ]
mutex, deadlock, HW2 overview
|
||
Week 6 |
||||
L10 | Mon, Feb 26 |
Midterm Review
[ pdf
]
Midterm Review
|
||
L11 | Wed, Feb 28 |
Midterm Review
[ pdf
]
Last Minute Questions & Midterm Review
|
||
Ex0 | Wed, Feb 28 | Midterm Exam Wed 07:00 pm - Wed 09:00 pm @ Towne 100 [exam info] | ||
R06 | Thu, Feb 29 |
Recitation06: NO RECITATION
NO RECITATION
|
||
Week 7 |
||||
:( | Mon, Mar 04 | No Class | ||
:( | Wed, Mar 06 | No Class | ||
:( | Thu, Mar 07 | No Recitation | ||
Week 8 |
||||
L12 | Mon, Mar 11 |
Virtual Memory start
[ pdf
]
Virtual Memory Overview
|
||
L13 | Wed, Mar 13 |
Virtual Memory: Details
[ pdf
]
Pages, Page Frames, Page Tables, Address Translation
|
||
R08 | Thu, Mar 14 |
Recitation08: Virtual Memory & Scheduling [ slides ]
Virtual Memory & Scheduling
|
||
Week 9 |
||||
L14 | Mon, Mar 18 |
Networking Intro
[ pdf
]
High Level Overview of the 7-layer OSI model.
|
||
Q01 |
Check-in Quiz 1 Due
(Virtual Memory) due @ 10:00 am on Wed, Mar 20 |
|||
L15 | Wed, Mar 20 |
TCP Sockets
[ pdf
]
Posix Sockets API
|
||
R09 | Thu, Mar 21 |
Recitation09: Networks and Sockets [ slides ]
Networks and Sockets
|
||
Project 2 Due
(Threads) due @ 11:59 pm on Fri, Mar 22 |
||||
Survey1 Due
(Mid-Semester Survey) due @ 11:59 pm on Sat, Mar 23 |
||||
Week 10 |
||||
L16 | Mon, Mar 25 |
HTTP & Templates
[ pdf
]
HTTP & Templates
|
||
L17 | Wed, Mar 27 |
Catchup & OH
[ pdf
]
Catchup & OH
|
||
R10 | Thu, Mar 28 |
Recitation10: Boost and HTTP [ slides ]
Boost trim, replace_all, and split; HTTP Requests, Responses, and Methods
|
||
Week 11 |
||||
L18 | Mon, Apr 01 |
C++ Copying & Casts
[ pdf
]
C++ Copy Constructor, Assignment Operator, Casts
|
||
Q02 |
Check-in Quiz 2 Due
(Sockets) due @ 10:00 am on Wed, Apr 03 |
|||
L19 | Wed, Apr 03 |
C interop & Processes
[ pdf
]
Processes Intro, fork(), C, C-strings,
|
||
R11 | Thu, Apr 04 |
Recitation11: HW3 and Processes [ slides ]
HW3 Overview, fork, waitpid, dup2
|
||
Survey2 Due
(Github Information & Partner Signup Survey) due @ 11:59 pm on Fri, Apr 05 |
||||
Week 12 |
||||
L20 | Mon, Apr 08 |
Project Overview and pipe()
[ pdf
]
Final Project Overivew (searchserver), pipe(), Unix Shell
|
||
L21 | Wed, Apr 10 |
Processes: pipe finished & Unix
[ pdf
]
pipes, Unix, HW4
|
||
R12 | Thu, Apr 11 |
Recitation12: HW4 and Pipe() [ slides ]
HW4 Overview, file descriptors, dup2, pipes
|
||
Project 3 Due
(simplevm) due @ 11:59 pm on Fri, Apr 12 |
||||
Q03 |
Check-in Quiz 3 Due
(File Descriptors) due @ 11:59 pm on Fri, Apr 12 |
|||
Week 13 |
||||
L22 | Mon, Apr 15 |
Unix, HW4 & Move
[ pdf
]
Unix, HW4 pipes(), std::move
|
||
L23 | Wed, Apr 17 |
Smart Pointers & Concepts
[ pdf
]
unique_ptr, shared_ptr, weak_ptr, concepts
|
||
R13 | Thu, Apr 18 |
Recitation13: TODO
TODO
|
||
Q04 |
Check-in Quiz 4 Due
(pipe()) due @ 11:59 pm on Fri, Apr 19 |
|||
Week 14 |
||||
L24 | Mon, Apr 22 |
Systems Programming Saftey
[ pdf
]
Catchup, C, C++, memory saftey and Rust
|
||
L25 | Wed, Apr 24 |
Special Topics: Intro to Distributed Systems
[ pdf
]
Thinking about concurrent puzzles, Common Knowledge, etc.
|
||
R14 | Thu, Apr 25 |
Recitation14: TODO
TODO
|
||
Project 4 Due
(pipe_shell) due @ 11:59 pm on Fri, Apr 26 |
||||
Week 15 |
||||
L26 | Mon, Apr 29 | Exam Review [ pdf ] | ||
L27 | Wed, May 01 | Final Exam Review | ||
Final Project Due
(searchserver) due @ 11:59 pm on Wed, May 01 |
||||
Survey3 Due
(Post-Semester Survey) due @ 11:59 pm on Wed, May 01 |
||||
Week 16 |
||||
Ex1 | Fri, May 10 | Final Exam Fri 03:00 pm - Fri 05:00 pm @ Towne 100 [exam info] |