CS 360 UNIX Systems Programming.

instructor: david straight

background expected:
Students are expected to be very comfortable with the C language--typically having had two semesters of programming in C, including Data Structures. Ideally, you should have been working with file I/O, recusion, dynamic storage allocation with malloc, etc.

basic course content:
This is a programming-intensive course, and students should exit the course with a good understanding of what goes on under the surface of UNIX. So you'll have to implement your own versions of make, pwd, malloc, talk, etc. You'll create a small c shell, and work with sockets, pipes, and forks. If you don't like exploring, if you need lots of handholding, if you think that in CS courses there will always be someone available with the answers, if you don't like reading man pages, then WOE!!

a few details:
Labs are required. I do not teach out of the textbook, and the text is a very useful additional tool for the material. Most labs will be done solo--some may be small group projects, and some may say "do something interesting with.....[sockets, e.g.]

helpful examples??
in my "student" account (dws112) in the subdirectory cs360 you'll find program assignments, data sets, sample C programs (e.g. perhaps a short program such as grabdata.c showing how one can grab the test data).