NOTE: The last day to drop a course without a 'W' grade is Tuessday,
February 21. The Registrar's website provides further information
about
important dates.
Prerequisites:
This course assumes that students have a solid background in
C and/or C++ programming. Experience with UNIX to edit, build
and execute programs is also required.
CS112 is a prerequisite course.
Course Summary:
This course will focus on various aspects of system
programming. We will study the UNIX programming interface, from
the point-of-view of system calls and library routines to
perform file, I/O and process management, as well as
inter-process communication and synchronization.
The C language will be used throughout the course, but
aspects of shell programming and languages such as Perl will
also be discussed.
Additional topics may include graphical user interfaces
(GUIs) and toolkits for graphical interaction with applications.
Further Information:
Additional recommended reading:
Larry Wall, Tom Christiansen and Jon Orwant, "Programming
Perl", 3rd Edition, O'Reilly and Associates,
ISBN:0-596-00027-8. There are many other O'Reilly books on Perl
and one of the "Learning Perl" books might be easier to
follow.
W.R. Stevens, "UNIX Network Programming", Volumes I &
II, Prentice-Hall, ISBN 0-13-490012-X and 0-13-081081-9,
respectively.
You should know how to write makefiles. Further
information can be found by typing 'info make' on a UNIX
machine, reading the man pages, or checking the GNU on-line documention.
If you're having trouble debugging your C/C++ programs, look at the gdb info
pages ('info gdb'), the gdb man pages, or the GNU on-line documentation.