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- Text: Chapters Prelude, 1, Java Interlude 1
 
 - Week 2. 9/7, 9/9 
Bag Implementation; Algorithm Analysis
- Text: Ch 2, 4, Java Interlude 2, Java Interlude 8
 
 -  Week 3. 9/14, 9/16 
Array Lists- Text: Ch 10, 11, Java Interlude 3
 
 - Week 4. 9/21, 9/23 
Hashtables- Text: Ch 20, 21, 22, 23
 
 -  Week 5. 9/28, 9/30 
Midterm 1 and Review -  Week 6. 10/5, 10/7 
Stacks and Queues- 
			Text: 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 
 - 
			Text: 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 
			
 -  Week 7. 10/18, 10/20
Priority Queues, Recursion- Text: Ch 8 - 9
 
 -  Week 8. 10/25, 10/27 
Recursion, Sorted Lists, Search- ch 17, 19, Java Interlude 7
 
 - Week 9. 11/2, 11/4 
Midterm 2 - Week 10. 11/9, 11/11
Sorting- Text: ch 15, 16
 
 - Week 11, 11/16, 11/18 
Linked Lists
- Text: ch 3, 12
 
 - Week 12. 11/23 
Trees and Heaps
- Text: ch 24,25,27
 
 - Week 13. 11/30, 12/2 
Trees, and Binary Search Trees and Balanced Trees - Text: ch 26, 28
 - Week 14. 12/7, 12/9 
Topics and Review - As needed