CS3060 Course Schedule

This is the approximate schedule for the semester, but it is subject to change.

Date Reading Topic Assignment
June 26 Syllabus Course introduction, Ubuntu, virtual machines, Putty, ssh, C language, compiling and linking with gcc  
June 28   C language, source code control with Git  
June 30 Chapter 1 Operating systems overview Program 1 due July 1st
July 3 Chapter 2 System calls, operating systems structures  
July 5 Chapter 3 Processes and process creation  
July 7 Chapter 3 Inter-process communication Program 2 due July 8th
July 10 Chapter 4 Multithreading models and libraries, writing multithreaded code  
July 12 Chapter 5 Process synchronization, semaphores, mutexes, monitors Quiz 1 due July 12th
July 14 Chapter 6 CPU scheduling, thread scheduling Program 3 due July 15th
July 17 Chapter 7 Deadlock  
July 19 Chapter 8 Physical memory management Quiz 2 due July 19th
July 21 Chapter 8 Virtual memory management, swapping, memory-mapped files Program 4 due July 22nd
July 24 Pioneer Day No class  
July 26 Chapter 9 Virtual memory management, swapping, memory-mapped files (continued) Quiz 3 due July 26th
July 28 Chapter 10 Files and directories Program 5 due Aug. 2nd July 29th
July 31 Chapters 10 and 11 Sequential and random access storage (Ch. 10), basic mass storage (Ch. 11)  
Aug. 2 Chapter 11 Disk management and RAID  
Aug. 4 Chapter 12 File systems implementation Program 6 due Aug. 6th
Aug. 7 Chapters 12 and 13 File systems management (Ch. 12), I/O systems (Ch. 13)  
Aug. 9 Chapter 13 I/O systems, kernel I/O interface Quiz 4 due Aug. 9th
Aug. 11   Final exam during regular class time Program 7 due Friday, Aug. 11th

Holidays:
Independence Day July 4
Pioneer Day July 24

Final Exam: Friday, August 11
during our regular class time (12:00-1:50)