Lectures

Date Meeting Material covered Relevant reading
3/26 Lecture 1 Introduction to the course and C (libraries and control structures)  
3/27 Lab 1 Finding primes  
3/28 Lecture 2 Man pages; pointers Mystery code
3/31 Lecture 3 Arrays, strings, buffer overflows  
4/2 Lecture 4 Finish pointers; History of OSes Section 1.2
4/3 Lab 2 Implementing file copy  
4/4 Lecture 5 Lab debrief; Structs; OS concepts Sections 1.4-1.7
4/7 Lecture 6 Process life cycle Section 2.1
4/9 Lecture 7 Scheduling; File naming Sections 2.4 and 4.1
4/10 Lab 3 Implementing a simple shell  
4/11 Lecture 8 Implementing files; Begin directories Section 4.3
4/14 Lecture 9 Directories and other FS issues Sections 4.2 and 4.4
4/16 No class - work on midterm
4/17 No class - work on midterm
4/18 Lecture 10 Introduction to networking; Reference models Networks sections 1.3 and 1.4
4/21 Lecture 11 Begin interprocess communication Section 2.3; handout
4/23 Lecture 12 Go over exam; Pipes; Semaphores; Intro to dining philosophers Section 2.3
4/24 Lab 4 Input redirection  
4/25 Lecture 13 Dining philosophers; Readers and Writers Section 2.5; handout
4/28 Lecture 14 Threads; Begin detecting deadlock Sections 2.2, 6.1-6.4, 6.6
4/30 Lecture 15 Deadlock detection and prevention  
5/1 Flunk Day!
5/2 Lab 5 Issues in multi-threaded programming  
5/5 Lecture 16 More deadlock; Allocation of IP addresses Networks 5.6.2; cartoon
5/7 Lecture 17 Address allocation by CIDR; NAT  
5/8 Lab 6 Sockets  
5/9 Lecture 18 Separate compilation; make; IP header  
5/12 Lecture 19 finish IP header; UDP; error detection/correction Network 3.2 and 6.4
5/14 Lecture 20 Finish error correction/detection; begin TCP Network 6.5
5/15 Lab 7 Sending numbers over the network  
5/16 Lecture 21 finish TCP  
5/19 Lecture 22 DNS; HTTP Sections 7.1 and 7.3
5/21 Lecture 23 email: SMTP, POP, IMAP Network 7.2
5/22 Lab 8 Using UDP  
5/23 Lecture 24 base64 encoding; MIME Network 7.2.3
5/26 Lecture 25 ALOHA Network 4.2.1
5/28 Lecture 26 Manchester encoding; RFCs  
5/29 Lab 9 Using a debugger  
5/30 Lab 10 Timeouts and retransmission  

Sections in "Networks" refer to Tanenbaum's "Computer Networks".