Gustavo Rodriguez-Rivera, LWSN 1210. Available any time for short questions, or make an appointment.
An updated syllabus, class handouts, lecture notes, and other information can be found at:
Book Online: Introduction to Systems Programming: a Hands-on Approach by Gustavo A. Junipero Rodriguez-Rivera and Justin Ennen
See Lecture Notes section of the web page. Book is still in progress.Recommended: Advanced Programming in the UNIX Environment by W. Richard Stevens. (Useful for the shell. Good as a reference book.)
After successfully completing this course:Note: This couse does not cover OS internals. That will be covered in the Operating Systems Course.
- You will consolidate the programming skills from the previous core courses.
- You will understand how programs run in user space and how the interact with the OS.
- You will be able to write large programs (>1000 lines).
- You will be able to use tools like IDEs, debuggers, profilers, and source control to help them write good and maintainable code.
- You will learn how to work in teams.
- Use of Scripting Languages.
- You will learn to write multi-process and multi-threaded programs.
The course is organized in lecture sessions and help sessions (PSOs). You are encouraged to attend the PSOs every week since the instructors will explain details of the class projects and also answer questions.
The final grade will be about 50% midterm and final exams, 40% projects and homeworks, 10% attendance.