CS 201: Data Structures Schedule (Winter 2026)

Adapted from materials by Profs. Dave Musicant and Anya Vostinar

Important Notes


  • You can find a lot of important information, such as student drop-in hours (aka office hours) and course grade determination, on the syllabus.
  • Class topics and homework information may change over the course of the term. Please treat this schedule as a rough guide for what we'll be focusing on and expect changes as the term progresses.
  • Before Class: Complete the readings and/or preparation activities. Class is structured expecting that you have completed these tasks.
  • Restricted Access: Most of the links will require a Carleton login to view. If you're external to Carleton and want access, just shoot me an email.

Date Assignments Due In-Class Activities Assignments Released
Week 1 Intro to Kotlin
Mon 1/5 Intro to Data Structures & GenAI Contract Prep Slides
Software Install Lab
Wed 1/7 Kotlin Basics Prep Slides
Kotlin Basics Lab
Fri 1/9 Classes and Null Safety Prep Slides
Classes Lab
Deliverable: Lunar Lander
Week 2 OOP, Runtime, and Real-World Analyses
Mon 1/12 Constructors Prep Slides
Wed 1/14 Inheritance and Interfaces Prep
Deliverable: Lunar Lander Part 1 Due 10pm
Slides
Inheritance and Interfaces Lab
Fri 1/16 Runtime and Real-World Analyses Prep
Deliverable: Lunar Lander Part 2 Due 10pm
Slides
Run-Time Analysis Lab
Deliverable: Runtime and Real-World Analyses
Week 3 Stacks
Mon 1/19 Stacks Prep
Deliverable: Runtime and Real-World Analyses due 10pm
Slides
Stacks Lab
Deliverable: Maze Solver
Wed 1/21 Backtracking with Stacks Prep Slides
Text Editor Lab
Maze Solving Lab
Fri 1/23 Exam 1
Topics: Kotlin, OOP, Run-Time and Real-World Analyses
Week 4 Linked Lists and Queues
Mon 1/26 Linked Lists Prep
Deliverable: Maze Solver Part 1 Due 10pm
Slides
Singly-Linked List Lab
Deliverable: Card Operations
Wed 1/28 Queues Prep Slides
Queue Lab
Circular Queue Lab
Fri 1/30 Doubly-linked Lists and Double-Ended Queues Prep
Deliverable: Maze Solver Part 2 Due 10pm
Slides
Week 5 Hashing
Mon 2/2 Hashing and Hash Tables Prep
Deliverable: Card Operations Part 1 Due 10pm
Slides Deliverable: Cuckoo Hashing
Wed 2/4 Open Addressing and Rehashing Prep Slides
Fri 2/6 Exam 2
Topics: Stacks, Linked Lists, and Queues
Week 6 Recursion
Mon 2/9 Mid-Term Break!
Wed 2/11 Recursion Review Prep Slides
Recursion Lab
Fri 2/13 Analyzing Recursion Prep
Deliverable: Card Operations Part 2 Due 10pm
Slides
Analyzing Recursion Lab
Week 7 Trees
Mon 2/16 Trees Prep
Deliverable: Cuckoo Hashing Part 1 Due 10pm
Slides
Tree Traversal Lab
Deliverable: Word Counter
Wed 2/18 Binary Search Trees Prep Slides
BST Operations Lab
Fri 2/20 Exam 3
Topics: Hashing and Recursion
Option to Revise Exams 1-2
Week 8 More Trees, Heaps and Priority Queues
Mon 2/23 Prefix Trees Prep
Deliverable: Cuckoo Hashing Part 2 Due 10pm
Slides
Prefix Tree Lab
Wed 2/25 Heaps and Priority Queues Prep Slides
Heaps and PQs Lab
Fri 2/27 AVL Trees Prep
Deliverable: Word Counter Part 1 Due 10pm
Slides
Week 9 Graphs and Sorting
Mon 3/2 Graphs Prep
Deliverable: Word Counter Part 2 Due 10pm
Slides
Graphs Lab
Deliverable: IMDB Graph
Wed 3/4 Graph Search Prep Slides
DFS and BFS Lab
Graph Search Lab
Fri 3/6 Mergesort Prep Slides
Mergesort Lab
Week 10 Sorting and Course Review
Mon 3/9 Quicksort and Heapsort Prep Slides
Tracing Lab
Quicksort Lab
Wed 3/11 No Prep!
Deliverable: IMDB Graph Due 11am
Slides
Date TBD
Time TBD
Exam 4
Topics: Trees, Heaps and Priority Queues, Sorting, and Graphs
Option to Revise Exams 1-3