Course Schedule
The following is a tentative schedule for the course (subject to change).
Topic | Deadlines & Materials |
---|---|
Week 1: Jan 25 - 29 | |
Course Overview Beginning C & VM Setup |
|
Week 2: Feb 1 - 5 | |
Functions, Arguments, and Pointers Arrays and Strings |
|
Week 3: Feb 8 - 12 | |
Arrays and Strings (Continued) I/O and Command Line Arguments |
|
Week 4: Feb 15 - 19 | |
Structs and Dynamic Memory |
|
Week 5: Feb 22 - 26 | |
String Tokenization Elastic Arrays (allocating, adding, sorting) |
|
Week 6: Mar 1 - 5 | |
Data Structures in C System Calls |
|
Week 7: Mar 8 - 12 | |
Processes fork() and exec() |
|
Week 8: Mar 15 - 19 | |
Spring Break! |
|
Week 9: Mar 22 - 26 | |
Introduction to pthreads Critical Sections Condition Variables |
|
Week 10: Mar 29 - Apr 2 | |
Concurrency Bugs, Thread Safety |
|
Week 11: Apr 5 - 9 | |
Networking |
|
Week 12: Apr 12 - 16 | |
Beginning Golang |
|
Week 13: Apr 19 - 23 | |
Arrays, Slices, and Maps |
|
Week 14: Apr 26 - 30 | |
Concurrency in Golang |
|
Week 15: May 3 - 7 | |
Microservices |
|
Week 16: May 10 - 14 | |
Distributed Systems |
|