E232: Fundamental Data Structures

In this course, Fundamental Data Structures, students will learn about the foundational data structures used by almost all programming languages. Rather than simply presenting these data structures as fait accompli, we will start from scratch, working together to develop the beautiful and important ideas that result. The course assumes familiarity with the Java Programming language, which is covered in the microcourse “Introduction to Java and Software Engineering.”