CMSC 151: Data Structures
Syllabus -- Fall 2021
This document will evolve through the semester. Looking forward it expessses a plan. Looking backward, it expessses what actually happened.
Week 1. 8/31 and 9/2 | Introduction, Java Review, Generics | Chapters Prelude, 1, Java Interlude 1 | Lab 1 -- getting started and csv files | No homework due |
---|---|---|---|---|
Week 2. 9/7 and 9/9 | Bag Implementation; Algorithm Analysis | Ch 2, 4, Java Interlude 2, Java Interlude 8 | Lab 2 -- Some Unix | Homework 1 -- a return to coding (in Java) |
Week 3. 9/14 and 9/16 | ArrayList | Ch 10, 11, Java Interlude 3 | Lab 3 -- Debugging and breakpoints | Homework 2 -- arrays and Zip codes |
Week 4. 9/21 and 9/23 | Hashtables | ch 20-23 | Lab 4 -- Debugging and breakpoints | Homework 3 -- Zip codes and Classes |
Week 5. 9/28 and 9/30 | Review and Midterm 1 | No Lab | No homework due | |
Week 6. 10/5 and 10/7 | Stacks and Queues and Java Comparable | Ch 5-8 (in ch 6, only the Array-based implementation). In ch 7 skip "The ADT Dequeue"
(sections 7.14-7.18). In ch 8, 8.7-8.16, 8.34
Java Interlude 5 -- generics and the Comprable interface |
Lab 5 -- VSC Breakpoints | Homework 4 -- Jane Austen Hashtables |
Week 7. 10/18 and 10/20 | Recursion, Sorted Lists, Binary Search | ch 8,9,14 | Lab 6 -- complete stack | HW 5 -- Capital Gains Stacks |
Week 8. 10/25 and 10/27 | Recursion | ch 17, 19, 24.32-34, ch 27(1-16) no code for heaps on Midterm 2, Java Interlude 7 Abstract Classes | Lab 7 -- Recursive problems | HW 6 -- Recursion with Backtracking (Due in 2 weeks) |
Week 9. 11/2, 11/4 | Review and Midterm 2 | Midterm review Questions | No homework due | |
Week 10. 11/9, 11/11 | Sorting | Ch 15 and 16 | Insertion and Selection sort by Hand | Recursion homework due. Heaps homework assigned |
Week 10. 11/16, 11/18 | Linked Lists | ch 3,10,11,12 | Linked List insertion | Quicksort, due before Thanksgiving |
Week 11. 11/23 | Trees | ch 24, 25 | NO LAB | Linked list Baby Names (yes, over Thanksgiving. ) |
Week 12. 11/30, 12/2 | Trees, Binary Search Trees, Balanced Binary Trees, Graphs | Ch 25, 26, 28, 29 | Balancing Rotations | Trees of Baby Names |
Week 13. 12/7, 12/9 | Graphs | Ch 29 | No Lab | Optional Tree homework |