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 | ||||