http://www.cs.utah.edu/~suresh
suresh at cs utah edu
Ph: 801 581 8233
Room 3404, School of Computing
50 S. Central Campus Drive,
Salt Lake City, UT 84112.

Course Syllabus

This version of the syllabus reflects material taught in Fall 2011. The outline for different years is mostly similar.

The study of algorithms is, at one level, the study of techniques driven by rigorous formal analysis: divide and conquer, greedy algorithms, recursion, O() notation and the like. At another level, algorithms are about abstraction: what is the core computational structure underlying a problem, and how might we unlock it ?

In this course, we will study algorithms at the level of techniques, and at the level of structure. Formalization, a key step in the practice of using algorithms, will play an important role in this class.

Textbook

There will be no official textbook for this class. Reading material for the lectures will be drawn mostly from Jeff Erickson’s collection of lecture notes in algorithms. A valuable textbook reference is

Other references that you might find useful are

Lecture Outline

Material in this module is drawn from lectures in this class at Stanford. Please visit the page for related reading and source papers.

What we cover next is upto you ! In the past I’ve covered quantum computing, algorithmic game theory, how to steal elections, zero knowledge proofs (or how to convince someone your proof is correct without telling them the proof), computational origami, and more ! You decide, I teach. Email me with your thoughts.

 

Policies

Please see the homework policy page.

Homework/Projects

There will be between 5-7 assignments, which will include both “pen-and-paper” questions and at least one programming question. In addition, if you are registered for CS 6150, you will also be expected to do a semester-long project. More details on the nature of the project will be provided shortly.

Submitting homeworks

All homeworks and project reports will be turned in online as PDF. You will find that LaTeX will be the best way for you to write the homeworks (especially with the amount of math involved). LaTeX is available on all CADE machines. A not-so-short guide to LaTeX is available, and tex.stackexchange.com is another valuable resource.