COP5570 Concurrent, Parallel, and Distributed Programming (Spring 2024)

Textbook abbreviation: UNP - Unix Network Programming and APUE - Advanced Programming in the UNIX Environment.


Syllabus


program examples

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