August
Monday T Wednesday R Friday
20 
Before Class:
Syllabus

Class:
Introduction
Syllabus
Hello, world
Class notes
21 

22 
Before Class:
Set-up a Linux environment and C compiler (instructions for Windows)
Preprocessor Directives
Session 1: Intro to C and Pointers (start at 3:20) (from Dr. Obando's C Workshop)

Class:
Hello, world
C: Compiling
C: Preprocessor
C Exercises
Class notes
23 

Deadline for full refund
24 
Before Class:
Casting and Misc. Operators
Session 2: Arrays and Pointer Arithmetic (audio is garbled)

Class:
C: Preprocessor
C: Comments
Class notes

Due:
Quiz: Syllabus & C (on CougarVIEW)
27 
Before Class:
Quiz: C: Preprocessor and Comments

Class:
C: Numeric Data Types
C Exercises
Class notes
28 

29 
30 

31 
Before Class:
Quiz: Data Types and Type Conversion and Arrays
Session 7: Bit Flags (Booleans)
Session 11: Typedefs and Structs

Class:
C: Arrays
C: Pointers
C Exercises
Class notes

September
Monday T Wednesday R Friday
Labor Day (University Closed)


Before Class:
C-style Strings

Class:
C: Pointers
C: C-style Strings
C Exercises
Class notes

Before Class:
Quiz: Pointers and C-Style Strings
Dynamic Memory Allocation in C (8:28)
Switch Statements
Do-while Loops
For Loops

Class:
C: Command-line arguments
C: Libraries
C: Memory Allocation (example)
C Exercises
Class notes
10 
Before Class:
Quiz: C-Style Strings and Command-line arguments and Libraries and Memory Allocation and Control Structures
Tutorial cover Section 4 (5 pages)
Sections 16.1 - 16.3 (pages 109 - 143)

Class:
C: Control Structures
C: Structured Data Objects
C: Functions
C Exercises
Class notes
11 

12 
Fall Student Appreciation (12:30 PM, CCT lobby)
13 

Deadline to Withdraw with WP
14 
Before Class:
Quiz: File I/O
comet icon Chapter 3 Dialogue (2 pages)
comet icon Chapter 4 Processes (12 pages)
Quiz: Chapter 4

Class:
Overview of virtualization, concurrency, persistence and history of OSs
Intro Class notes
Processes
Process creation
Process state (exercises)
Processes Class notes
17 
Before Class:
comet icon Chapter 5 Process API (11 pages)
Quiz: Chapter 5
18 

19 
Class:
UNIX Shell Command Line (Unix Commands)
Process API: fork(), exec(), and wait()

Due:
Project 1
20 

21 
Before Class:
comet icon Chapter 6 Direct Execution (14 pages)
Quiz: UNIX commands
Quiz: Chapter 6

Class:
Process API: fork(), exec(), and wait()
Direct execution
User & kernel modes
Class Notes
24 
Before Class:
comet icon Chapter 7 CPU Scheduling (12 pages)
comet icon Chapter 8 Multi-level Feedback (12 pages)
comet icon Chapter 9 Lottery Scheduling (10 pages) (9.0 - 9.1, skim the rest)
comet icon Chapter 11 Summary (2 pages)
Quiz: Chapter 7
Quiz: Chapters 8 & 9

Class:
Context switches
CPU scheduling
Turnaround time
Response time
Scheduling algorithms: FIFO, shortest job first, shortest time-to-completion first, round robin
CPU scheduling using a multi-level feedback queue
25 

26 
Class:
Lottery scheduling
Exam #1 Game Review (topics)
27 

28 
Class:
Exam 1 (in CCT 409) (topics)

October
Monday T Wednesday R Friday

Before Class:
comet icon Chapter 14 Memory API (11 pages)
comet icon Chapter 15 Address Translation (14 pages)
Quiz: Chapter 14
Quiz: Chapter 15

Class:
Memory allocation (malloc(), free())
Types of memory: stack and heap
Address translation (virtual and physical addresses)
Base and bounds address translation

Before Class:
comet icon Chapter 16 Segmentation (12 pages)
Quiz: Chapter 16

Class:
Address translation (virtual and physical addresses)
Base and bounds address translation
Before Class:
comet icon Chapter 17 Free Space Management (17 pages)
Quiz: Chapter 17

Class:
Segmentation (exercises) (translation code)

University Closed
10 

11 

12 
Before Class:
comet icon Chapter 17 Free Space Management (17 pages)

Class:
Segmentation (exercises) (translation code)
Free Space Management (exercises)
External fragmentation
Internal fragmentation
Free space management strategies
Class Notes
Fall Break
15 

16 

17 
Before Class:
comet icon Chapter 18 Introduction to Paging (14 pages)
Quiz: Chapter 18

Class:
Paging
Virtual page number (VPN) and offset
Physical frame number
18 

19 
22 
Before Class:
comet icon Chapter 22 Swapping: Policies (18 pages)
comet icon Chapter 24 Summary (3 pages)
Quiz: Chapter 22

Class:
Translation-lookaside Buffers (TLBs)
Swap space
Page-faults
23 

24 
Class:
Page-replacement policies (e.g., Optimal, FIFO, Random, LRU, Clock) (exercises)

Due:
Project 2
25 

26 
Before Class:
comet icon Chapter 25 Dialogue (2 pages)
comet icon Chapter 26 Concurrency and Threads (16 pages)
Quiz: Chapter 26

Class:
Critical section
29 
Before Class:
comet icon Chapter 27 Thread API (12 pages)
Quiz: Chapter 27

Class:
Race condition
Indeterminate programs
Mutual exclusion
Threads
Thread creation
Thread completion
Locks
Condition variables
30 

31 
Before Class:
comet icon Sections 28.0 - 28.8 and 28.12 - 28.17 (20 pages)

Class:
Locks
Pthread locks
Spin-wait
Test-and-set instructions
Spin locks

November
Monday T Wednesday R Friday

Before Class:


Class:
Exam2 Game Review (topics)
Class:
Exam2 In CCT 407 (topics)


Before Class:
comet icon Chapter 31 Semaphores (18 pages)

Class:
Semaphores
Binary semaphores (locks)
12 
Before Class:
comet icon Chapter 32 Common Concurrency Problems (17 pages)

Class:
Readers-Writers Lock
Dining philosophers problem
13 

14 
Before Class:
comet icon Chapter 32 Common Concurrency Problems (17 pages)
Chapter 34 Summary (2 pages)

Class:
Non-deadlock currency bugs
Deadlock
Conditions for deadlock
Deadlock prevention
Deadlock Avoidance
15 

16 
Before Class:
comet icon Chapter 35 Dialogue (2 pages)
comet icon Chapter 36 I/O Devices (13 pages)

Class:
Deadlock Avoidance
I/O devices
CPU-guided data movement
Interrupts
Interrupt service routines / interrupt handlers
Direct memory access data movement
Thanksgiving Break
19 

20 

Thanksgiving Break
21 

22 

Thanksgiving Break
23 

26 
27 

28 
Class:
Disk Scheduling
Redundant array of inexpensive disks (RAIDs)

Due:
Project 3 - Thread Synchronization
29 

30 
Before Class:
comet icon Chapter 39 Files and Directories (19 pages)

Class:
Files
Creating files
Reading and writing files
Removing files

December
Monday T Wednesday R Friday
Before Class:
comet icon Chapter 40 File System Implementation (18 pages)

Class:
Directories
Making directories
Reading directories
Deleting directories
Hard & symbolic links
Mounting a file system
File system implementation
Inodes

Before Class:
comet icon Sections 44.0 & 44.11 Flash-based SSDs (2 pages)
comet icon Chapter 46 Summary (2 pages)

Class:
Flash-based SSDs
SSD performance
Final Game Review

Class:
Final (CCT 409, 4:15 - 6:45 PM) (topics)

Legend

Read
comet Read Chapter / Section(s) in Operating Systems: Three Easy Pieces
Watch video
Assignment (submit through CougarVIEW)
Project (submit through CougarVIEW)
CougarVIEW Quiz
Exam / Test