CS 451

Class Syllabus

 

Text:

1.   John Shapley Gray, Interprocess Communications in UNIX, The Nooks & Crannies, 2nd ed. Prentice Hall PTR, NJ, 1998 (Required)

2.   The UNIX CD BookShelf (6 books on CD), O'Reilly, 1998. (Required)

3.   Gary V. Vaughan et al., Gnu Autoconf, Automake, and Libtool, New Riders, 2000 (Web Version free Available)

Grading:

            Assignments:      50 %

            Midterm:            20 %

            Final:                  30 %

Objectives:

1.   Introduce principles of UNIX Systems Programming and gain hands-on experience in multiprocessing/multithreading UNIX application development.

2.   To get experience of the latest techniques & methodologies in development of large software systems in UNIX/Linux environment.

3.   In Depth Learning of Interprocess Communication techniques for Client/Server application development.

4.   To get familiar with the UNIX programming environment, system call interface, ANSI C and ANSI/ISO C++ functions and classes.

5.   To learn the basic UNIX system administration and Shell scripting.

   

Schedule:

Week 1             Introduction to UNIX. History, Standards, Features. Guide to main editors

Week 2             Programmers Tools. Compiling, Linking, Running, Debugging.

Week 3             The UNIX File System. Assignment #1 given.

Week 4             The GNU Build System. Autoconf/Automake/Configure

Week 5             The GNU Build System. (cont) UNIX Processes/Threads,Process Control. Assignment #2 given.

Week 6             UNIX Processes (cont)

Week 7             UNIX file I/O. Midterm exam.

Week 8             UNIX file I/O. (cont). Introduction to Unix Interprocess Communication. Assignment #3 given.

Week 9             IPC (cont). Process signaling.

Week 10           Pipes, Message Queues, Shared Memory           

Week 11           Semaphores, POSIX semaphores, file locking. Assignment #4 given.

Week 12           UNIX Sockets & Remote procedure Calls (RPC). Network basics

Week 13           Sockets (cont). Introduction to UNIX Shells. C-shell programming

Week 14           UNIX Shells (Cont). UNIX man & info pages

Week 15           CGI-Programming - Final Exam Review.