Keith J. O'Hara

teaching

CMSC 201

Data Structures (F2020)

overview | logistics | schedule | labs | presentations | resources

Tentative Schedule (changes frequently)

week date topics readings labs
1 8/31/2020 course introduction syllabus; pg. 3–7; "Programming as Theory Building" by Naur
9/02/2020 benford's law; histograms; CLI 1.1 (pg. 36–41); javac/java tutorial lab 1
9/04/2020 java programming model; python/java tutor; jshell 1.1 (pg. 8–35 & 42–50)
2 9/07/2020 data abstraction; interfaces 1.2 (pg. 64–89)
9/09/2020 fraction ADT; testing JUnit: Getting Started lab 2
9/11/2020 implementations; assertions 1.2 (pg. 90–109)
3 9/14/2020 bags, queues, and stacks; infix & postfix 1.3 (pg. 121–131)
9/16/2020 infix & postfix expressions lab 2.5
9/18/2020 array implementations & generics 1.3 (pg. 132–135)
4 9/21/2020 debugging & resizing debugging; 1.3 (pg. 136–137)
9/23/2020 ring buffers; array-based queues pg. 147–151 of Intro to Programming in Java by S&W lab 3
9/25/2020 iterators 1.3 (pg. 138–140)
5 9/28/2020 linked lists 1.3 (pg. 142–157)
9/30/2020 TSP lab 4
10/02/2020 traversals
6 10/05/2020 analysis 1.4 (pg. 172–188)
10/07/2020 empirical evaluation; log-log plots 1.4 (pg. 189–205) lab 5
10/09/2020 EXAM 1 (1.1–1.3)
7 10/12/2020 selection and insertion sort 2.1 (pg. 243–257)
10/14/2020 sorting comparison / word games lab 6
10/16/2020 recursion; 2.2 (pg. 270–282)
8 10/19/2020 mergesort 2.2 (pg. 270–282)
10/21/2020 revision day
10/23/2020 quicksort 2.3 (pg. 288–301)
9 10/26/2020 symbol tables; binary search 3.1 (pg. 378–386)
10/28/2020 zipf's law & self-organizing symbol tables 3.1 (pg. 361–377); 3.2 (pg. 407–414) lab 7
10/30/2020 binary search trees I 3.2 (pg. 396–405)
10 11/02/2020 balanced search trees 3.3 (pg. 424–431)
11/04/2020 BST traversal 3.2 (pg. 406–414)
11/06/2020 red/black trees 3.3 (pg. 432–447)
11 11/09/2020 hash tables 3.4 (pg. 458–463)
11/11/2020 hash functions & sets 3.5 (pg. 486–505) lab 8
11/13/2020 separate chaining & linear probing 3.4 (pg. 464–477)
12 11/16/2020 heaps; priority queues 2.4 (pg. 309–327)
11/18/2020 d-heaps; convex hulls comparators: pg. 338–340 lab 9
11/20/2020 EXAM 2 (1.4–3.5)
13 11/23/2020 THANKSGIVING
11/25/2020
11/27/2020
14 11/30/2020 undirected graphs 4.1 (pg. 518–534)
12/02/2020 symbol graphs 4.1 (pg. 548–556) lab 10
12/04/2020 paths; dfs; bfs 4.1 (pg. 535–547)
15 12/07/2020
12/09/2020 ADVISING DAY
12/11/2020 presentations
16 12/14/2020
12/16/2020 COMPLETION WEEK
12/18/2020