This syllabus is tentative and subject to change.
Be sure to check frequently throughout semester for additions and changes.
Readings are from "Data Structures and Abstractions with Java" by Carrano and Savitch
| Week | Dates | Topic | Reading & Notes | Assigned Work | Deb's Slides |
| 0 | 9/2 |
Course Overview and Java Review | Chapter 1-3 and Appendix A-D |
Review as necessary |
Lec 0: Java review
Hello.java
FileIO.java
|
| 1 | 9/6-9/10 |
Lists | Chapter 4 & 5 | |
Lec 1: Modularity, Abstraction, List
Lec 2: Array-based List Implementation
|
| 2 | 9/13-9/17 |
More List Implementations | Chapter 6 | A0 Due: 9/17 11:59pm |
Lec 3: Linked Node Lists
Lec 4: Doubly Linked Lists
|
| 3 | 9/20-9/24 |
Iterators, Complexity and Big-O Notation | Chapter 7, 8 & 9 |
A1: Lists Due: 9/27 11:59pm |
Lec 5: Iterators
Lec 6: Complexity Analysis
|
| 4 | 9/27-10/1 |
Recursion & Sorting | Chapter 10 & 11 |
H1: Big-Oh Due: 10/1 11:59pm |
Lec 7: Big-O & Recursion
Lec 8: Recursion & Comparison Sorts
|
| 5 | 10/4-10/8 |
Sorting | Chapter 12 | MIDTERM 1: 10/5 7:15pm 113 Psychology |
Lec 9: Sorting Out Soring video
Lec 10: Shell Sort and Merge Sort
|
| 6 | 10/11-10/15 |
More Sorting and Searching | Chapter 13, 16 & 17 | |
Lec 11: Return Exam and Quick Sort
Lec 12: Sorted List ADT, Searching and DictionaryADT
|
| 7 | 10/18-10/22 |
Stack ADT | Chapter 20 & 21 | A2: Sorting Comparsion Due: 10/18 11:59pm |
Lec 15: Stack ADT
Lec 16: Stack Uses Continued
|
| 8 | 10/25-10/29 |
Queue ADT | Chapter 22 & 23 | A3: Function Eval w/Stacks Due: 11/01 11:59pm |
Lec 15: Queue ADT
Lec 16: Queue Implementations
|
| 9 | 11/1-11/5 |
Dictionary ADT, Hashing & Chaining | Chapter 18 & 19 |
H2: Stacks, Queues & Dictionarys Due: 11/04 11:59pm |
Lec 17: Hash Table Implementation of Dictionary ADT
Lec 18: Collision Resolutions
|
| 10 | 11/8-11/12 |
Tree ADT | Chapter 24 | MIDTERM 2: 11/9 7:15pm 113 Psychology |
Lec 19: Tree ADT
Lec 20: Types of Trees
|
| 11 | 11/15-11/19 |
Tree ADT | Chapter 25 & 26 | |
Lec 21: Binary Tree Examples & Implementations
Lec 22: BST Algorithms
|
| 12 | 11/22-11/24 |
More Trees Balanced Search Trees | Chapter 27 & 28 | |
Binary Node Rotation Algorithms
Lec 23: Heap Algorithms
|
| 13 | 11/29-12/3 |
Graph ADT | Chapter 29 & 30 | |
Lec 24: 2-3, 2-3-4, and Red-Black Trees
Lec 25: Graph Intro
|
| 14 | 12/6-12/10 |
Graph Implementations | Chapter 29 | A4: Trees Due 12/10 11:59pm |
Lec 26: Graph Traversals
Lec 27: Graph Implementations
|
| 15 | 12/13-12/15 |
Graph Implementations | Chapter 30 | H3: Trees & Graphs Due in class on 12/14 (in class) |
Lec 28: Cycle Detection and Vertex Coloring Algorithms
|
| FINAL | 12/18 |
FINALS WEEK | | FINAL EXAM: 12/18 7:25-9:25pm, Room: 1240 CS | |