Spring 2023 - CS 401 Computer Algorithms I

Instructor: Ajay Kshemkalyani
Email: first_name@uic.edu
Class meeting times: TR 12:30-1:45pm in classroom; (however, we may meet in Blackboard Collaborate if weather is bad)
Office Hours in Blackboard Collaborate: T 4:00-4:45pm
Discussion Fourm: Piazza
Homework submissions: Gradescope

Teaching Assistant: Danyal Saeed
Email: dsaeed3@uic.edu
Office hours: T 10:30-12noon, R 2:00-3:30pm, in TBH 175


Resources


Course Description

Topics

  1. Some representative problems
  2. Basics of Algorithm Analysis
  3. Graphs
  4. Greedy Algorithms
  5. Divide and Conquer
  6. Dynamic programming
  7. Network Flow
  8. Computational intractability
  9. NP completeness
  10. The class PSPACE
  11. Approximation algorithms (if time permits)
  12. Randomized algorithms (if time permits)

Prerequisites

CS 251; or C or better in Stat 381 and MCS 360

Grading

This course focuses on theoretical principles. There will be no programming. We expect to have about 4-5 homeworks. The following is a tentative breakup of the evaluation scheme and is subject to changes as the course progresses. The final grade is on the curve, i.e., this is relative grading - how you perform with respect to the others in the class.

TENTATIVE course progress chart: Will be updated as we progress.


Face Masks: Masks covering both the mouth and the nose must be worn at all times by all students, faculty, and staff while inside any campus building regardless of vaccination status. If you do not wear a mask, you will be asked to leave the classroom and not allowed back in class unless or until you wear a mask. If you have forgotten your mask, you may pick one up from one of the student information desks on campus during the first two weeks of campus. Students who do not comply with the mask-wearing policy will be reported to the Dean of Students. Eating and drinking are not allowed in classrooms.