Course Schedule
The following is a tentative schedule for the course (subject to change).
Topic | Deadlines & Materials |
---|---|
Week 1: January 23 – 30 | |
Course Overview Beginning C & VM Setup |
|
Week 2: January 30 – February 6 | |
Input and Output (Feb 1) Finishing Setting up VMs |
|
Week 3: February 6 – 13 | |
Functions, Arguments, and Pointers (Feb 8) Arrays and Strings (Feb 10) |
|
Week 4: February 13 – 20 | |
Finishing Strings Structs (Feb 17) |
|
Week 5: February 20 – 27 | |
String Tokenization (February 22) Dynamic Memory (February 24)
|
|
Week 6: February 27 – March 6 | |
Going over Lab 4 Linked Lists (Mar 3) |
|
Week 7: March 6 – 13 | |
Building an Elastic Array (Mar 8) Project 1 Work Day (Mar 10) |
|
Week 8: March 13 – 20 | |
Spring Break! |
|
Week 9: March 20 – 27 | |
|
|
Week 10: March 27 – April 3 | |
Building a Shell |
|
Week 11: April 3 – 10 | |
Project 2 Work Day Starting Project 3 (Lab 6) |
|
Week 12: April 10 – 17 | |
Introduction to pthreads Measuring Performance |
|
Week 13: April 17 – 24 | |
Critical Sections, Mutexes Condition Variables, Concurrency Bugs |
|
Week 14: April 24 – May 1 | |
Cupcakes Finishing P3 |
|
Week 15: May 1 – 8 | |
Getting Go-ing: Arrays, Slices, and Runes Maps & Concurrency |
|
Week 16: May 8 – 15 | |
Bit Manipulation, P3 |
|
Week 17: May 15 – 22 | |
Final Quiz: Tuesday, May 17 ⋅ 3:00 PM – 5:00 PM |