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

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

Lecture 3: Process management

Programming assignment No. 1: SPMD program launcher, Files provided for the assignment including a self-grading sheet. Please use basic_readme_template.txt as the template to write your README file. Due: January 30, 11:59pm.

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

Programming assignment 2: FSU Shell , Self Grading sheet. Due Feburary 20, 11:59pm.

Lecture 8: Inter-process Communication

Lecture 9: Introduction to Parallel Programming

Lecture 10: Optimizing single-thread performance: loop optimizations

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 11: x86 SIMD extensions

Lecture 12: OpenMP

Programming assignment No. 3: Optimization and Parallelizatio of a 2D DFT code, provided baseline code for the assignment, Due March 13, 11:59pm (Parts 1 and 2) and March 24 (Parts 3).

Term project information, due dates: March 10, 13, 27, April 10, April 21/23, April 23.

Lecture 13: Message Passing Interface 1

Lecture 14: Message Passing Interface 2

Lecture 15: Intro. to Networking and TCPIP Overview

Lecture 16: Basic TCP Socket API

Lecture 17: TCP Client and Server implementation

Programming assignment No. 4: Internet Tic-Tac-Toe server, Due April 16. 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 18: TCP Client and Server implementation (continue)

Lecture 19: UDP

Lecture 20: Broadcast and Multicast and Socket options

Lecture 21: Messaging layer: communication protocols and algorithms

Lecture 22: Nonblocking and Signal Driven IO and

Term project presentation schedule, Grading sheet for term project presentation

Final exam to be held on April 30 (Thursday) 12:30pm-2:30pm in the classroom. You can bring a 8"x11" (A4) cheat sheet to the exam. Some information about the final exam