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. Handouts (lecture slides) for the various lecture topics will appear on this page. A list of textbooks that we use are listed below. Please note that the textbooks are not meant to be treated as a substitute for the lectures.
Spring 2023 Slides
The slides for each module will be posted as the term progresses.
Module # | Topic | Slides | Readings |
---|---|---|---|
Module 0 | Administrivia |
Display Version |
None |
Module 1 | Introduction and Asymptotic Analysis |
Display Version |
Recommended: Biedl Chapter 1 Optional: Goodrich & Tamassia 1.1, 1.2, 1.3 Optional: Sedgewick 8.2, 8.3 |
Module 2 | Priority Queues |
Display Version |
Recommended: Biedl Chapter 2 Optional: Sedgewick 9.1 - 9.4 |
Module 3 | Sorting and Randomized Algorithms |
Display Version |
Recommended: Biedl Chapter 3 Optional: Goodrich & Tamassia 8.3 Optional: Sedgewick 6.10, 7.1, 7.2, 7.8, 10.3, 10.5 |
Module 4 | Dictionaries |
Display Version |
Recommended: Biedl Chapter 4 Optional: Goodrich & Tamassia 3.1, 4.1, 4.2 |
Module 5 | Other Dictionary Implementations |
Display Version |
Recommended: Biedl Chapter 5 Optional: Sedgewick 9.1-9.4 |
Module 6 | Dictionaries for Special Keys |
Display Version |
Recommended: Biedl Chapter 6 Optional: Goodrich & Tamassia 23.5.1-23.5.2 Optional: Sedgewick 12.4, 15.2-15.4 |
Module 7 | Dictionaries via Hashing |
Display Version |
Recommended: Biedl Chapter 7 Optional: Goodrich & Tamassia 6.4 Optional: Sedgewick 12.2, 14.1 - 14.4 |
Module 8 | Range-Searching in Dictionaries of Points |
Display Version Olga's Slides |
Recommended: Biedl Chapter 8 Optional: Goodrich & Tamassia 21.1, 21.3 |
Module 9 | String Matching |
Display Version Olga's Slides |
Recommended: Biedl Chapter 9 Optional: Goodrich & Tamassia 23 |
Module 10 | Compression |
Recommended: Biedl Chapter 10 Optional: Goodrich & Tamassia 10.3 |
|
Module 11 | External Memory |
Recommended: Biedl Chapter 11 Optional: Goodrich & Tamassia 20.1-20.3 Optional: Sedgewick 16.4 |
Textbooks
The course textbook is available on LEARN:
- CS240: Data Structures and Data Management by Therese Biedl with the help of many fellow CS 240 instructors.
- 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 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).