Check
Course CS 3000: Algorithms and Data
Semester Fall 2026
Instructor Soheil Behnezhad (WVH 348)
Meeting Time MW 2:50 pm - 4:30 pm at Cargill Hall 097
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
  • Amir Azarmehr
  • Alma Ghafari
  • Aarav Gandbhir
  • Saransh Singh
  • Sai Ananya Suresh
Useful Links Office Hours Calendar, Canvas, Piazza
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 is an introductory undergraduate course in algorithms. All computer programs, from the simplest ones running in the humble calculator to the complex ones underlying large language models, implement specific algorithms for solving particular computational problems. The focus of this course is on learning algorithm design techniques for solving computational problems underlying a wide range of applications. While we will also touch on how algorithms translate to programs, our emphasis will be on the algorithm design and analysis. In this class, you will

  • Work on a range of computational problems that arise in diverse applications
  • Learn how to formulate problems precisely from somewhat informal descriptions
  • Learn new algorithmic design techniques used to solve the problems
  • Learn proof techniques critical for reasoning about your algorithms
  • Learn analysis techniques critical to determine the efficiency of algorithms.
Specific topics covered in the course typically include:
  • Basics tools for analysis of algorithms: proof by induction, asymptotic notation
  • Divide-and-conquer algorithms
  • Dynamic programming
  • Basic graph algorithms: BFS, DFS, topological sorting, strongly connected components
  • Graph optimization: shortest paths, minimum spanning trees
  • Amortized analysis, randomized algorithms
  • Greedy algorithms
  • Network flow algorithms and applications
  • NP-completeness
Grading
  • 20% Homework Assignments
  • 50% 2 Midterms
  • 30% Final Exam
  • +5% Participation (class attendance, answering questions on piazza, etc.)
(Tentative) Schedule
WD Date Topics Refs Notes
Wed 09/09 Introduction and Course Policy
Mon 09/14 Sorting: Selection Sort, Insertion Sort, Merge Sort HW1 out
Wed 09/16 Asymptotic Analysis
Mon 09/21 Karatsuba's Algorithm, Recurrences, Recursion Trees
Wed 09/23 Master Theorem, Selection HW1 due, HW2 out
Mon 09/28 Dynamic Programming: Fibonacci, WIS
Wed 09/30 Dynamic Programming: WIS, Knapsack
Mon 10/05 Dynamic Programming: LIS, LCS HW2 due, HW3 out
Wed 10/07 Dynamic Programming: Edit Distance
Mon 10/12 No class: Indigenous Peoples Day
Wed 10/14 Midterm Review HW3 due
Mon 10/19 Midterm 1
Wed 10/21 Greedy Algorithms HW4 out
Mon 10/26 Greedy Algorithms
Wed 10/28 Graphs: Graph Definitions, DFS
Mon 11/02 Graphs: DFS, Topological Sort HW4 due
Wed 11/04 Graphs: BFS HW5 out
Mon 11/09 Graphs: Dijkstra
Wed 11/11 No class: Veterans Day
Mon 11/16 Midterm 2 Review
Wed 11/18 Midterm 2 HW5 due
Mon 11/23 Graphs: Bellman-Ford HW6 out
Wed 11/25 No class: Fall Break
Mon 11/30 Graphs: MST
Wed 12/02 TBD
Mon 12/07 TBD
Wed 12/09 Final Review HW6 due

Final Exam: Date and time to be announced according to the university final exam schedule.

Academic Integrity

You cannot collaborate with anyone during the exams. You can collaborate with other students and use AI for your homework assignments. The latter is highly discouraged as the main purpose of the homeworks is to prepare you for the exams which account for 80% of your grade. Note that even if you use AI:

  • You must understand and write all solutions by yourself.
  • You may not share any written solutions with other students.
  • You must state all your student and AI collaborators, and state the nature of the collaboration for each problem.
  • We reserve the right to ask you to explain any solution that you submit.
You are expected to maintain highest academic integrity standards throughout, including all tests and assignments. See Northeastern's Academic Integrity Policy.

Resources