CS 331: Data Structures and Algorithms

Announcements

  • You should have received an invitation to Mimir, the platform where you'll be completing all assessments this summer. If not, you can sign up here

  • We will be using Discord as our peer support and Q/A forum. If you aren't already a member, please join at https://discord.gg/Kpxqbbp

Calendar

The lecture calendar is tentative and may be updated.

All starter lecture notebooks can be accessed via Google Colab (and directly in the Git repository)

Date Topic Notes Supplements
Aug 25 Syllabus and Overview 00-intro.pdf Syllabus
PythonDS 1.5-1.6
Aug 27 - Sep 8 Python language intro

PythonDS 1.7-1.13
Python Tutorial
Sep 10 - Sep 15 Python data structures PythonDS 1.8.2
Sep 17 - Sep 22 Timing and Runtime complexity runtime-complexity.pdf
PythonDS 3.2-3.7
Sep 24 Array-backed list PythonDS 4.19-4.20
Sep 29 Iterators and Generators
Oct 1 Linked structures
Oct 6 - Oct 13 Linked list PythonDS 4.21
Oct 15 - Oct 22 Map PythonDS 6.5
Oct 27 Stack PythonDS 4.3-4.9
Oct 29 Queue PythonDS 4.10-4.14
Nov 03 - Nov 05 Priority queue Videos: Priority queues #1, #2, #3
PythonDS 7.8-7.10
Nov 10 - Nov 12 Recursion Videos: Recursion #1, #2
PythonDS 5.2-5.10, 6.11
Nov 17 Tree structures PythonDS 7.2-7.5
Nov 19 Binary search tree Video: BSTrees
PythonDS 7.11-7.14
Nov 22 - Nov 26 Thanksgiving Break
Dec 1 - Dec 3 AVL tree Videos: AVLTrees #1, #2, #3
PythonDS 7.15-7.17

Resources

Syllabus

Staff

Reference materials

Development Tools

Exam Catalog