Unless otherwise indicated, Reading refers to the course text: Data Structures and Problem Solving Using Java (3/E), Addison Wesley, ISBN: 0-321-32213-4, 2006. See also Weiss's website for additional material.
Lecture | Date | Topics | Examples/notes | Reading | Lecturer |
---|---|---|---|---|---|
Quick Review & What I Do | Dec 1 | Quick Review of 211 What I Do (when not teaching 211) |
Quick Review & What I Do | LPC | |
Some Open Questions | Nov 29 | 211-Related Open Questions | Some Unresolved Questions | The Open Problems Project | LPC |
Java Odds & Ends | Nov 22 | GUI Drawing & Painting Exceptions Generic Types |
Java Odds & Ends | Appendix B 2.5, 4.7 The Java Tutorial |
LPC |
Finish Graphs | Nov 17 | Union/Find Kruskal's Algorithm for MSTs |
Finish Graphs | 24.1-24.5 | LPC |
GUI Dynamics | Nov 15 | Events Listeners Adapters |
GUI dynamics
Examples |
Appendix B Swing Tutorial |
LPC |
GUI Statics | Nov 10 | Components Containers Layout managers |
GUI Statics
Examples |
Appendix B Swing Tutorial |
LPC |
Graphs & Graph Algorithms | Nov 8 | BFS, DFS Dijkstra's Algorithm Minimum Spanning Trees Prim's Algorithm for MSTs |
More Graphs | 14.2-14.3 | LPC |
Graphs & Graph Algorithms | Nov 3 | Graphs
Topological sort Coloring, Planarity |
Graphs & Graph Algorithms | 14.1 14.5 |
LPC |
ADT Odds & Ends | Nov 1 | Finish ADT topics (except for Graphs) | ADT Odds & Ends | LPC | |
ADTs & the Java Collections Framework | Oct 27 |
Balanced trees Java Collections Framework |
ADTs & the Java Collections Framework |
19.1, 19.3 (just skim 19.5) Java API (Chapter 6 in text also includes information about the JCF) |
LPC |
More on ADTs: Priority Queues & Dictionaries | Oct 25 | Finish heaps Dictionaries Hash tables |
More on ADTs: Priority Queues & Dictionaries | Chapter 20 (just skim 20.3-20.4) | LPC |
Abstract Data Types & Implementations | Oct 20 | Stacks Queues Priority Queues Heaps |
Abstract Data Types & Implementations | Chapter 16 21.1-21.2 21.5 |
LPC |
Iterators & Inner Classes | Oct 18 | Iterators Inner Classes Anonymous Classes |
Iterators & Inner Classes | Lecture Notes 15.1-15.3 15.5 |
LPC |
Bounds on Sorting | Oct 13 | Solving Recurrences Lower Bounds on Sorting |
Bounds on Sorting | 7.5.3 8.8 |
LPC |
Sorting | Oct 6 | InsertionSort SelectionSort MergeSort QuickSort |
Sorting
BasicSorting.java MergeSort.java QuickSort.java |
8.1-8.3 8.5-8.6 |
LPC |
Searching & Asymptotic Complexity |
Oct 4 | Searching: linear, binary Asymptotic time complexity Big-O |
Searching & an Introduction to Asymptotic Complexity | Chapter 5 | LPC |
Comparisons & the Comparable interface | Sep 29 | Interfaces cont'd The Comparable interface |
Comparisons & the Comparable
Interface TestStringEquality.java TestCompareTo.java | Lecture Notes | LPC |
Interfaces & Java Types | Sep 27 | Interface rules Implementing an interface Subtyping Type checking |
Interfaces & Java Types | 4.4 | LPC |
More on Lists & Trees | Sep 22 | List & tree implementations Binary Search Trees (BSTs) |
More
on Lists & Trees List.java ArrayList.java LinkedList.java BST.java |
19.1 | LPC |
Lists & Trees | Sep 20 | First dynamic data structure Introduction to singly-linked lists Building and searching Insertion and deletion Doubly-linked lists Introduction to trees |
Lists & Trees | 17.1-17.4 18.1-18.3 |
LPC |
Inheritance | Sep 15 | Subclass/superclass relationships Overriding methods and fields Using "this" and "super" Subtyping Abstract classes |
Inheritance ShadowTest.java ShowSuperMethod.java ShowConstructorThis.java ShowConstructorSuper.java |
4.1-4.3 | LPC |
Object-Oriented Programming | Sep 13 | Objects Data abstraction References Garbage collection |
OOP
puzzles |
Lecture Notes | DIS |
Grammars and Parsing | Sep 8 | Grammars Parsing Expression parsing Code generation |
Parsing
SimpleExpression.java SimpleExpressionCodeGenerator.java |
Lecture Notes | LPC |
Recursion | Sep 6 | Recursive programs Frames and recursive calls |
Recursion
Power.java Hanoi-Recursive.java Hanoi-Iterative.java |
7.3-7.4 Lecture Notes |
LPC |
Induction | Sep 1 | Induction | Induction | Lecture Notes 7.1-7.2 Gauss |
LPC |
Quick Review of Java Concepts | Aug 30 | Classes, objects, primitive and reference types, array representation, the Java API, command line interface, new features of J2SE 5.0, debugging and experimentation | Java Review Examples.zip |
Skim Chapters 1, 2, and 3 (this should be review) Java API J2SE 5.0 in a Nutshell |
LPC |
Introduction | Aug 25 | Course policies and procedures 8-Puzzle application SaM application |
Introduction
SaM Puzzle |
Preface Introduction Sam Loyd |
DIS |