This is a rough schedule of topics for each day and the release and due dates for each homework assignment. Homework assignments (especially later ones) often have a slightly longer time between release and due date than the daily class activities, which are typically assigned on a Monday/Wednesday/Friday and due the by the following class day.

Class topics and homework information may change over the course of the term. Please treat this schedule as a rough guide for seeing what we’ll be focusing on, and expect that there will be shifts as the term progresses.

“Carrano” refers to our textbook, Data Structures and Abstractions with Java by Carrano and Henry, 5th Edition.

Date Homework/Reading Due Lab Activity Homework Out
Week 1   Intro to Java  
W 9/15 Reading: Syllabus, this schedule, collaboration policies; Fill out Background Survey Java Scavenger Hunt  
F 9/17 Reading: Jumping into Java, Carrano Introduction and Appendix B Sections B.1-B.29 First Java Program HW1: Object-Oriented Practice
Week 2   Intermediate Java  
M 9/20 Reading: Carrano Appendix C Inheritance  
W 9/22 Reading: Carrano Prelude ArrayLists and Interfaces  
F 9/24 HW1, Reading: Carrano Java Interlude 1 & “The Interface Comparable in Java Interlude 5 & Java Interlude 8 & HashMap Generics and HashMaps HW2: Country Stats Displayer
Week 3   Stacks and Queues  
M 9/27 Reading: Carrano 1.1-1.12 & 3.1-3.8 Linked Data Structures  
W 9/29 Reading: Fairytales about Stacks and Queues & Carrano 7.1-7.4 Queues  
F 10/1 HW2; Reading: Carrano 5.1-5.2 Stacks HW3: Maze Solver
Week 4   Efficiency and Lists  
M 10/4 Reading: Carrano 4.1-4.17 Asymptotic Analysis  
W 10/6 Reading: Carrano 10.1-10.7 & 12.1-12.6 Linked Lists Part 1  
F 10/8 HW3; Reading: Carrano 17.1-17.2 & 17.8-17.11 Linked Lists Part 2 HW4: Country Sorter List
Week 5   Recursion and Sorting  
M 10/11 Reading: Carrano 2.34-2.38 & 11.1-11.3 Array Efficiency  
W 10/13 Reading: Carrano 9.1-9.9 & 9.11-9.14 Recursion  
F 10/15 HW4; Reading: Carrano 16.1 & 16.10-16.14 Quicksort HW5: Quicksort Analysis
Week 6   Trees  
M 10/18   Mid-term Break!  
W 10/20 Reading: Carrano 24.1-24.10 & 24.28-24.30 Binary Search Trees  
F 10/22 HW5; Reading: Carrano 24.12-24.16 & 25.11 Tree traversals HW6: WordCloud Maker
Week 7   Advanced Trees  
M 10/25 Reading: Carrano 26.40-26.41 & 28.13-28.22 2-3 Trees  
W 10/27 Reading: This page Sections 12.17.1 & 12.17.3; (Optional) Heap Computational Fairytale Heaps  
F 10/29 HW6; This page Section 13.12.1; This page Section 12.17.4 Uses of Heaps HW7: Flashcard Displayer
Week 8   Graphs  
M 11/1 Reading: Carrano 29.1-29.6 & 30.1-30.3 Graph implementations  
W 11/3 Reading: Carrano 29.11-29.13 Complexity of DFS and BFS  
F 11/5 HW7; Reading: Carrano 29.16-29.20 Shortest Paths HW8: WikiPaths
Week 9   Hashing  
M 11/8 Reading: Carrano 22.1-22.8 & 22.10-22.11 Hashing  
W 11/10 Reading: OpenDSA Open Hashing and Collision Resolution Collision Resolution  
F 11/12 HW8 Intro to final project Final project
Week 10   Wrapping up  
M 11/15   Minimum Viable Product  
W 11/17   [Final project work day]  
F 11/19 (Optional) Corrections Wrap up; review; course evaluations  
Exam Period      
    Final project due Wednesday, 11/24, 5pm. Any request for an extension must go through the Dean of Students office as I am not otherwise permitted to consider work submitted after this time.