IC221: Systems Programming (SP15)


Home Policy Calendar

Course Calendar

Week Date Class Topic Readings/Notes Assignment/Solutions
1 M 01/05 --
W 01/07 Lecture 1 UNIX 1
Intro to Linux
APUE: 1.2 (pg. 1-2), APUE: 1.11 (pg. 21)
Origins and History of Unix
HW 1
R 01/08 Lab 1 UNIX 2
Unix File System and Command Line Tools

APUE: 1.3, 1.4
2 M 01/12 Lecture 2 UNIX 3
Globbing, Ownership, Groups, and Permissions
HW 2
W 01/14 Lecture 3 UNIX 4
Unix Design Philosophy and Standard Streams
APUE: 1.5, 2.1, 2.3
R 01/15 Lab 2 Bash Scripting Lab

Advanced Bash Scripting Guide
3 T 1/20 Lecture 4 C Programming 1
Format Input/Output and Basic Types
HW 3
W 01/21 Lecture 5 C Programming 2
Structures, Pointers, and Arrays
R 01/22 Lab 3 C prog Lab 1

APUE: 7.4
4 M 01/26 Lecture 6 C Programming 3
Strings and String Library
HW 4
W 01/28 Lecture 7 C Programming 4
Command Line Arguments and Double Arrays
R 01/29 Lab 4 C prog Lab 2

5 M 02/02 Lecture 8 C Programming 5
Program Memory Layout and Dynamic Memory
APUE: 7.6, 7.8 HW 5
W 02/04 Lecture 9 C Programming 6
Dynamic Array Allocation and Data Representation
R 02/05 Lab 5 Memory Leaks and Memory Allocation Lab (simplefs)

6 M 02/09 Lecture 10 C Programming 7
File Streams
APUE: 1.11 (pg 21-23) HW 6
W 02/11 Lecture 11 Operating System 1
User-Space, Kernel-Space and System Call API
APUE: 3.1-2.9 (pg. 61-72)
R 02/12 6-Week Exam

S14: 6-week Exam solution
s14: 6-Week Practicum solution
7 M 02/16 no class Washington Birthday
W 02/18 Lecture 12 Operating System 2
File and Device I/O via System Calls
HW 7
R 02/19 Lab 6 Makefiles, myls, mycp, mytouch lab

8 M 02/23 Lecture 13 Processes 1
Process Creation and Management
HW 8
W 02/25 Lecture 14 Processes 2
fork/exec/wait
R 02/26 Lab 7 minishell lab

9 M 03/02 Lecture 15 Processes 3
Process Sate and OS Scheduling
HW 9
W 03/04 Lecture 16 Processes 4
Terminal Device and Job Control
R 03/05 Lab 8 myps/mypstree

10 M 03/09 Lecture 17 Processes 5
Process Groups and Terminal Signaling
HW 10
W 03/11 Lecture 18 Processes 6
Pipes, Pipelines and File Duplication
R 03/12 Lab 9 pipeline shell

SPRING BREAK

11 M 03/23 Lecture 19 Processes 7
Signals and Signal Handling
HW 11
W 03/25 Lecture 20 Processes 8
Alarms, sigaction() and rentrant system calls
R 03/26 Lab 10 Signal Handling/fg-shell

12 M 03/30 Lecture 21 File Systems 1
File System, Kernel Data Structures and Open Files
HW 12
W 04/01 Lecture 22 File Systems 2
File Links: Hard and Symbolic
R 04/02 12-Week Exam

S14: 12-week Exam solution
s14: 12-Week Practicum solution
13 M 04/06 Lecture 23 OS Security 1
Setting User/Group Permissions
HW 13
W 04/08 Lecture 24 OS Security 2
Path, Injection, and Overflow Attacks
R 04/09 Lab 11 Security Lab

14 M 04/13 Lecture 25 Networking 1
Network Fundamentals/Client Server Model
HW 14
W 04/15 Lecture 26 Networking 2
Socket Addressing and Client Sockets
R 04/16 Lab 12 Socket Client Lab

15 M 04/20 Lecture 27 Networking 3
Server Sockets
HW 15
W 04/22 Lecture 28 Threading 1
Posix Threads
R 04/23 Lab 13 Threading Socket Server Lab

16 M 04/27 Lecture 29 Threading 2
Locking, Deadlock and Concurrency
HW 16
(Replacement HW)
W 04/29 Lecture 30 Threading 3 (SOFS)
Deadlock Avoidance: Dining Philosophers Exercise
Final Practicum Released
F 5/1 - -

Final Practicum DUE -
17 W 5/6 Final Exam @ 1330
Sec. 2001 in MI 107
Sec. 4001 and 6001 in MI 110


Last modified: Wed Apr 29 09:38:48 2015