CS 392 Systems Programming

Spring 2016 - Section A

InstructorGeorgios Portokalidis
MeetingsMonday, Wednesday, Friday 11:00-11:50am (room X218B)
Office hoursMonday 5pm-6pm

Syllabus | Canvas


Introduction to systems programming in C on UNIX. Students will be introduced to tools for compilation, dynamic linking, debugging, editing, automatic rebuilding, and version control. Some aspects of the UNIX system call interface will be studied, including: process creation, signals, terminal I/O, file I/O, inter-process communication, threads, network protocol stacks, programming with sockets, and introduction to RPC. Style issues to be covered include: naming, layout, commenting, portability, design for robustness and debugability, and language pitfalls.

Course prereqs: CS 182 or CS 385

Course material

Textbook(s): W. Richard Stevens, Stephen A. Rago , Advanced Programming in the UNIX Environment , 3rd ed., Addison-Wesley Professional, 2013

Other Readings: Brian W. Kernighan and Dennis M. Ritchie , The C Programming Language , Prentice Hall, 1988. ISBN: 0-13-110362-8


Your final grade will be determined by your performance in the following:

Programming assignments 50%
Midterm Exam 25%
Final Exam 25%