Introduction

This course is: Advanced UNIX Programming.  Its prerequisite is The UNIX Environment.

Mention the honors policy.

Criteria for the grade:

50% Quizzes.  The lowest quiz will be dropped.
50% Final Exam.

Approximately 10 programming projects will be assigned.  The projects are an integral part of the presentation of the course material.  It is therefore expected that the student will complete each of them.  The deadline for each project is one month or the end of the semester (whichever comes first).  A deduction of 8 points from final grade will be made for each project not completed.  3 points will be deducted for each late project.  You may resubmit a project if there is an error, but the final version must be submitted before the deadline.

Text

Wyke and Thomas.  Perl - A Beginner's Guide.  Osborne/McGraw-Hill, 2001.

This is the first time that Perl will be taught as part of this class.  It has become an important scripting language and every UNIX programmer should know it.

Notes:

  1. Your text from last semester is also needed.  If you have an older addition, there is no need to run out and get the new addition.

  2. It is good to read the man pages when you learn a new command.  There is a lot of interesting material that I will not have time to discuss.

Goals for the Course

The following are the goals for the course.  They will not necessarily be in the order that they will be presented.

  1. An in-depth understanding of signals, processes, inter-process communication, shared memory, advanced I/O, and semaphores.

  2. A basic understanding of network programming using Berkeley sockets.

  3. A basic understanding of concurrent programming using threads.

  4. A greater understanding of UNIX operating system.

  5. Better programming skills.