Skip to main content

This course is an introduction to the fundamental data structures of computer science: linked lists, stacks, queues, trees (BSTs, heaps, AVLs and other self-balancing BSTs), hash tables, sets (Union-Find), graphs and their accompanying algorithms. Principles of algorithmic analysis and object reasoning and design will be introduced using mathematical techniques for the notions of both complexity and correctness. More practical issues, such as memory management, searching, sorting and hashing, will also be covered.

Zipcodes - AVLTrees has been released. It is due before 11:59PM on Thursday, May 9, 2024.
Course number
Elizabeth Dinella
Teaching Assistants
Course Staff
Code Samples From Lecture
Discussion Forum
Time and place
Spring 2024, MW 1-2:30pm, Location: Park 245
Lab M: 2:40-4:00pm, Location: Park 231
One of the following courses is required with a grade of 2.0 or better (or permission of the instructor):
  1. CS B110
  2. CS B113
  3. CS H105
Course Readings
Each lecture has an accompanying chapter/section of the textbook. We will be using the 6th edition of Data Structures and Algorithms by Goodrich, Tamassia and Goldwasser as the required text.
Some lectures will have accompanying optional reading related to the lecture’s topic


  • Homeworks: 35%
  • Labs: 5%
  • Midterms: 20%
  • Final: 35%
  • Participation: 5%
Late day policy
As a general rule, no late homework will be accepted.
See the Policies for more details.