CSCI 303-01, Spring 2026: Schedule

Date Topic Overview To do
01/21 Introduction
  • Course logistics
  • What CSCI 303 is about

Reading: Chapter 0 of the supplemental notes for a review of some basic mathematics.

Homework 1, due by 1800 on Wednesday, February 4.
From the notes:

  • Exercises 0.6.6, 0.6.8, 0.6.9, 1.8.5, and 1.8.6.
  • Upload a PDF version of your work to HW 01 on Gradescope.
11/26 Class snowed out ❄️ ❄️ ❄️
21/28 Analysis of algorithms
  • Algorithmic complexity
  • Asymptotic analysis
  • O, Ω, Θ

Reading: Chapter 1 in the supplemental notes.

32/2 Mergesort
  • Divide and conquer (recursive decomposition)
  • Complexity analysis
  • Ω(n lg n) bound on sorting

Reading: Chapters 2, 3, and 4 in the supplemental notes.

42/4 Quicksort
  • Quicksort
  • Quickselect

Reading: Chapter 5 in the supplemental notes.

Homework 2, due by 1700 on Wednesday, February 11.
From the notes:

  • Exercises 3.8.9, 3.8.18, 3.8.19, 3.8.20;
  • Exercises 4.5.3, 4.5.13;
  • Exercises 5.6.2, 5.6.5.
  • Upload a PDF version of your work to HW 02 on Gradescope.
52/9 Union-find
  • Connectivity
  • Quick-find
  • Quick-union
  • Union-find

Reading: Chapter 6 in the supplemental notes.

62/11 Greedy algorithms
  • Greedy algorithms for optimization
  • Interval scheduling

Reading:

  • Chapter 7 in the supplemental notes.
72/16 Greedy algorithms and matroids
  • Matroids
  • Maximal independent sets
  • Greedy algorithms on matroids
  • Illustration

Reading:

  • Chapter 7 in the supplemental notes.
123/4 Midterm exam 😈
Spring break! 🌳 🌷
133/16 Campus closed for the Storm-pocalyse 🌪️ ⛈️ ⚡
143/18 Discussion of the midterm
153/23 Dynamic programming
  • Knapsack problem
  • Associativity of matrix multiplication
  • Needleman-Wunsch
163/25 Graphs
  • Representing graphs
  • Breadth-first search
  • Depth-first search
  • Toplogical sort