CSC 145/290: Distributed and Network Programming, Fall 2001

Class Time: TuTh 8:05-9:30pm Adams 201C

Dr. Chuck C. Liang
Office: Adams 201A
Office Phone: (516 463) 5559
Office Hours: MWF 2-3pm, TuTh 10:30-11:30am, or by appointment. Email: cscccl@hofstra.edu


Course Description:

Introduction to network and distributed programming. Emphasis will be on systems-level technologies. TCP/IP client server applications, protocal implementation, Unix systems programming, MPI and PVM distributed architectures, and high-level support for distributed programming. Languages used include C, C++ and Java. Operating systems used will be Unix and Linux.
Prerequisite: CSC 120, CSC 112.

Required Text: "Unix Network Programming" by W. R. Stevens.

Reference Material:


Class Web Page: http://www.cs.hofstra.edu/~cscccl/csc145/


List of Major Topics (tentative):

  1. Systems Programming with C
  2. TCP/IP architecture
  3. Socket Fundamentals
  4. Client-Server applications
  5. multiprocessing and signal handling
  6. Threads
  7. High-level language support (Java)
  8. UDP/protocal implementation
  9. Distributed Programming basics
  10. MPI/PVM
  11. Java RMI, component object model, other advanced topics



Exams, Assignments and Grading

Both undergraduate and graduate students are expected to attend all classes and complete all assignments on time. Late work will not be accepted. There will be regular programming assignments as well as one or two exams.

All material handed in must be in hard copy, and be well organized and legible. Unreadable material will not be graded. Consultation of outside sources (including books, friends) for completion of assignments must be pre-approved.
Students are required to keep copies of all programming assignments throughout the semester. When working in a group, all group members must posses current versions of the assignment.


Final Note: The contents of the this syllabus may be modified depending on the progress of the course.