COSC 273: Parallel and Distributed Computing
course materials for Spring 2021
Welcome to the Spring 2021 edition of COSC 273: Parallel and Distributed Computing! Here, you will find links to course materials and assignments. Please start by reading the course syllabus.
Notes
Week 01 (Feb. 15–19)
Week 02 (Feb. 22–26)
- Partially Ordered Sets and Scheduling
- AMP Chapter 01, Sections 1–2, 4, 6 (by Wednesday)
- AMP Chapter 02, Sections 1–4, 7, skim 9 (by Friday)
Slides
Lectures
- Lecture 01: Introduction and Motivation
- Lecture 02: Limitations of Parallelism and Distributed Control
- Lecture 03: Mutual Exclusion I
- Lecture 04: Mutual Exclusion II
- Lecture 05: Mutual Exclusion III
- Lecture 06: Concurrent Objects I
- Lecture 07: Concurrent Objects II
- Lecture 08: Concurrent Objects III
- Lecture 09: Linearizability and Progress
- Lecture 10: More on Linearizability and Progress
- Lecture 11: And More on Linearizability and Progress
- Lecture 12: Progress and Locks
- Lecture 13: Lock Implementations
- Lecture 14: More on Locks
- Lecture 15: Thread Local Objects
- Lecture 16: Concurrent Linked Lists
- Lecture 17: More Linked Lists
- Lecture 18: Lazy and Nonblocking Lists
- Lecture 19: Pools and Queues
- Lecture 20: Lock-free and Bounded Queues
- Lecture 21: A Bounded Queue
- Lecture 22: Stacks
- Lecture 23: Consensus 1
- Lecture 24: Consensus 2
- Lecture 25: Consensus & Beyond
Lab Slides
- Lab Week 01
- Lab Week 02
- Lab Week 03
- Lab Week 04
- Lab Week 05
- Lab Week 06
- Lab Week 07
- Lab Week 09
- Lab Week 11
- Lab Week 13
Labs
- Lab 01: Estimating Pi (Due 2/26/21)
- Lab 02: Computing Shortcuts (Due 3/12/21)
- Lab 03: Visualizing the Mandelbrot Set (Due 3/26/21)
- Lab 04: Computing Primes (Due 4/16/21)
- Lab 05: Sorting (Optional. Complete by 5/19/21 for credit.)
Assignments
- Assignment 01 (Due 3/5/21)
- Assignment 02 (Due 3/19/21)
- Assignment 03 (Due 4/2/21)
- Assignment 04 (Due 4/23/21)
- Assignment 05 (Due 5/7/21)
Final Project
- Project Proposal (Due 4/9/21)
- Proof of Concept (Due 5/7/21)
- Project Video (Due 5/19/21)
- Final Project (Due 5/28/21)