CS201 Data Structures F21 Schedule
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. |