teaching
CMSC 201
Data Structures (F2017)
overview | logistics | schedule | labs | presentations | resourcesTentative Schedule (changes frequently)
week | date | topics | readings | labs |
1 | 9/4/2017 | course introduction | syllabus; pg. 3 -- 7 | |
9/6/2017 | java programming model | 1.1 (pg. 8 -- 38) | ||
9/8/2017 | histograms; CLI | 1.1 (pg. 39 -- 50); javac/java tutorial | lab 1 | |
2 | 9/11/2017 | data abstraction; interfaces | 1.2 (pg. 64 -- 95) | |
9/13/2017 | implementations | 1.2 (pg. 96 -- 109) | ||
9/15/2017 | fraction ADT; testing | lab 2 | ||
3 | 9/18/2017 | bags, queues, and stacks | 1.3 (pg. 121 -- 131) | |
9/20/2017 | array implementations | 1.3 (pg. 132 -- 141) | ||
9/22/2017 | ring buffers; array-based queues | lab 3 | ||
4 | 9/25/2017 | linked lists | 1.3 (pg. 142 -- 157) | |
9/27/2017 | linked stacks & queues | |||
9/29/2017 | TSP; debugging | debugging | lab 4 | |
5 | 10/2/2017 | analysis | 1.4 (pg. 172 -- 188) | |
10/4/2017 | 1.4 (pg. 189 -- 205) | |||
10/6/2017 | empirical evaluation | lab 5 | ||
6 | 10/9/2017 | FALL BREAK | ||
10/11/2017 | recursion | |||
10/13/2017 | EXAM 1 | |||
7 | 10/16/2017 | sorting | 2.1 (pg. 243 -- 262) | |
10/18/2017 | mergesort | 2.2 (pg. 270 -- 282) | ||
10/20/2017 | word games; recursion | lab 6 | ||
8 | 10/23/2017 | quicksort | 2.3 (pg. 288 -- 301) | |
10/25/2017 | heaps; priority queues | 2.4 (pg. 309 -- 327) | ||
10/27/2017 | convex hulls; multiway heaps | comparators: pg. 338--340 | lab 7 | |
9 | 10/30/2017 | symbol tables | 3.1 (pg. 361 --386) | |
11/1/2017 | binary search trees | 3.2 (pg. 396 -- 414) | ||
11/3/2017 | zipf's law; self-organizing symbol tables | lab 8 | ||
10 | 11/6/2017 | binary search trees II | ||
11/8/2017 | huffman codes | |||
11/10/2017 | EXAM 2 | |||
11 | 11/13/2017 | balanced search trees | 3.3 (pg. 424--431) | |
11/15/2017 | red/black trees | 3.3 (pg. 432 -- 447) | ||
11/17/2017 | tree traversals | lab 9 | ||
12 | 11/20/2017 | java collections | oracle tutorial | |
11/22/2017 | THANKSGIVING | |||
11/24/2017 | ||||
13 | 11/27/2017 | hash tables | 3.4 (pg. 458 -- 463) | |
11/29/2017 | separate chaining & linear probing | 3.4 (pg. 464 -- 477) | ||
12/1/2017 | evaluating hash functions | lab 10 | ||
14 | 12/4/2017 | sets; sparse vectors | 3.5 (pg. 486 -- 505) | |
12/6/2017 | undirected graphs | 4.1 (pg. 518--547) | ||
12/8/2017 | symbol graphs | 4.1 (pg. 548 -- 556) | lab 11 | |
15 | 12/11/2017 | presentations | ||
12/13/2017 | ADVISING DAY | |||
12/15/2017 | EXAM 3 | |||
16 | 12/18/2017 | COMPLETION DAYS | ||
12/20/2017 | ||||
12/22/2017 |