CS5432 Advanced UNIX Programming, Fall 2016
- Instructor: Cheng-Hsin Hsu (chsu AT cs.nthu.edu.tw), Delta (台達館) 643.
- Time: Mondays 3:30 p.m. – 5:20 p.m., Thursdays 2:20 – 3:10 p.m.
- Location: EECS (資電館) 132.
- Office Hour: Thursdays 3:30 p.m.- 4:20 p.m. at Delta 643.
- TA: Chen-Nien Mao (gloiremao AT gmail.com)
- Lab Session (assignment demos): Tuesdays 7:00 – 9:00 p.m. at EECS 328.
- DEMO Schedule: Link
We will train the students to be qualified UNIX-like system programmers, by getting to know the commands, development and debugging environments, system calls, and popular libraries on UNIX systems. On top of that, we will discuss more advanced C/UNIX topics such as process control, daemon, signals, and threads. Code examples given in Richard Stevens’ classic UNIX programming textbook will be reviewed and discussed in the class.
Prerequisites: Introduction to Programming, Operating Systems
W. Richard Stevens and Stephen A. Rago, “Advanced Programming in the UNIX Environment,” 3rd ed., Addison Wesley (開發圖書)
Lectures, assignments, and exams.
We will spend 1 to 1.5 weeks on each of the following topics.
1. Fundamental tools and shell programming
2. Files and directories
3. File I/O and standard I/O
4. System data files and information
5. Process environment
6. Process control
9. Daemon processes
10. Advanced I/O
11. Inter-process communications
12. Network I/O
Midterms (30%): 15% + 15%
Programming assignments (55% + 5% Bonus): 12 times