Keith J. O'Hara

teaching

CMSC 201

Data Structures (S2020)

overview | logistics | schedule | labs | presentations | resources

Tentative Schedule (changes frequently)

week date topics readings labs
1 1/27/2020 course introduction syllabus; pg. 3–7; "Programming as Theory Building" by Naur
1/29/2020 java programming model 1.1 (pg. 8–38)
2/1/2020 benford's law; histograms; CLI 1.1 (pg. 39–50); javac/java tutorial lab 1
2 2/3/2020 data abstraction; interfaces 1.2 (pg. 64–89)
2/5/2020 implementations; assertions 1.2 (pg. 90–109)
2/7/2020 fraction ADT; testing JUnit: Getting Started lab 2
3 2/10/2020 bags, queues, and stacks; infix & postfix 1.3 (pg. 121–131)
2/12/2020 array implementations 1.3 (pg. 132–141)
2/14/2020 ring buffers; debugging pg. 147--151 of Intro to Programming in Java by S&W lab 3
4 2/17/2020 linked lists 1.3 (pg. 142–157)
2/19/2020 traversals
2/21/2020 tsp lab 4
5 2/24/2020 analysis 1.4 (pg. 172–188)
2/26/2020 empirical evaluation; log-log plots 1.4 (pg. 189–205)
2/28/2020 EXAM 1
6 3/2/2020 selection and insertion sort 2.1 (pg. 243–257)
3/4/2020 recursion; mergesort 2.2 (pg. 270–282)
3/6/2020 word games lab 5
7 3/9/2020
3/11/2020 quicksort 2.3 (pg. 288–302)
3/13/2020 lab revision
8 3/16/2020 priority queues 2.4 (pg. 309–312)
3/18/2020 binary heaps 2.4 (pg. 313–327)
3/20/2020 convex hulls; multiway heaps comparators: pg. 338–340 lab 6&7
9 3/23/2020 SPRING BREAK
3/25/2020
3/27/2020
10 3/30/2020 symbol tables; binary search 3.1 (pg. 361 –386)
4/1/2020 EXAM 2
4/3/2020 zipf's law; self-organizing symbol tables lab 8&9
11 4/6/2020 binary search trees I 3.2 (pg. 396–406)
4/8/2020 binary search trees II 3.2 (pg. 407–414)
4/10/2020
12 4/13/2020 balanced search trees 3.3 (pg. 424–431)
4/15/2020 red/black trees 3.3 (pg. 432–447)
4/17/2020 hash functions 3.4 (pg. 458–463) lab 10
13 4/20/2020 hash tables & separate chaining 3.4 (pg. 458–468)
4/22/2020 linear probing 3.4 (pg. 469–477)
4/24/2020 dictionary applications 3.5 (pg. 486–505)
14 4/27/2020 ADVISING DAY
4/29/2020 undirected graphs 4.1 (pg. 515–529)
5/1/2020 symbol graphs 4.1 (pg. 548–556) lab 11
15 5/4/2020 graph search (BFS/DFS) 4.1 (pg. 530–547)
5/6/2020 presentations
5/8/2020 java collections oracle tutorial
16 5/11/2020 EXAM 3
5/13/2020 COMPLETION WEEK
5/15/2020
17 5/18/2020