IC221: Systems Programming (SP14)


Home Policy Calendar Syllabus Resources Piazza

Course Calendar

Week Date Class Topic Readings/Notes Assignment/Solutions
1 M. 1/7 Lecture 1 Introductions, Unix/Linux and Systems Basics APUE: 1.2 (pg. 1-2), APUE: 1.11 (pg. 21),
Origins and History of Unix
HW 1
W. 1/8 Lecture 2 Unix File System and Command Line Tools APUE: 1.3, 1.4
F. 1/10 Lab 1 Unix Familiarity and Basic Command Line Tools Lab
2 M. 1/13 Lecture 3 Unix Design Philosophy and Standard Streams APUE: 1.5, 2.1, 2.3 HW 2
W. 1/15 Lecture 4 Filename Matching with Globbing and find
F. 1/17 Lab 2 Bash Scripting Lab Advanced Bash Scripting Guide solution
3 M. 1/20 No Class MLK Day
W. 1/22 Lecture 5 Intro C Programming HW 3
F. 1/24 Lab 3 mywc : word count lab APUE: 7.4 solution
4 M. 1/27 Lecture 6 Memory Allocation and Program Memory Layout APUE: 7.6, 7.8 HW 4
W. 1/29 Lecture 7 Dynamic Memory and Data Types
F. 1/31 Lab 4 Debugging and simplefs solution
5 M. 2/3 Lecture 8 User-Space, Kernel-Space and System Call API APUE: 1.11 (pg.21-23) HW 5
W. 2/5 Lecture 9 File and Device I/O via System Calls APUE: 3.1-3.9 (pg. 61-72)
F. 2/7 Lab 5 Makefiles and mytouch, and myls solution
6 M. 2/10 Lecture 10 Catchup/Review
W. 2/12 6-Week Exam written solution
F. 2/14 Practicum practicum code solution
7 M. 2/17 No Class Washington's Birthday
W. 2/19 Lecture 11 Process Creation and Management APUE: 5.4, 7.3, 8.10, (pg. 145-147, 200-202, 249-255) HW 6
F. 2/21 Lab 6 fork/exec/wait lab APUE: 8.3, 8.6, (pg. 229-231, 238-241) solution
8 M. 2/24 Lecture 12 Process State and O.S. Scheduling APUE: 8.5, 8.16 (pg. 237, 276-280) HW7
W. 2/26 Lecture 13 The Terminal Device and Job Control APUE 9.2, 9.7, 9.8 (pg. 286-289, 298, 299-303)
F. 2/28 Lab 7 Process State Inspection and fg-shell solution
9 M. 3/3 Lecture 14 Process Groups and Terminal Signalling APUE: 9.4, 9.5, 9.9, 9.10 (pg. 293-299, 303-309) HW 8
W. 3/5 Lecture 15 Pipes, Pipelines and File Duplication APUE: 15.1,15.2,15.3 (pg. 533-546)
F. 3/7 Lab 8 Pipeline Lab solution

SPRING BREAK

10 M. 3/17 Lecture 16 Signals and Signal Handling HW 9
W. 3/19 Lecture 17 Alarms, sigaction(), and Reentrant System Calls
F. 3/21 Lab 9 Signal Handling Lab solution
11 M. 3/24 Lecture 18 File System, Kernel Data Structures, and Open Files HW 10
W. 3/26 Lecture 19 File Links: Hard and Sybolic
F. 2/28 Lab 10 File System lab solution
12 M. 3/31 Lecture 20 Catchup/Review
W. 4/2 12-Week Exam written solution
F. 4/4 Practicum practicum code solution
13 M. 4/7 Lecture 21 Network Fundamentals and Command Line Tools HW 11
W. 4/9 Lecture 22 Socket Addressing and Address Structures
F. 4/11 Lab 11 Socket Client Lab solution
14 M. 4/14 Lecture 23 Socket Servers HW 12
W. 4/16 Lecture 24 Posix Threads
F. 4/18 Lab 12 Threaded Socket Server Lab
15 M. 4/21 Lecture 25 Locking, Deadlock and Concurrency HW 13
W. 4/23 Lecture 26 Deadlock Avoidance: Dining Philosophers
F. 4/25 Final Practicum
16 M. 4/28 Lecture 27 Wrap Up/Review
T. 4/29 Lab 12 Due
Sat. 5/3 Final Exam Time: 0755
Location: MI107 (2001)
Location: MI110 (4001,6001)

Last modified: Wed Apr 23 08:22:12 EDT 2014