CSE 429: Algorithms for Modern Computing Systems

Thomas P. Hayes · University at Buffalo · Fall 2026

Course Logistics

LecturesMWF 2:00–2:50 p.m.
Clemens 322
InstructorThomas P. Hayes
thayes2@buffalo.edu
Office hoursMF 3:00-4:00pm
Davis 113R
Course communicationAnnouncements and Q&A will be posted through the course Piazza space.

First meeting: Monday, August 24.

What this course is about

We will study the design and analysis of algorithms for parallel and distributed systems. We will see how algorithm design changes when many processors cooperate or when machines communicate over a network.

Topics include parallel computation, message-passing algorithms, clocks and causality, distributed snapshots and leader election, fault tolerance and consensus, peer-to-peer systems, and blockchains. Depending on the model, we will care about running time, work, communication, synchronization, and other relevant costs.

Semester Schedule

The schedule is tentative; topics may shift by a class or two. University dates below are based on UB's Fall 2026 academic calendar.

WeekDatesTopicsAssessment / other
1Aug 24–28Parallel computation models; PRAM (CREW/CRCW); work and spanHomework 1 assigned
2Aug 31–Sep 4Parallel algorithms: prefix/scan, reductions, sorting networksHomework practice
3Sep 7–11Message-passing models and network topologiesMonday, Sep 7: Labor Day holiday; Assessment 1
4Sep 14–18Lamport clocks, vector clocks, causal orderingHomework practice
5Sep 21–25Global state and snapshots; distributed mutual exclusionAssessment 2
6Sep 28–Oct 2Distributed leader election; review for Midterm 1Midterm 1
7Oct 5–9Crash and Byzantine fault models; synchronous consensusHomework practice
8Oct 12–16Asynchronous consensus; FLP impossibility resultOct 12–13: Fall Break; classes resume Wed Oct 14; Assessment 3
9Oct 19–23Crash fault tolerance; Paxos, Raft, and distributed commitHomework practice
10Oct 26–30Byzantine fault tolerance; Byzantine agreement protocolsAssessment 4
11Nov 2–6Peer-to-peer networks; DHTs (including Chord); review for Midterm 2Midterm 2
12Nov 9–13Blockchain basics; Merkle trees; UTXO and account modelsHomework practice
13Nov 16–20Blockchain consensus; proof of work and proof of stakeAssessment 5
14Nov 23–27Distributed ledgers, smart contracts, and scalabilityNov 25–28: Thanksgiving Break; Monday Nov 23 is the only class meeting this week
15Nov 30–Dec 4Consistency models: eventual consistency and linearizability; cumulative reviewAssessment 6 and final-exam review
Last classDec 7Final review / wrap-upUB's last day of classes
FinalsDec 9–16Final examination periodComprehensive Final Exam; exact day/time per UB final-exam schedule

UB's standard Fall 2026 calendar has its last day of classes on Monday, December 7, a reading day on Tuesday, December 8, and final examinations from December 9 through December 16.

Assessment

Homework is practice and is not graded. You may use notes, the internet, and AI tools while working on it. The in-class assessments and exams test whether you can solve related problems on your own.

ComponentWeightPurpose
In-class assessments (6)20%Short, individual problems based on recent homework and lectures.
Top Hat checks10%Low-stakes questions during class that provide practice and feedback.
Midterm 120%In-class exam covering the first part of the course.
Midterm 220%In-class exam covering the middle part of the course.
Final exam30%Comprehensive in-class final exam.
Homework0%Regular practice for the in-class assessments and exams.

How homework and assessments fit together

A typical cycle is: learn a topic in lecture, work through related homework, and then solve new problems on an in-class assessment.

Important: In-class assessments and exams are individual work. No internet, AI tools, notes, or collaboration are permitted unless explicitly authorized.

Exams

There are two midterm exams and one comprehensive final exam. Expect questions on algorithm design, analysis, correctness, impossibility results, and the computational model under discussion.

Course Policies

Prerequisite background

You should already be comfortable with asymptotic notation, recurrence equations, basic data structures, and standard sequential algorithms, including fundamental graph and tree algorithms. This course builds on that material rather than reteaching it from scratch.

Academic integrity

All graded in-class work must be your own work. Homework may use outside resources, including AI assistance. AI assistance is not permitted on an in-class assessment or exam unless explicitly authorized.

All students are expected to follow University at Buffalo and department policies concerning academic integrity.

Course materials

Please do not redistribute course-specific materials, assessments, solutions, or recordings without permission.

Resources

Textbook

Algorithms Sequential & Parallel, 3rd edition, R. Miller and L. Boxer, Cengage Learning, 2013.

Lecture notes and problem sets will be posted through the course LMS.

Communication

Use the course Piazza space for questions of general interest to the class. Use email for private matters.