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: A Global File Organizer, Files provided for the assignment including a self-grading sheet. Due date: January 24, 2024 (Friday).
The basic README header that must be included in the README file for every assignment.
Lecture 3: Process management
Lecture 4: File operations and pipes
Lecture 5: File meta data and directories
Lecture 6: Signal and terminal I/O
Lecture 7: Job Control and Process Relationship
Lecture 8: Inter-process Communication
Midterm to be held on March 4, 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 9: Intro. to Networking and TCPIP Overview
Lecture 10: Basic TCP Socket API
Lecture 11: TCP Client and Server implementation
Term project information, due dates: March 18, 25, April 1, April 15, 22/24, April 24.
Programming assignment No. 3: Internet Gomoku server, Due March 27. Sample servers are running on linprog6 ports 55555, 56666,57777, 58888,59999 (connect by 'telnet linprog6 55555' from linprog). Self grading sheet. Note: If you run your server on linprog, use ports from 50000 to 60000 as instructed by the systems group. You can then connect to your server from within the department (not visible out of the department).
Lecture 12: TCP Client and Server implementation (continue)
Lecture 13: UDP (Video to be posted)
Lecture 14: Introduction to Parallel Programming
Lecture 15: Pthread
Lecture 16: Pthread (continue)
Lecture 17: OpenMP
Programming Assignment No. 4: Pthread, OpenMP and MPI implementations of the Game of Life, Due April 14, 11:59pm. Sequential code for the Game of Life. Self grading sheet
Lecture 18: Message Passing Interface 1
Lecture 19: Message Passing Interface 2
Lecture 20: Message Passing Interface 3 - MPI implementation
Lecture 21: Socket options and Broadcast and Multicast
Lecture 22: Nonblocking and Signal Driven IO and