CS 161 - Design and Analysis of Algorithms - Spring, 2022

Course staff

  • Instructor:
    • Ioannis Panageas
      • Email: ipanagea at ics dot uci dot edu.
      • Office hours: Wednesday 3:00-4:00pm, DBH 4072
  • Teaching Assistants:
    • Will Overman
      • Email: overmana at uci dot edu.
      • Office hours: Tuesday 2:30-3:30pm, DBH 4065
    • Stelios Stavroulakis
      • Email: sstavrou at uci dot edu.
      • Office hours: Wednesday 1:00-2:00pm, DBH 4065

Class announcements

  • Class announcements will be made on canvas. Please check there frequently.

Class meetings

  • Lectures: 12:30-01:50pm TuTh BS3 1200
    • Tests will be given during the lecture time.
  • Piazza - Gradescope:
    • Questions of general interest about the course material, the homework, and the tests should be posted on piazza.
    • Regrade requests on the homework and midterm will be handled by TAs or Gradescope.

Syllabus

  • The syllabus, including grading policy, schedule of hws/exams and academic honor code can be found here.

Textbook

  • Required textbook. [GT]   Algorithm Design and Applications, by Michael T. Goodrich and Roberto Tamassia.
  • Recommended textbook. [CLRS]   Introduction to Algorithms, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein.

Schedule of classes and slides

Lecture no.TopicsReading
Lecture 1 (3/29)Administrivia, Introduction
Lecture 2 (3/31) Recap of basic discrete math tools, slides [GT] Sections 1.1, 1.2, 1.3
Lecture 3 (4/5) Recap of basic data structures, binary search slides [GT] Chapter 2, Sections 3.1, 5.2.2
Lecture 4 (4/7) Continue of binary search, insertion/selection sort slides [GT] Chapter 2, Sections 3.1, 5.2.2, 8.2
Lecture 5 (4/12) Av. case of quicksort, divide and conquer, mergesort, counting intersections slides [GT] Sections 8.1, 8.2, 8.3
Lecture 6 (4/14) Divide and conquer (cont.), master theorem, integer multiplication, maxima set slides [GT] Sections 11.1, 11.2, 11.3
Lecture 7 (4/19) Priority Queues, Heaps, Heapsort, Optimality, Stable sorting slides [GT] Chapter 5, Section 8.3
Lecture 8 (4/21) Bucket sort, Radix sort, median select slides [GT] Section 9.1
Lecture 9 (4/26) Greedy method slides [GT] Sections 10.1, 10.2
Lecture 10 (4/28) Midterm 1
Lecture 11 (5/03) Graphs, DFS slides [GT] Sections 13.1, 13.2, 13.3
Lecture 12 (5/05) DFS (cont.), topological sort, BFS slides [GT] Sections 13.1, 13.2, 13.3, 13.4
Lecture 13 (5/10) Shortest path algorithms slides [GT] Sections 14.1, 14.2, 14.3, 14.4, 14.5
Lecture 14 (5/12) MSTs: Prim, Kruskal slides [GT] Sections 15.1, 15.2, 15.3
Lecture 15 (5/17) Maxflow, bipartite matching slides [GT] Sections 16.1, 16.2, 16.3, 16.4
Lecture 16 (5/19) Dynamic Programming slides [GT] Chapter 12
Lecture 17 (5/24) Dynamic Programming cont. slides [GT] Chapter 12
Lecture 18 (5/26) Midterm 2
Lecture 19 (5/31) NP-completeness slides [GT] Chapter 17
Lecture 20 (6/2) NP-completeness reductions slides [GT] Chapter 17

Homework Assignments

  • The homework assignments will be posted in canvas.
  • .