Lectures are held every Tuesday and Thursday throughout the term. Students are asked to attend their assigned lecture section, as seating in the classroom is limited.
Lecture slides will appear on this page. Sometimes these include animations/overlays, in case of which there will be both a Display version (with them) and a Print version (omitting them, but otherwise the same content).
The individual chapters of the course notes are available from the protected files area. If you want further reading, a list of textbooks that cover the topics of the course well are listed below, and specific relevant areas are listed with each module.
Lecture Time and Locations
All lectures happen Tuesday/Thursday MC 4045 8:30am - 9:50am Eric Schost
MC 4045 10:00am - 11:20pm Eric Schost
MC 2054 11:30am - 12:50pm Armin Jamshidpey
MC 2054 1:00pm - 2:20pm Armin Jamshidpey
Spring 2026 Slides
The slides for each module will be posted as the term progresses.
| Module # | Topic | Slides | Readings | |
|---|---|---|---|---|
| Module 0 | Administrivia |
Module 0 |
None | |
| Module 1 | Introduction and Asymptotic Analysis |
Module 1 |
Course notes Chapter 1 Optional: Course notes Appendix A-B if you need a refresher. Optional: Goodrich & Tamassia 1.1, 1.2, 1.3 Optional: Sedgewick 8.2, 8.3 |
|
| Module 2 | Priority Queues and Heaps | |||
| Module 3 | Efficient Sorting and Selection | |||
| Module 4 | Binary Search Tree and AVL Tree | |||
| Module 5 | Skip Lists | |||
| Module 6 | Tries | |||
| Module 7 | Hashing | |||
| Module 8 | Quadtrees, KD-Trees, and Range Search | |||
| Module 9 | String Matching | |||
| Module 10 | Data Compression | |||
| Module 11 | External Memory |
Textbooks
Course notes:- CS240: Data Structures and Data Management by Therese Biedl
with the help of many fellow CS 240 instructors is available
from the protected files area.
Module X corresponds roughly to Chapter X of the course notes, but occasionally a different order made more sense for the notes---follow the instructions given in the notes. Usually you can skip any part of the course notes that is marked `(cs240e)' or that is in `Historical remarks' or `Appendix' (but see what your instructor actually covers in class).
- For some of its figures, the latex source is available. This may be freely used when writing assignments.
The following books are on reserve in the DC library for reference and additional resources:
- [Goodrich & Tamassia] Algorithm Design and Applications (2015)
by Michael T. Goodrich, Roberto Tamassia (mountain scene)
- [Sedgewick] Algorithms in C++, Third Edition (1998)
by Robert Sedgewick, Addison-Wesley
- [BKOS] Computational Geometry: Algorithms and Applications
by Mark de Berg, Otfried Cheong, Marc van Kreveld and Mark Overmars.
Reference for multi-dimensional data structures. - [CLRS] Introduction to Algorithms, 2nd edition (2001)
by T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein, McGraw-Hill
Introduction to Algorithms, 2nd edition is also avaliable online (in campus).