Bryn Mawr College
CMSC 151: Data Structures
Syllabus -- Fall 2022
Last updated: Sep 14, 2022

This document will evolve through the semester. Looking forward it expresses a plan. Looking backward, it expresses what actually happened.

Week 1. Aug 30, Sep 1 Introduction, Java Review, Generics Chapters Prelude, 1, Java Interlude 1 Lab 1 -- Login and Visual Studio Code Homework 1 assigned
Week 2. Sep 6,8 Bag Implementation; Algorithm Analysis Ch 2, 4, Java Interlude 2, Java Interlude 8 Lab 2 -- Some Unix Homework 2 -- arrays and zip codes
Week 3. Sep 13, 15 ArrayList, starting on Maps Ch 10, 11, Java Interlude 3, ch 20, ch 21.1-21.8 Homework 3 -- ArrayLists
Week 4. Sep 20,22 Maps and Hashtables ch 20-23
Week 5. Sep 27, 29 Review and Midterm 1 No Lab
Week 6. Oct 4,6 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
Week 7. Oct 11,13 Fall Break
Week 8. Oct 18, 20 Recursion, Sorted Lists, Binary Search ch 8,9,14
Week 9. Oct 25, 27 Recursion ch 17, 19, 24.32-34, ch 27(1-16) no code for heaps on Midterm 2, Java Interlude 7 Abstract Classes
Week 10. Nov 1, 3 Review and Midterm 2
Week 11. Nov 8,10 Sorting Ch 15 and 16
Week 12. Nov 15, 17 Linked Lists ch 3,10,11,12
Week 13, Nov 22 Trees ch 24, 25
Week 14. Nov 29, Dec 1 Trees, Binary Search Trees, Balanced Binary Trees, Graphs Ch 25, 26, 28, 29
Week 15. Dec 6, 8 Graphs Ch 29