Computer Science 361
Algorithms and Data Structures
Fall 2018

Course Details Syllabus Lectures Resources

Below is the tentative schedule of topics. We may cover topics earlier or later than listed depending upon the pace of the course. Homework assignments are generally assigned on Friday and due 1 week later. Written assignments are due in class. Programming assignments are due by 11:59pm to Moodle.


[Week 1] Introduction, Stable Matching problem, Time complexity
[Week 2] Asymptotic Growth
  • Reading: 2.1-2.4 (2.3 is optional)
  • Code: None
  • Assignment: HW2 due Friday 9/14 in-class
  • No class on Monday 9/3 for Labor Day
[Week 3] Priority Queues and Graphs
[Week 4] Graphs and Greedy Algorithms
  • Reading: 3.1-3.3, 3.6, 4.1, 4.4, 4.5, 4.8
  • Code: None
  • Assignment: HW4 due Friday 9/28 by 11:59pm
  • HW4 is a paired programming assignment
[Week 5] Greedy Algorithms
[Week 6] Divide and Conquer
  • Reading: 5.1-5.3
  • Code: MergeSort
  • Assignment: Midterm study guide
[Week 7] Divide and Conquer and Exam
  • Reading: 5.1-5.3
  • Code: Stock Market Problem
  • Assignment: None
  • Exam review on Wednesday and exam on Friday
[Week 8] Divide and Conquer: Recurrence Trees
  • Reading: 5.1-5.3
  • Code: None
  • Assignment: HW6 due Friday 10/26 in class
[Week 9] Dynamic Programming
  • Reading: 6.1, 6.2, 6.4, 6.6, 6.8
  • Code: None
  • Assignment: None
[Week 10] Dynamic Programming
  • Reading: 6.1, 6.2, 6.4, 6.6, 6.8
  • Code: None
  • Assignment: HW7 due 11/9 in class
[Week 11] Dynamic Programming and Balanced Trees
  • Reading: 6.1, 6.2, 6.4, 6.6, 6.8, 2-3 Trees
  • Code: None
  • Assignment: HW8 due 11/28 by 11:59pm
[Week 12] Balanced Trees
[Week 13] Balanced Trees
[Week 14] NP-Completeness
[Week 15] NP-Completeness
  • Reading: 8.1-8.4
  • Code: None
  • Assignment: None
  • Last day of classes is Wednesday


Last modified: Fri Aug 16 12:06:44 PDT 2013