This course aims to provide theoretical foundations and practical
experience in distributed algorithms. The techniques covered in this
course have wide application. Examples will be drawn from speech and
language processing, machine learning, optimization, and graph
theory. The course will be a combination of:
Reading discussions: Students will take turns presenting papers
and will be responsible for up to 2 papers.
In-Class discussion of assignment solutions by students.
Course project: There will be no final exam. Instead, the course
requires a final project of interest to student, chosen in
consultation with the instructor. The project requires a written
report and a final presentation. In many cases, the data, software
toolkit, and key components for the project will be made
Prerequisites: A graduate level course on machine learning or
probability and statistics. Students should be comfortable coding in
at least one programming language.