CS 594: Representations in Algorithm Design
Spring 2022

General Information | Topics | Grading | Scribe Notes | Homework | Final Project

General Information

Instructor: Xiaorui Sun
Email: xiaorui@uic.edu
Office hours: Thueday 2pm-3pm on zoom
Classroom: TBH 180B or zoom (first two weeks)
Time: Tues/Thurs 12:30pm-1:45pm
Course website (this page): http://www.cs.uic.edu/~xiaorui/cs594/
Textbook: No textbook

Introduction

In the long history of algorithm design, it is crucial to transform objects to appropriate structures (i.e., representations) to make properties of objects more concrete so that solving problems on the representations becomes easier. Most notably, many matrix algorithms are based on eigendecomposition to represent matrices in terms of eigenvalues and eigenvectors.

Additionally, in the era of big data, dynamic, streaming, or parallel data processing becomes necessary, and also raises new challenges in algorithm design, as the tradeoffs between different efficiency measures need to be balanced. To design efficient algorithms in these computational models, it is also desirable to represent data properly so that dynamic, streaming, or parallel process is possible.

This course aims at timely dissemination of foundational algorithmic developments from a representation viewpoint. This course will introduce variant representations of combinatorial objects, and discuss how these representations are used to design efficient algorithms for computational problems.

Topics

Materials

Grading

Scribe Notes

Click here to obtain scribe notes from the lectures.

Homework

Click here to obtain homework.

Final Presentation

Click here to obtain final project information.