Course Schedule
The following is a tentative schedule for the course (subject to change).
Topic | Deadlines & Materials |
---|---|
Week 1: January 22 – 28 | |
Course Overview Beginning C |
|
Week 2: January 29 – February 4 | |
Pointers and Arrays Strings and Input/Output Streams |
|
Week 3: February 5 – 11 | |
File I/O
Structs and Dynamic Memory Allocation |
|
Week 4: February 12 – 18 | |
Structs and Dynamic Memory
Review Day
|
|
Week 5: February 19 – 25 | |
Project Work Day String Tokenization |
|
Week 6: February 26 – March 4 | |
Grading & Playing Wordle Thurs: Class Cancelled (Baby) |
|
Week 7: March 5 – 11 | |
Linked Lists, Building Malloc Finishing P2 |
|
Week 8: March 12 – 18 | |
Spring Break! |
|
Week 9: March 19 – 25 | |
System Calls Building a Shell |
|
Week 10: March 26 – April 1 | |
Inter-Process Communication |
|
Week 11: April 2 – 8 | |
Threads |
|
Week 12: April 9 – 15 | |
Measuring Performance Shell Work Time + Grading |
|
Week 13: April 16 – 22 | |
Critical Sections, Mutexes Condition Variables |
|
Week 14: April 23 – 29 | |
Concurrency Bugs Network Programming with Sockets |
Concurrency Socket Programming |
Week 15: April 30 – May 6 | |
Proof of Work and Bitcoin Bit Manipulation and Mining Server Design |
|
Week 16: May 7 – 13 | |
P4 Work Day (Tues) |
|
Week 17: May 14 – 20 | |
Final Quiz: Tuesday, May 16 ⋅ 3:00 PM – 5:00 PM |