Tentative

Because unforeseen circumstances (snow days, delays, etc.) happen, the dates and times on this schedule are still subject to change. I will give as much advance warning as possible to any changes on the schedule. I promise to never move any assignment deadlines earlier.

Readings

Actual Schedule

Mtg. Date Content Reading Assignment
Lect 1/28 Big Problems & Syllabi OSTEP Ch. 2  
Lab 1/29 Software Setup    
Lect 1/30 C Workshop 1. Ch. X  
Lect 2/4 C Workshop 2. Ch. X  
Lab 2/5 C Workshop 3.    
Lect 2/6 C Workshop 4. Ch. X  
Lect 2/11 Processes OSTEP 4,5  
Lab 2/12 TBD    
Lect 2/13 Scheduling OSTEP 7,8  
Lect 2/18 Proportional Share Scheduling OSTEP 9  
Lab 2/19 TBD    
Lect 2/20 Multicore scheduling & Architecture OSTEP 10  
Lect 2/25 Stack, Heap & Memory OSTEP 13, 14  
Lab 2/26 More Practical C    
Lect 2/27 Free space management OSTEP 17  
Lect 3/3 Segmentation OSTEP 15, 16  
Lab 3/4 TBD    
Lect 3/5 Paging OSTEP 18, 19 Extra 20,21  
Lect 3/10 Caching OSTEP 22  
Lab 3/11 TBD    
Lect 3/12 Memory & Security    
Lect 3/14 - 3/22 SPRING BREAK    
Lect 3/24 Concurrency OSTEP 26,27  
Lab 3/25 ForkJoinPool / synchronized    
Lect 3/26 Mutexes & Locks OSTEP 28  
Lect 3/31 Garbage Collection & Bugs OSTEP 32  
Lab 4/1 TBD    
Lect 4/2 Concurrent Java Collections OSTEP 29  
Lect 4/7 Semaphores / Condition Variables OSTEP 30,31  
Lab 4/8 TBD    
Lect 4/9 Review OSTEP 36,37 Extra: 38  
Lect 4/14 Realities of I/O, Spinning Disks    
Lab 4/15 Bytes vs. Strings    
Lect 4/16 What can a FS do? OSTEP 39  
Lect 4/21 FileSystem Design OSTEP 40,41  
Lab 4/22 TBD    
Lect 4/23 SSDs, Data Reliability OSTEP 44,45  
Lect 4/28 Flex Time    
Lab 4/29 Flex Time    
Lect 4/30 Final Project Presentations