CS331: Algorithms and Complexity, Spring 2020

Logistics: Lecture: Mon/Wed 2:00 - 3:30, UTC 3.104
Discussion section: Fri 10:00 - 11:00 CBA 4.348, 11:00 - 12:00 GAR 1.126
Course web page: http://www.cs.utexas.edu/~ecprice/courses/331/
Unique number: 50450 / 50455
Professor: Eric Price
Email: ecprice@cs.utexas.edu
Office: GDC 4.510
Office Hours: 3:45-4:45pm Monday
TA: Shivam Gupta
Email: shivamgupta@utexas.edu
Office Hours: 3:30-4:30pm Friday
GDC basement, TA station 2.
Problem Sets:
Course Notes: Lecture notes will be provided after class, but you should keep your own notes: topics will be covered in more detail in class than in the posted notes. The class will also follow Jeff Erickson's book.
DateTopicCorresponding book chapters
Jan 22 Multiplication and Fibonacci numbers Chapter 0
Jan 27 Recursion Chapter 1 and Chapter 2
Jan 29 Dynamic programming Chapter 3
Feb 3 DP exercises
Feb 5 Tree DP; More DP exercises
Feb 10 Knapsack; Last DP exercises
Feb 12 Greedy algorithms Chapter 4
Feb 17 Stable marriage
Feb 19 Exam 1
Feb 24 Graph searching Chapter 5
Feb 26 Graph reductions
March 2 DFS and topological sort Chapter 6
March 4 Strongly connected components
March 9 Minimum spanning trees: Boruvka, Kruskal Chapter 7
March 11 Prim; start shortest paths
March 30 Shortest Paths: Bellman-Ford, Dijkstra, slides video Chapter 8
April 1 A* search: slides video
Content: This undergraduate course will cover the basics of algorithms. The tentative outline for the course is as follows, with one week per topic:
  • Introduction; multiplication
  • Recursion; fibonacci numbers
  • Basic dynamic programming
  • Advanced dynamic programming
  • Introduction to graphs; Test 1
  • Shortest paths, minimum spanning trees
  • Network flows, maximum matching, and minimum cut
  • Linear Programming
  • Test 2; Randomized algorithms
  • Approximation algorithms
  • NP-completeness
  • Hash tables
  • Advanced topics
Prerequisites: The following coursework with a grade of at least C-: CS 311, 311H, 313H, or 313K; CS 307, 314, 314H, 315, or 315H; CS 310, 310H, 429, or 429H; M362K or SSC321; and credit with a grade of at least C- or registration for M340L or SSC329C.
Grading: 50%: Homework
30%: Two in-class exams
20%: Final exam
Key dates:
  • Exam 1: Wednesday, February 19.
  • Exam 2: Wednesday, April 8.
  • Final exam: take-home between last two classes.
Text: The course will generally follow Jeff Erickson's book, which is freely available online.
There will be a homework assignment every week.

Collaboration policy: You are encouraged to collaborate on homework. However, you must write up your own solutions. You should also state the names of those you collaborated with on the first page of your submission.
Students with
Any student with a documented disability (physical or cognitive) who requires academic accommodations should contact the Services for Students with Disabilities area of the Office of the Dean of Students at 471-6259 (voice) or 471-4641 (TTY for users who are deaf or hard of hearing) as soon as possible to request an official letter outlining authorized accommodations.
Additional Class Policies

You should read the CS Department Code of Conduct. The policies described there will be followed in this class.