teaching
CMSC 201
Data Structures (S2017)
overview | logistics | schedule | labs | presentations | resourcesTentative Schedule (changes frequently)
week | date | topics | readings | labs | |
1 | 1/30/2017 | course introduction | syllabus; pg. 3 -- 7 | ||
2/1/2017 | java programming model | 1.1 (pg. 8 -- 38) | |||
2/3/2017 | stats; CLI | 1.1 (pg. 39 -- 50); javac/java tutorial | lab 1 | ||
2 | 2/6/2017 | data abstraction; interfaces | 1.2 (pg. 64 -- 95) | ||
2/8/2017 | implementations | 1.2 (pg. 96 -- 109) | |||
2/10/2017 | fraction ADT; testing | lab 2 | |||
3 | 2/13/2017 | bags, queues, and stacks | 1.3 (pg. 121 -- 131) | ||
2/15/2017 | array implementations | 1.3 (pg. 132 -- 141) | |||
2/17/2017 | ring buffers; array-based queues | lab 3 | |||
4 | 2/20/2017 | linked lists | 1.3 (pg. 142 -- 157) | ||
2/22/2017 | linked stacks & queues | ||||
2/24/2017 | tsp; debugging | debugging | lab 4 | ||
5 | 2/27/2017 | analysis | 1.4 (pg. 172 -- 188) | ||
3/1/2017 | 1.4 (pg. 189 -- 205) | ||||
3/3/2017 | empirical evaluation | lab 5 | |||
6 | 3/6/2017 | EXAM 1 | |||
3/8/2017 | sorting | 2.1 (pg. 243 -- 262) | |||
3/10/2017 | word games; recursion | lab 6 | |||
7 | 3/13/2017 | mergesort | 2.2 (pg. 270 -- 282) | ||
3/15/2017 | |||||
3/17/2017 | no class | ||||
8 | 3/20/2017 | SPRING BREAK | |||
3/22/2017 | |||||
3/24/2017 | |||||
9 | 3/27/2017 | quicksort | 2.3 (pg. 288 -- 302) | ||
3/29/2017 | heaps; priority queues | 2.4 (pg. 309 -- 327) | |||
3/31/2017 | convex hulls; multiway heaps | comparators: pg. 338--340 | lab 7 | ||
10 | 4/3/2017 | symbol tables | 3.1 (pg. 361 --386) | ||
4/5/2017 | binary search trees | 3.2 (pg. 396 -- 414) | |||
4/7/2017 | zipf's law; self-organizing symbol tables | lab 8 | |||
11 | 4/10/2017 | huffman codes | |||
4/12/2017 | java collections | oracle tutorial | |||
4/14/2017 | EXAM 2 | ||||
12 | 4/17/2017 | balanced search trees | 3.3 (pg. 424--431) | ||
4/19/2017 | |||||
4/21/2017 | lab 9 | ||||
13 | 4/24/2017 | red/black trees | 3.3 (pg. 432 -- 447) | ||
4/26/2017 | hash tables | 3.4 | |||
4/28/2017 | evaluating hash functions | lab 10 | |||
14 | 5/01/2017 | ADVISING DAY | |||
5/3/2017 | sets | 3.5 (pg. 486 -- 501) | |||
5/5/2017 | symbol graphs | 4.1 (pg. 518--521; 548 -- 556) | lab 11 | ||
15 | 5/8/2017 | undirected graphs | 4.1 (pg. 515 -- 533) | ||
5/10/2017 | graph search (BFS/DFS) | 4.1 (pg. 534 -- 547) | |||
5/12/2017 | |||||
16 | 5/15/2017 | presentations | |||
5/17/2017 | |||||
5/19/2017 | EXAM 3 | ||||
17 | 5/22/2017 |