teaching
CMSC 201
Data Structures (F2015)
overview | logistics | schedule | labs | presentations | hackpad | resourcesTentative Schedule (changes frequently)
| week | date | topics | readings | labs | |
| 1 | 8/31/2015 | course introduction | syllabus; pg. 3 -- 7 | ||
| 9/2/2015 | java programming model | 1.1 (pg. 8 -- 38) | |||
| 9/4/2015 | games with strings & arrays | 1.1 (pg. 39 -- 50) | lab 1 | ||
| 2 | 9/7/2015 | data abstraction; interfaces | 1.2 (pg. 64 -- 95) | ||
| 9/9/2015 | implementations | 1.2 (pg. 96 -- 109) | |||
| 9/11/2015 | fraction ADT; interfaces | java for python | lab 2 | ||
| 3 | 9/14/2015 | bags, queues, and stacks | 1.3 (pg. 121 -- 131) | ||
| 9/16/2015 | array implementations | 1.3 (pg. 132 -- 141) | |||
| 9/18/2015 | infix & postfix expressions | lab 3 | |||
| 4 | 9/21/2015 | linked lists | 1.3 (pg. 142 -- 157) | ||
| 9/23/2015 | linked stacks & queues | ||||
| 9/25/2015 | linked lists for point sets | lab 4 | |||
| 5 | 9/28/2015 | analysis | 1.4 (pg. 172 -- 205) | ||
| 9/30/2015 | sorting | 2.1 (pg. 243 -- 262) | |||
| 10/2/2015 | lab 5 | ||||
| 6 | 10/5/2015 | mergesort | 2.2 (pg. 270 -- 282) | ||
| 10/7/2015 | quicksort | 2.3 (pg. 288 -- 302) | |||
| 10/9/2015 | EXAM 1 | ||||
| 7 | 10/12/2015 | FALL BREAK | |||
| 10/14/2015 | heaps; priority queues | 2.4 (pg. 309 -- 327) | |||
| 10/16/2015 | streaming algorithms; multiway heaps | lab 6 | |||
| 8 | 10/19/2015 | recursion | recursion & moodle reading | ||
| 10/21/2015 | symbol tables; binary search | 3.1 (pg. 361 --386) | |||
| 10/23/2015 | frequency counting | lab 7 | |||
| 9 | 10/26/2015 | binary search trees | 3.2 (pg. 396 -- 414) | ||
| 10/28/2015 | |||||
| 10/30/2015 | lab 8 | ||||
| 10 | 11/2/2015 | balanced search trees | 3.3 (pg. 424--431) | ||
| 11/4/2015 | red/black trees | 3.3 (pg. 432 -- 447) | |||
| 11/6/2015 | knapsack; dynamic programming | lab 9 | |||
| 11 | 11/9/2015 | huffman codes | |||
| 11/11/2015 | review | ||||
| 11/13/2015 | EXAM 2 | ||||
| 12 | 11/16/2015 | hash tables | 3.4 (pg. 458 -- 468) | ||
| 11/18/2015 | linear probing | 3.4 (pg. 469 -- 477) | |||
| 11/20/2015 | evaluating hash functions | lab 10 | |||
| 13 | 11/23/2015 | sets | 3.5 (pg. 486 -- 501) | ||
| 11/25/2015 | java collections | oracle tutorial | |||
| 11/27/2015 | THANKSGIVING BREAK | ||||
| 14 | 11/30/2015 | undirected graphs | 4.1 (pg. 515 -- 533) | ||
| 12/2/2015 | graph search (BFS/DFS) | 4.1 (pg. 534 -- 547) | |||
| 12/4/2015 | symbol graphs | 4.1 (pg. 548 -- 556) | lab 11 | ||
| 15 | 12/7/2015 | minimum spanning trees | 4.3 (pg. 604 -- 629) | ||
| 12/9/2015 | ADVISING DAY | ||||
| 12/11/2015 | shortest paths & review | 4.4 (pg. 638 -- 657) | |||
| 16 | 12/14/2015 | presentations | |||
| 12/16/2015 | |||||
| 12/18/2015 | FINAL | ||||