CSE 320: Systems Fundamentals II – Course Schedule

Lecture Section L02: Tuesdays & Thursdays, 10:00 - 11:20am in Staller M0113 (Sergey Madaminov)

The following course schedule schedule is TENTATIVE and subject to change. Readings are taken from Computer Systems: A programmer's Perspective, 3rd edition by Bryant and O'Hallaron. You will gain more from lecture if you complete the readings before coming to class.

Week of Lecture Topics Book Readings
1/29 Administrative; System Software Overview 1
C for Java Programmers online C reference
2/5 C for Java Programmers  
C for Java Programmers  
 2/12 C for Java Programmers  
C for Java Programmers
2/19 Dynamic Memory Allocation 9.9-9.11
Dynamic Memory Allocation  
2/26 System Stack: Hardware Interrupts, Hardware Exceptions & Software Exceptions 8.1-8.4
System Stack: Hardware Interrupts, Hardware Exceptions & Software Exceptions  
3/5 Midterm #1 (Tentative) - C Programming, Dynamic Memory Allocation  
System Stack: Hardware Interrupts, Hardware Exceptions & Software Exceptions  
3/12 System Stack: OS Signals 8.5-8.8
System Stack: OS Signals  
3/19 SPRING RECESS  - NO LECTURE
SPRING RECESS  - NO LECTURE
3/26 System Stack: POSIX abstractions (pipes, fork, files, etc) 10
System Stack: POSIX abstractions (pipes, fork, files, etc)  
4/2 Concurrent Programming - Thread overview 12.4-12.8
Concurrent Programming - Semaphores  
4/9 Concurrent Programming - Shared Resource, Deadlock and Race conditions  
Concurrent Programming - Shared Resource, Deadlock and Race conditions  
4/16 Performance & Benchmarking 5.14
Memory Hierarchy and Caches 6
4/23 Caches  
Midterm #2 (Tentative) - Exceptions, Processes, POSIX (including related C constructs)  
4/30 Cache Performance 6.5-6.6
Virtual Memory 9.1-9.8
5/7 Virtual Memory  
Linking and memory mapping 7
5/17 Final Exam