Lecture | Date | Topics | Examples/notes | Reading |
---|---|---|---|---|
Graphs |
Tue 11/25 Tue 12/3 Thu 12/5 |
graphs Dijkstra's algorithm minimal spanning trees topological sort |
Graphs Minimal Spanning Trees Topological Sort |
Chapter 29 |
Search Structures |
Tue 11/18 Thu 11/20 |
linear (arrays, lists) hierarchical (binary search trees) hashing |
Search Structures Examples (see L19, L20) |
6.40 Chapter 16 Chapter 19 24.27-24.30 Chapter 26 28.0-28.1,28.12,28.22,28.30,28.38 |
GUI Dynamics | Thu 11/13 | events listeners |
GUI Dynamics Counter1 Counter2 Counter3 Example1 Example2 NPuzzle |
"The Supplement" |
GUI Statics |
Tue 11/11 | components containers layout managers |
GUI Statics
Simple Calculator Short Overview Basic.txt Basic2.txt Basic3.txt AddStuff.txt AddStuff2.txt AddStuff3.txt |
"The Supplement" |
Sequence Structures |
Thu 10/30 Tue 11/04 Thu 11/06 |
stacks queues priority queues heaps |
Sequence Structures
SeqStructure.txt PQElement.txt PQAsSortedArray.txt PQAsList.txt TestPQAsListAlt.txt TestPQ.txt MaxHeap.txt TestMaxHeap.txt HeapDecoder.txt MaxheapAsArray.txt PQAsMaxheapAsArray.txt StackAsArray.txt StackAsList.txt TestStack.txt TestStackAsListAlt.txt QueueAsArray.txt ListNode.txt SLL.txt QueueAsList.txt TestQueue.txt TestQueueAsListAlt.txt |
Chapter 20-21 22.0-22.13, 22.16-22.18 23.0-23.33, 23.41 24.31-24.33 27.0-27.15 |
Introduction to Data Structures |
Tue 10/28 |
fundamentals of data structures some notions of graphs |
Data Structures Intro puzzleSolver SearchStructure SeqStructure Example implementation |
skim a bit of Chapter 29 |
Asymptotic Complexity |
Thu 10/23 |
Big-O notation |
complexity |
Chapter 9 |
Sorting (continued) |
Tue 10/21 |
select sort merge sort quick sort |
sort BasicSorting MergeSort QuickSort |
11.0-11.8 12.0-12.18 |
Generic Programming |
Thu 10/16 |
iterators inner classes anonymous classes |
GenericProgramming |
6.20-6.22 Chapter 7 Chapter 8 Chapter 15 See also 9.10-9.12, 10.3 in Java Precisely |
Searching Asymptotic Complexity Sorting |
Thu 10/9 |
searching: linear, binary binary search asymptotic time complexity sorting: select sort, merge sort, quick sort |
search sort SearchIntArray SearchComparableArray |
Chapter 16 11.0-11.8 12.0-12.18 9.0-9.11 |
Inheritance |
Tue 10/7 |
overriding methods information hiding subtyping abstract classes |
Inheritance |
Chapter 2 |
Interfaces |
Thu 10/2 |
up-casting down-casting Comparable interface |
Interfaces Comparable Complex number example Person example |
Chapter 3 (except 3.27) |
Interfaces |
Tue 9/30 |
subtyping interface rules implementing an interface type checking |
Interfaces Puzzle readme PlayPuzzle IPuzzle PuzzleAsInt PuzzleAsString PuzzleAsArray |
Chapter 3 (except 3.27) |
Trees |
Thu 9/25 |
tree definitions applications parsing |
Trees TreeCell.java |
24.0-24.16, 24.18, 24.20-24.26, 24.35 25.0-25.11, 25.18-25.20 |
Lists |
Tue 9/23 |
first dynamic data structure introduction to singly-linked list ListCell classbuilding and searching insertion and deletion |
Lists ListCell.java List.java |
Chapters 4, 6 Chapter 5 is optional |
OOP |
Thu 9/18 |
heap allocation wrapper classes ( Integer )common objects for data structures: arrays, strings arrays of objects |
OOP Wrappers.java aoa3d.java arrayOfObjects.java string_equals.java string_methods.java |
Chapter 1 Appendix A |
OOP |
Tue 9/16 |
extend Ur-Java to Java abstraction motivate OOP |
OOP PuzzleAsArray PuzzleAsInt PuzzleAsString |
Chapter 1 Appendix A |
Grammars and Parsing |
Thu 9/11 |
application of recursion grammars parsing expression parsing code generation |
Parsing AddParser.java CS211In.java CS211InInterface.java CS211Out.java CS211OutInterface.java |
24.34, A.5, lecture notes |
Recursion |
Tue 9/9 |
iterative vs recursive programs stack frames and recursive calls |
Recursion power1 power2 power3 |
10.0-10.18, 10.26-10.29, 10.34-10.36, 10.40-10.41 |
Induction |
Thu 9/4 |
functions: closed form, recursive form weak induction strong induction |
Induction |
lecture notes |
Ur-Java |
Tue 9/2 |
Non-OOP static binding, visibility of members, method overloading memory map of modern languages dynamic binding of variables |
Ur-java PuzzleAsUrJava |
Appendix A |
Introduction |
Thu 8/28 |
Course policies and proceudures 8-Puzzle application SaM application |
Introduction SaM Puzzle |
Preface (iv-v) Introduction (1-3) |