Textbook abbreviation: UNP - Unix Network Programming and APUE - Advanced Programming in the UNIX Environment.
Lecture 1: Syllabus
Lecture 2: Miscellaneous UNIX/C concepts
Programming assignment No. 1: My Parallel Program Launchpad, Files provided for the assignment including a self-grading sheet. Due date: January 26, 2024 (Friday). y
Lecture 3: Process management
Lecture 4: File operations and pipes
Programming assignment 2: mymake , provided files for the project. Due Feburary 9, 11:59pm.
Lecture 5: File meta data and directories
Lecture 6: Signal and terminal I/O
Lecture 7: Job Control and Process Relationship
Midterm to be held on Feb. 26, covering Lecture 1 to Lecture 8, and assignment 1 and assignment 2. You can bring a 8"x11" (A4) cheat sheet to the exam. Some more information about midterm
Lecture 8: Inter-process Communication
Lecture 9: Pthread
Lecture 10 (skip for now): Pthread (continue)
Term project information, due dates: March 4, 18, 27, April 10, 17-24, April 26
Lecture 11: OpenMP
Lecture 12: TCPIP Overview
Lecture 13: Basic TCP Socket API
Lecture 14: TCP Client and Server implementation
Programming assignment No. 3: Online tic-tac-toe server, Due March 29. Sample servers are running on linprog6 ports 55555, 56666,57777,58888,59999 (try 'telnet linprog6 55555' from linprog). Self grading sheet. (Note: If you run your server on linprog, please use ports from 50000 to 60000 as instructed by the systems group).
Lecture 15: TCP Client and Server implementation (continue)
Lecture 16: UDP
continue with thread (Lecture 10) and openmp (Lecture 11) at this time
Lecture 17: Message Passing Interface 1
Lecture 18: Message Passing Interface 2
Extra Programming assignment (7 points): OpenMP and MPI implementations of the Game of Life, Due April 22, 11:59pm. Provided files.
Lecture 19: Socket options
Lecture 20: Broadcast and Multicast and
Lecture 21: Nonblocking and Signal Driven IO and
Final exam to be held on May 2 (Thursday) 3:00pm-5:00pm in the classroom. You can bring a 8"x11" (A4) cheat sheet to the exam. Some more information about the final exam