Here is the tentative schedule of lectures and due dates. Lecture dates and material for future lectures may change.
Generally, projects are due at 6pm on Fridays, labs are due at 8pm on Tuesdays.
While the notes and videos published here may help you remember the material discussed, they are not a replacement for attending lectures.
🎥: Lecture Capture — ❓: Post-Lecture Quiz (due 6pm the day before the next lecture).
Code from the lectures and section is available at github.com/csci1310/cs131-lectures.
Monday | Tuesday | Wednesday | Thursday | Friday |
jan 20 Martin Luther King, Jr. holiday |
jan 21 | jan 22 First day of classes Block 1: Computer Systems Basics |
jan 23 LEC 1: Overview and machine organization 🎥 ❓ Assigned: Project 1: Strings & Vectors Assigned: Lab 0 (Setup) |
jan 24 |
jan 27 | jan 28 LEC 2: Introduction to Systems Programming 🎥 ❓ |
jan 29 | jan 30 LEC 3: Memory Allocation and Strings 🎥 ❓ |
jan 31 |
feb 3 | feb 4 LEC 4: Arrays, Pointer Arithmetic and Structures 🎥 ❓ DUE: Lab 0 (Setup) (EXTENDED) Assigned: Lab 1 (C programming) |
feb 5 | feb 6 LEC 5: Structures and Alignment 🎥 ❓ |
feb 7 |
feb 10 | feb 11 LEC 6: Collection Summary and Signed Number Representation 🎥 ❓ DUE: Lab 1 (C programming) Assigned: Lab 2 (Build tools) |
feb 12 | feb 13 LEC 7: Assembly Language 🎥 ❓ |
feb 14 DUE: Project 1: Strings & Vectors Assigned: Project 2: DMalloc |
feb 17 Long Weekend |
feb 18 Long Weekend |
feb 19 DUE: Lab 2 (Build tools) Assigned: Lab 3 (Assembly) |
feb 20 LEC 8: Calling Conventions, Stack 🎥 ❓ |
feb 21 |
feb 24 DUE: Project 2: DMalloc (conceptual questions) |
feb 25 LEC 9: C++, Caching 🎥 ❓ DUE: Lab 3 (Assembly) Assigned: Lab 4 (Caching) |
feb 26 | feb 27 LEC 10: Caching 🎥 ❓ |
feb 28 DUE: Project 2: DMalloc (all) Assigned: Project 3A: WeensyOS (step 1-4) |
mar 2 Block 2: Fundamentals of Operating Systems |
mar 3 LEC 11: Operating System Intro 🎥 ❓ DUE: Lab 4 (Caching) Assigned: Lab 5 (Intro to WeensyOS) |
mar 4 | mar 5 LEC 12: Privilege Separation, Memory Protection 🎥 ❓ |
mar 6 |
mar 9 | mar 10 LEC 13: Virtual Memory, Page Tables 🎥 ❓ DUE: Lab 5 (Intro to WeensyOS) |
mar 11 | mar 12 LEC 14: Page Tables, Process control 🎥 ❓ |
mar 13 |
mar 16 CLASSES CANCELLED |
mar 17 CLASSES CANCELLED |
mar 18 CLASSES CANCELLED |
mar 19 CLASSES CANCELLED |
mar 20 CLASSES CANCELLED |
mar 23 Spring Recess |
mar 24 Spring Recess |
mar 25 Spring Recess |
mar 26 Spring Recess |
mar 27 Spring Recess |
mar 30 Block 3: Concurrency and parallel programming |
mar 31 LEC 15: Processes, IPC 🎥 ❓ Assigned: Lab 6 (Processes) |
apr 1 | apr 2 LEC 16: IPC, Threads 🎥 ❓ |
apr 3 DUE: Project 3A: WeensyOS (step 1-4) |
apr 6 | apr 7 LEC 17: Threads and Race conditions 🎥 ❓ |
apr 8 | apr 9 LEC 18: Synchronization 🎥 ❓ |
apr 10 DUE: Project 3B: WeensyOS (all steps) Assigned: Project 4: Vunmo |
apr 13 | apr 14 LEC 19: Synchronization (II) 🎥 ❓ DUE: Lab 6 (Processes) Assigned: Lab 7 (Threads) |
apr 15 Block 4: Distributed systems |
apr 16 LEC 20: Synchronization Patterns, Deadlock 🎥 ❓ |
apr 17 |
apr 20 | apr 21 LEC 21: Deadlock avoidance, Networking 🎥 ❓ DUE: Lab 7 (Threads) Assigned: Lab 8 (RPCs) |
apr 22 | apr 23 LEC 22: Scalability 🎥 ❓ |
apr 24 DUE: Project 4: Vunmo Assigned: Project 5: Distributed Store |
apr 27 | apr 28 LEC 23: Distributed scalability, Failures 🎥 ❓ |
apr 29 | apr 30 LEC 24: Consistency, Real-world distributed systems 🎥 ❓ |
may 1 |
may 4 | may 5 LEC 25: Summary and Outlook 🎥 ❓ DUE: Lab 8 (RPCs) Last day of classes |
may 6 | may 7 | may 8 DUE: Project 5: Distributed Store |
may 11 | may 12 Final quiz completion due Materials: Open laptop, book, compiler, restricted internet Timing: Released 12:00 noon on May 9, due 12:00 noon on May 12 |
may 13 | may 14 | may 15 |