CS 241 - Data Structures and Algorithms

Spring 2024

Administrivia

  • Instructor: Phillip Kirlin
  • Office hours: Mondays 10-11, Tuesdays 12:30-2, Wednesdays 11-12, Thursdays 2-3:30. Also available by appointment.
  • Canvas page: Use for grades and online assignment submissions.
  • Syllabus and additional policies.

Resources

Calendar

Thu, Jan 11
Introduction
Tue, Jan 16
Snow day
Thu, Jan 18
Java review (Zoom class)
Project 1, due Jan 30
9:30 recording | 9:30 whiteboard | 9:30 code
11:00 recording | 11:00 whiteboard | 11:00 code
Tue, Jan 23
List ADT (Zoom class)
Homework 1, due Feb 1
9:30 recording | 9:30 whiteboard | 9:30 code
11:00 recording | 11:00 whiteboard | 11:00 code
Reading (Lists and ArrayLists)
Thu, Jan 25
Finish ArrayList, start big-oh
9:30 recording | 9:30 whiteboard | 9:30 code | 9:30 slides
11:00 recording | 11:00 whiteboard | 11:00 code | 11:00 slides
Tue, Jan 31
Big-oh
Slides
Reading
Thu, Feb 1
Recursive big-oh, begin linked lists
Recursive big-oh handout
Reading (Singly-linked lists)
Project 2, due Feb 13
Tue, Feb 6
Singly-linked lists
Thu, Feb 8
Doubly-linked lists
Reading (Doubly-linked lists)
Homework 2, due Feb 15 on paper
Tue, Feb 13
Stacks, queues, quadratic sorting
Reading (Quadratic sorting)
Thu, Feb 15
Finish quadrating sorting
Project 3, due Mar 4
Tue, Feb 20
Midterm I
Thu, Feb 22
Set/Map abstract data types
Reading (Set/Map ADTs)
Tue, Feb 27
Trees and traversals
Reading (General trees)
Thu, Feb 29
Binary search trees
Reading (Binary search trees)
Tue, Mar 5
Binary search trees
Thu, Mar 7
Hashing
Reading (Hashing)
Project 4, due Mar 26
Homework 3, due Mar 21 on paper
Tue, Mar 12
Spring break
Thu, Mar 14
Spring break
Tue, Mar 19
Hashing
Thu, Mar 21
Mergesort
Reading (Mergesort)
Tue, Mar 26
Quicksort
Reading (Quicksort)
Homework 4, due Apr 2 on paper
Thu, Mar 28
Easter break
Tue, Apr 2
Review/catchup
Thu, Apr 4
Midterm II
Project 5, due Apr 16
Tue, Apr 9
Graphs
Reading (Graphs)
Thu, Apr 11
Graph implementations
Tue, Apr 16
Dijkstra’s algorithm
Reading (Dijkstra’s algorithm)
Thu, Apr 18
Breadth-first search, depth-first search
Tue, Apr 23
Priority queues, heaps
Thu, Apr 25
Wrapup