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.

In progress--revised schedule will be posted later today!

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 homework assessments and exams test whether you can solve related problems on your own.

Course grades will be computed using the following weights:

Component Weight Purpose
Participation (including Top Hat checks) 15% Class participation, including low-stakes questions that provide practice and feedback. See the discretionary policy below.
In-class homework assessments (6; top 4 counted) 30% Short, individual problems based on recent homework and lectures. Only the top four assessments count toward the course grade.
Midterm exams (2) 20% combined In-class exams covering the first and middle parts of the course.
Final exam 35% Comprehensive final exam.
Homework 0% Regular practice for the in-class assessments and exams.

Participation and instructor discretion

Up to a third of the participation grade (up to 5 percentage points of the overall course grade) is at my discretion. I reserve the right to use this leeway to correct anything I perceive as imbalanced or unjust in the course grades. This discretionary portion is included within the 15% participation component.

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 homework assessment.

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

Grading Scale

Final letter grades are calculated based on your accumulated weighted score across all components, using the following cut-offs:

(Fractions of percentage points will be rounded down.)

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.

Accessibility and accommodations

Students who need disability-related accommodations should contact Accessibility Resources, 60 Capen Hall, 716-645-2608. Please share your Accommodation Memo with me so that we can arrange the approved accommodations.

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.

Additional University Information

Inclusive Learning Environment

Students of all backgrounds and perspectives are welcome in this course. Treat classmates, course assistants, and the instructor with fairness and respect. Respectful disagreement and questions are welcome. If you have concerns about the classroom environment, please contact me privately.

Absences and Unexpected Difficulties

If illness, an emergency, or another unexpected difficulty prevents you from attending class or completing an assessment or exam, please contact me as soon as possible. Requests involving university-recognized excused absences or approved accommodations will be addressed consistently with applicable UB policies. The course-specific grading and assessment rules above continue to apply.

University Policy References

Students are expected to follow UB's Academic Integrity Policies and Student Code of Conduct. Consult these resources for university procedures and student rights and responsibilities.

Student Support Resources

If you are unsure whether disability-related accommodations may be appropriate, contact Accessibility Resources for guidance about requesting accommodations.

For support with personal or emotional difficulties, contact UB Counseling Services at 716-645-2720.