Computer Science 241: Data Structures and Algorithms
Fall 2025
Administrivia
- Instructor: Phillip Kirlin
- Office hours: Mon 12-1:30, Tue 2:30-3:30, Wed 1-2, Thu 3:30-5. Also available by appointment.
- Canvas page: Use for grades, online assignment submissions, and assignment solutions.
- Syllabus and additional policies.
Resources
Course Calendar
- Thu, Aug 21
- Introduction
- Tue, Aug 26
- Java review
- Project Project 1, due Thu, Sep 4
- Thu, Aug 28
- List ADT
- Tue, Sep 2
- Finish List ADT, start big-oh
- Code: RList.java • RArrayList.java
- Tue, Sep 2
- Big-oh
- Handouts: Big-oh handout
- Thu, Sep 4
- Big-oh
- Tue, Sep 9
- Big-oh
- Handouts: Recursive big-oh
- Project Project 2, due Mon, Sep 22
- Homework Homework 1, due Tue, Sep 16
- Handouts: Recursive big-oh
- Thu, Sep 11
- Singly-linked lists
- Tue, Sep 16
- Doubly-linked lists
- Thu, Sep 18
- Finish doubly-linked lists; stacks and queues
- Tue, Sep 23
- Quadratic sorting
- Homework Homework 2, due Fri, Sep 26
- Handouts: Sorting algorithms
- Homework Homework 2, due Fri, Sep 26
- Thu, Sep 25
- Review
- Tue, Sep 30
- Exam Midterm I
- Thu, Oct 2
- Set and Maps
- Project Project 3, due Thu, Oct 16
- Tue, Oct 7
- Trees, binary trees, traversals
- Thu, Oct 9
- Fall break
- Tue, Oct 14
- Binary search trees
- Handouts: BST handout, BST code
- Thu, Oct 16
- More binary search trees
- Handouts: BST worksheet, Recursive functions
- Tue, Oct 21
- Hashing
- Project Project 4, due Mon, Nov 3
- Homework Homework 3, due Thu, Oct 30
- Project Project 4, due Mon, Nov 3
- Thu, Oct 23
- More hashing
- Tue, Oct 28
- Mergesort
- Handout: Mergesort code
- Thu, Oct 30
- Quicksort
- Handout: Quicksort code
- Tue, Nov 4
- Review
- Thu, Nov 6
- Exam Midterm II
- Tue, Nov 11
- Graphs
- Project Project 5, due Fri, Nov 21