Schedule
Week 0 |
||||
| L00 | Wed, Jan 15 |
Introduction & C Refresher
[ pdf
]
Course administrivia. C Refresher, pointers, memory as an array of bytes
|
||
| R00 | Thu, Jan 16 |
Recitation00: C & Pointers Review [ slides ]
C, Pointers, Arrays
|
||
Week 1 |
||||
| :( | Mon, Jan 20 | No Class | ||
| L01 | Wed, Jan 22 |
C++ and Memory
[ pdf
]
C++ Pointers, new/delete, memory diagrams
|
||
| R01 | Thu, Jan 23 |
Recitation01: C vs C++ [ slides ]
C++ Classes and an early look into destructors and references
|
||
|
HW00 Due
(simple_string and check_time) due @ 11:59 pm on Fri, Jan 24 |
||||
Week 2 |
||||
|
Check-in00 Due
(Pointers, C refresher, C++ Classes and Memory Model) due @ 10:15 am on Mon, Jan 27 |
||||
| L02 | Mon, Jan 27 |
Core C++
[ pdf
]
References, vector, destructors, copying by value.
|
||
|
Survey00 Due
(Pre-semester Survey) due @ 11:59 pm on Tue, Jan 28 |
||||
| :( | Wed, Jan 29 | No Class | ||
| R02 | Thu, Jan 30 |
Recitation02: TODO
TODO
|
||
|
HW01 Due
(vec) due @ 11:59 pm on Fri, Jan 31 |
||||
Week 3 |
||||
| L03 | Mon, Feb 03 |
Lifetimes and RAII
[ pdf
]
std::variant, const objects, refernces and clang-tidy
|
||
| :( | Wed, Feb 05 | No Class | ||
| R03 | Thu, Feb 06 |
Recitation03: TODO
TODO
|
||
|
HW02 Due
(simple_string in C++) due @ 11:59 pm on Fri, Feb 07 |
||||
Week 4 |
||||
|
Check-in01 Due
(std::variant & std::vector) due @ 10:15 am on Mon, Feb 10 |
||||
| L04 | Mon, Feb 10 |
OS Start
[ pdf
]
system calls, fork(), exec()
|
||
| L05 | Wed, Feb 12 |
Processes Continued
[ pdf
]
Processes, process states, exec(), wait(), exit()
|
||
| R04 | Thu, Feb 13 |
Recitation04: TODO
TODO
|
||
|
HW03 Due
(simplekv) due @ 11:59 pm on Fri, Feb 14 |
||||
Week 5 |
||||
|
Check-in02 Due
(Processes) due @ 10:15 am on Mon, Feb 17 |
||||
| L06 | Mon, Feb 17 |
File Decriptors and Streams
[ pdf
]
stdin, stdout, stderr, file descriptor table
|
||
| L07 | Wed, Feb 19 |
Pipes
[ pdf
]
pipe() and redirections
|
||
| R05 | Thu, Feb 20 |
Recitation05: TODO
TODO
|
||
|
HW04 Due
(retry_shell) due @ 11:59 pm on Fri, Feb 21 |
||||
Week 6 |
||||
|
Check-in03 Due
(File Descriptors) due @ 10:15 am on Mon, Feb 24 |
||||
| L08 | Mon, Feb 24 |
Buffering & Caches
[ pdf
]
file buffering & memory caches
|
||
| L09 | Wed, Feb 26 |
Caches cont and other overhead
[ pdf
]
memory caches, dynamic mem overhead, unnecessary copying
|
||
| R06 | Thu, Feb 27 |
Recitation06: TODO
TODO
|
||
|
HW05 Due
(pipe_shell) due @ 11:59 pm on Fri, Feb 28 |
||||
Week 7 |
||||
| L10 | Mon, Mar 03 |
Midterm Review
[ pdf
]
Midterm Review
|
||
| Ex0 | Wed, Mar 05 | Midterm Exam Wed 10:15 am - Wed 11:45 am @ Skirkanich Auditorium [exam info] | ||
| R07 | Thu, Mar 06 |
Recitation07: TODO
TODO
|
||
Week 8 |
||||
| :( | Mon, Mar 10 | No Class | ||
| :( | Wed, Mar 12 | No Class | ||
Week 9 |
||||
| L11 | Mon, Mar 17 |
C++ and File Descriptors Refresh
[ pdf
]
C++ & posix file descriptor streams refresh
|
||
|
Check-in05 Due
(Re-opens) due @ 10:15 am on Wed, Mar 19 |
||||
| L12 | Wed, Mar 19 |
More C++ & Virtual Memory
[ pdf
]
C++ Copy Constructor, Assignment Operator, Casts, Virtual Memory
|
||
| R08 | Thu, Mar 20 |
Recitation08: TODO
TODO
|
||
|
HW06 Due
(hashtable) due @ 11:59 pm on Fri, Mar 21 |
||||
Week 10 |
||||
|
Check-in06 Due
(C++ Refresher) due @ 10:15 am on Mon, Mar 24 |
||||
| L13 | Mon, Mar 24 |
VM cont & Intro to threads
[ pdf
]
Intro to threads
|
||
|
Survey01 Due
( Mid-semester Survey) due @ 11:59 pm on Mon, Mar 24 |
||||
| L14 | Wed, Mar 26 |
Mutex & Data races
[ pdf
]
mutex, data races, deadlocks
|
||
| R09 | Thu, Mar 27 |
Recitation09: TODO
TODO
|
||
|
HW07 Due
(filereaders) due @ 11:59 pm on Fri, Mar 28 |
||||
Week 11 |
||||
|
Check-in07 Due
(Threads) due @ 10:15 am on Mon, Mar 31 |
||||
| L15 | Mon, Mar 31 |
more mutex
[ pdf
]
Mutex, deadlock & race conditions
|
||
| L16 | Wed, Apr 02 |
Condition Variables, Concurrent and parallel Analysis
[ pdf
]
Condition Variables
|
||
| R10 | Thu, Apr 03 |
Recitation10: TODO
TODO
|
||
|
HW08 Due
(blur_bmp) due @ 11:59 pm on Fri, Apr 04 |
||||
Week 12 |
||||
|
Check-in08 Due
(Condition Variables) due @ 10:15 am on Mon, Apr 07 |
||||
| L17 | Mon, Apr 07 |
Networking Intro
[ pdf
]
High Level Overview of the 7-layer OSI model.
|
||
| L18 | Wed, Apr 09 |
TCP Sockets (Client)
[ pdf
]
Posix Sockets API
|
||
| R11 | Thu, Apr 10 |
Recitation11: TODO
TODO
|
||
|
HW09 Due
(Grep & RequestQueue) due @ 11:59 pm on Fri, Apr 11 |
||||
Week 13 |
||||
|
Check-in9 Due
(Sockets) due @ 10:15 am on Mon, Apr 14 |
||||
| L19 | Mon, Apr 14 |
Server Side TCP
[ pdf
]
Server Side TCP
|
||
| L20 | Wed, Apr 16 |
HTTP & UDP
[ pdf
]
HTTP & UDP
|
||
| R12 | Thu, Apr 17 |
Recitation12: TODO
TODO
|
||
Week 14 |
||||
|
Check-in10 Due
(Servers & UDP) due @ 10:15 am on Mon, Apr 21 |
||||
| L21 | Mon, Apr 21 |
Special Topics: Systems Programming Saftey
[ pdf
]
Catchup, C, C++, memory saftey and Rust
|
||
| L22 | Wed, Apr 23 |
Special Topics: Intro to Distributed Systems
[ pdf
]
Thinking about concurrent puzzles, Common Knowledge, etc.
|
||
| R13 | Thu, Apr 24 |
Recitation13: TODO
TODO
|
||
Week 15 |
||||
| L23 | Mon, Apr 28 |
Course wrap up, Future Courses and Office Hours
[ pdf
]
Course wrap up
|
||
|
Check-in11 Due
(End of Semester) due @ 11:59 pm on Tue, Apr 29 |
||||
| L24 | Wed, Apr 30 | Exam Review [ pdf ] | ||
|
HW11 Due
(final project) due @ 11:59 pm on Wed, Apr 30 |
||||
Week 16 |
||||
|
Survey02 Due
(End of Semester Survey) due @ 11:59 pm on Tue, May 06 |
||||
| Ex1 | Wed, May 07 | Final Exam Wed 06:00 pm - Wed 08:00 pm @ Towne 100 [exam info] | ||