CME 323: Distributed Algorithms and Optimization

Spring 2020, Stanford University
04/07/2020 - 06/10/2020
Lectures will be posted online (two per week)

Instructor: Reza Zadeh

Computer Science is evolving to utilize new hardware such as GPUs, TPUs, CPUs, and large commodity clusters thereof. Many subfields such as Machine Learning and Optimization have adapted their algorithms to handle such clusters.

Topics include distributed and parallel algorithms for: Optimization, Numerical Linear Algebra, Machine Learning, Graph analysis, Streaming algorithms, and other problems that are challenging to scale on a commodity cluster. The class will focus on analyzing programs, with some implementation using Apache Spark and TensorFlow.

The course will be split into two parts: first, an introduction to fundamentals of parallel algorithms and runtime analysis on a single multicore machine. Second, we will cover distributed algorithms running on a cluster of machines.

Class Format

We will focus on the analysis of parallelism and distribution costs of algorithms. Sometimes, topics will be illustrated with exercises using Apache Spark and TensorFlow.

Pre-requisites: Targeting graduate students having taken Algorithms at the level of CME 305 or CS 161. Being able to competently program in any main-stream high level language. There will be homeworks, a midterm, and a final exam.

Grade Breakdown:
Homeworks: 40%
Midterm: 30%
Final: 30%

Parallel Algorithms by Guy E. Blelloch and Bruce M. Maggs [BB]
Introduction to Algorithms by Cormen, Leiserson, Rivest, Stein [CLRS]
Learning Spark by Holden Karau, Andy Konwinski, Patrick Wendell, Matei Zaharia [KKWZ]
TensorFlow for Deep Learning by Bharath Ramsundar and Reza Zadeh [RZ]


Homeworks will be assigned via Piazza and due on Gradescope.

Lecture videos will be posted under the Resources tab on Piazza.

We will be hosting office hours via Zoom, however, we encourage students to post questions publicly on Piazza.

The midterm and final will be take-home (exact dates TBD).


Homework 1 [pdf] Due April 23rd.

Homework 2 [pdf] [code] Due May 7th.

Homework 3 [pdf] Due May 28th.

Homework 4 [pdf] Due June 9.

Lectures and References

Previous Years

Spring 2015: [class webpage]

Spring 2016: [class webpage]

Spring 2017: [class webpage]

Spring 2018: [class webpage]


Reza: rezab at stanford
Office hours: by appointment


Robin Brown: rabrown1 at stanford
Office hours: Time TBD.
Zoom link: On piazza