CS240 Winter 2024 Lectures

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.

Where technology allows, screen-casts from the lecture, and scans of the scribbles on the slide-prints, will be posted on LEARN.

Winter 2024 Slides

The slides for each module will be posted as the term progresses.

Module # Topic Slides Readings
Module 0 Administrivia Print/Display Version
None
Module 1 Introduction and Asymptotic Analysis Print/Display Version

Edited Version (Jan 16, 11:19pm)
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 Print/Display Version
Course notes Chapter 2
Optional: Sedgewick   9.1 - 9.4
Module 3 Sorting, Average-Case and Randomized Algorithms Print/Display Version

Edited Version (Feb 2, 10:21am)
Course notes Chapter 1.5, 3
Optional: Goodrich & Tamassia   8.3
Optional: Sedgewick   6.10, 7.1, 7.2, 7.8, 10.3, 10.5
Module 4 Dictionaries Print/Display Version

Edited Version (Feb 8, 2:03 pm)
Course notes Chapter 4
Optional: Goodrich & Tamassia   3.1, 4.1, 4.2
Module 5 Other Dictionary Implementations Print/Display (edited) Version
Course notes Chapter 5
Optional: Sedgewick    9.1-9.4
Module 6 Dictionaries for Special Keys Print/Display Version

Edited Version (Feb 15, 1:29pm)

2nd Edited Version (Feb 27, 4:27pm)
Course notes Chapter 6
Optional: Goodrich & Tamassia   23.5.1-23.5.2
Optional: Sedgewick    12.4, 15.2-15.4
Module 7 Dictionaries via Hashing Print/Display Version
Course notes Chapter 7
Optional: Goodrich & Tamassia   6.4
Optional: Sedgewick    12.2, 14.1 - 14.4
Module 8 Range-Searching in Dictionaries of Points Print/Display Version

Edited Print/Display Version

2nd Edited Print/Display Version

Course notes Chapter 8
Optional: Goodrich & Tamassia   21.1, 21.3
Module 9 String Matching Print/Display Version

Edited Version
Course notes Chapter 9
Optional: Goodrich & Tamassia   23
Module 10 Compression Print/Display Version
Course notes Chapter 10
Optional: Goodrich & Tamassia   10.3
Module 11 External Memory Print/Display Version

Edited Version
Course notes Chapter 11
Optional: Goodrich & Tamassia   20.1-20.3
Optional: Sedgewick    16.4

Textbooks

Course notes:

The following books are on reserve in the DC library for reference and additional resources: