Check
Course CS 3000: Algorithms and Data
Semester Spring 2024
Instructor Soheil Behnezhad (WVH 348)
Meeting Time Tue Fri 9:50 am - 11:30 am at West Village G 104
Prerequisites Prior to enrolling in this course, students should possess a strong foundation in rigorous mathematical reasoning and basic functions (such as logarithms, exponentials, etc.). Additionally, students need to have passed CS1800 (Discrete Structures).
TAs
  • Isha Chadalavada
  • Jamie Tjia
  • Shishir Volety
  • Beini Wang
  • Ryan Zhu
Useful Links Office Hours Calendar, Canvas, Piazza, Office Hours Waitlist
Discussions Please use Piazza for course-related inquiries such as material, assignments, due dates, etc. Unless necessary, avoid direct emailing to the TAs or the instructor to promote efficient and collaborative discussions within the course.
Course Overview

This course will present the mathematical techniques used for the design and analysis of algorithms. Topics will include asymptotic notation, recurrences, sorting, greedy algorithms, dynamic programming, graph algorithms, NP-hardness, and if time permits, we will cover advanced topics.

Grading
  • 40% Homework
  • 35% 2 Midterms
  • 25% Final Exam
  • +5% Class Participation
(Tentative) Schedule
WD Date Topics Refs Notes
Tue 01/09 Introduction and Course Policy HW1 out
Fri 01/12 Sorting: Selection Sort, Insertion Sort, Merge Sort
Tue 01/16 Asymptotic Analysis
Fri 01/19 Karatsuba's Algorithm, Recurrences, Recursion Trees
Tue 01/23 Master Theorem, Selection HW1 due, HW2 out
Fri 01/26 Dynamic Programming: Fibonacci, WIS
Tue 01/30 Dynamic Programming: WIS
Fri 02/02 Dynamic Programming: Knapsack HW2 due, HW3 out
Tue 02/06 Dynamic Programming: LIS, LCS
Fri 02/09 Dynamic Programming: Edit Distance
Tue 02/13 Midterm Review HW3 due
Fri 02/16 Midterm 1
Tue 02/20 Greedy Algorithms HW4 out
Tue 02/23 Greedy Algorithms
Tue 02/27 Graphs: Graph Definitions, DFS
Fri 03/01 Graphs: DFS, Topological Sort HW4 due
Tue 03/05 No class: Spring Break
Fri 03/08 No class: Spring Break
Tue 03/12 Graphs: BFS HW5 out
Fri 03/15 Graphs: Dijkstra
Tue 03/19 Graphs: Bellman-Ford
Fri 03/22 Midterm 2 Review HW5 due
Tue 03/26 No class HW6 out
Fri 03/29 Midterm 2
Tue 04/02 Graphs: MST
Fri 04/05 NP Hardness
Tue 04/09 NP Hardness
Fri 04/12 Advanced Algorithms
Tue 04/16 Advanced Algorithms + Final Review HW6 due (4/18)
Tue 04/23 Final Exam
Academic Integrity

You cannot collaborate with anyone on quizzes and exams. However, you are encouraged to work with your classmates on homework problems. Note that using the internet or collaborating with students/people outside the class are prohibited. If you collaborate with other students on a homework, then:

  • You must write all solutions by yourself.
  • You may not share any written solutions.
  • You must state all your collaborators.
  • We reserve the right to ask you to explain any solution.
You are expected to maintain highest academic integrity standards throughout, including all tests and assignments. See Northeastern's Academic Integrity Policy.

Resources