DS 320: Algorithms for Data Science
Spring 2025
Boston University


Course Details

Instructors: Professors Jeffrey Considine and Kira Goldner.
Teaching Assistants: Anup De and Kevin Quinn.
Email: Please use private messages on Piazza for all email needs

Office Hours:
Monday 2–3pm (Prof. Considine, CDS 1625); 3:30–5:30pm (Anup De, 5th floor study area).
Tuesday 11am–12pm and 3:30–4:30pm (Prof. Goldner, CDS 1339).
Wednesday 1–2pm (Prof. Considine, CDS 1625); 3–5pm (Kevin Quinn, 15th floor blue corner).
Thursday 11am–12pm and 3:30–4:30pm (Prof. Considine, CDS 1625).

Lectures and Discussion Sections:
A1 Tuesday/Thursday 2:00–3:15pm, CDS B64.
Discussion Section A2: Friday 10:10-11:00am, IEC B10.
Discussion Section A3: Friday 11:15am-12:05pm, IEC B10.

B1 Tuesday/Thursday 9:30–10:45am, KCB 106.
Discussion Section B2: Friday 12:20-1:10pm, IEC B10.
Discussion Section B3: Friday 1:25-2:15pm, IEC B10.

Important Links:

Homework: Homeworks will be posted on Piazza when they become available. Homework must be typed up using LaTeX; here is a quick resource on LaTeX and here is a LaTeX template you may use for the homework. Here is another short guide to LaTeX. You may find it easier to use Overleaf.


Important Dates (Tentative)

Midterm I: Tues. Feb 25.
Midterm II: Tues. April 1.
Final: (A1) Tues. May 6, 3-5pm and (B1) Thurs. May 8, 9-11am.


Lecture Schedule (Tentative)

The following resources may also be helpful for those who need refreshers on proof concepts:

Below is a table with that will reflect what we cover in each lecture and will point to corresponding reading material. There is no required textbook for this course, as all materials are available online for free and we will switch between materials. Some shorthand for the reading material:
  • KTx = Kleinberg and Tardos chapter x.
  • CLRSx = Cormen, Leiserson, Rivest, and Stein chapter x.
  • Ex = Erickson chapter x.
Resources listed are optional, and often multiple versions of the same material are listed so that you can find what is best suited to you.

Date Topic Resources
Jan 21 Overview and Policies, Runtime and Asymptotics Worksheet, Notes, Slides, KT2.1-2,4, CLRS3.1-2, Logic Guide
Jan 23 Insertion Sort, Induction, and the Comparison-Based Lower Bound Worksheet, Notes, Induction Guide, CLRS2.1, 8.1
Jan 28 Abstract Data Types and Graphs Worksheet, Notes, CLRS10.1-2, 22.1, KT3.1, E5.1-4
Jan 30 Depth-First Search Worksheet, Notes, CLRS22.3, KT3.2-3 (skip BFS for now!), E6.1-3
Feb 4 Topological Sort and Breadth-First Search Worksheet, Notes, KT3.2,6 CLRS22.2,4
Feb 6 Greedy Algorithms I: Dijkstra's Algorithm Worksheet, Notes, KT4.4, CLRS24.3
Feb 11 Greedy Algorithms II: Interval Scheduling Worksheet, Notes, Greedy-Stays-Ahead Guide, KT4.1
Feb 13 Greedy Algorithms III: Optimal Caching Worksheet, Notes, Greedy-Exchange Guide, KT4.3
Feb 18 NO LECTURE (Monday Schedule)
Feb 20 Greedy Algorithms IV: Scheduling to Minimize Lateness Worksheet, Notes, KT4.2, similar to CLRS16.5
Feb 25 MIDTERM
Feb 27 Divide & Conquer I: Mergesort, Solving Recurrences Worksheet, Notes, Divide & Conquer Guide, KT5.1, CLRS4.3-5
Mar 4 Divide & Conquer II: Closest Pair of Points Worksheet, Notes, KT5.4
Mar 6 Divide & Conquer III: Integer and Matrix Multiplication Worksheet, Notes, KT5.5, CLRS4.2, Mitzenmacher's notes
Mar 11 NO CLASS (Spring break)
Mar 13 NO CLASS (Spring break)
Mar 18 Dynamic Programming I: Weighted Interval Scheduling Worksheet, Notes, Dynamic Programming Guide, KT6.1-6.2
Mar 20 Dynamic Programming II: Knapsack Worksheet, Notes, KT6.4
Mar 25 Dynamic Programming III: Segmented Least Squares Worksheet, Notes, KT6.3
Mar 27 Dynamic Programming IV: Bellman-Ford Worksheet, Notes, KT6.8
Apr 1 MIDTERM
Apr 3 NP Completeness Worksheet, Notes, Complexity Guide, KT8.2-3, KT8/CLRS34 for addtl reading
Apr 8 Linear Programming I: Introduction Worksheet, Notes, Linear Programming Guide, KT8.1, KT11.6, Kolman & Beck Textbook
Apr 10 Linear Programming II: Algorithms, Problems, and Duality Worksheet, Notes, Blog Post on Simplex
Apr 15 Linear Programming III: Duality Theory and Zero-Sum Games Worksheet, Notes, The Minimax Theorem without Duality
Apr 17 The Minimax Theorem and Online Learning Worksheet, Notes
Apr 22 Multiplicative Weight Update Worksheet, Notes, Multiplicative Weights Guide
Apr 24 Stable Matching Worksheet, Notes, KT1.1, KT2.3
Apr 29 Approximation Algorithms: Random and Online Worksheet, Notes
May 1 Final Exam Review Worksheet