Lecture | Date | Topics | Examples/notes | Reading | Lecturer |
---|---|---|---|---|---|
Graphs | 30 Nov, 2 Dec, | graphs Dijkstra's algorithm topological sort |
Graphs Topological Sort |
Chapter 29 | JS |
GUI Dynamics | 23 Nov | events listeners |
GUI Dynamics
Counter1 Counter2 Counter3 Example1 Example2 NPuzzle |
JFC Tutorial | DIS |
GUI Statics | 18 Nov | components containers layout managers |
GUI Statics
setting up a JFrame another way to do a JFrame components dialog box (more components) GUI statics: intro GUI statics: buttons GUI statics: grid for puzzle |
JFC Tutorial | DIS |
Search Structures | 11 Nov, 16 Nov | linear (arrays, lists) hierarchical (binary search trees) hashing |
Search Structures
SearchStructure.txt BinaryNode BinaryTree BST TestBST TestAltBST TestSortedArray.txt TestSearchList.txt RemoveDups.txt FindName.txt myHashMapTest.txt APIHashMap.txt CountWords.txt |
6.40 Chapter 16 Chapter 19 24.27-24.30 Chapter 26 28.0-28.1,28.12,28.22,28.30,28.38 |
KP |
Sequence Structures | 4 Nov, 9 Nov | 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 |
JS |
Introduction to Data Structures | 2 Nov | fundamentals of data structures some notions of graphs |
Data Structures Intro
puzzleSolver SearchStructure SeqStructure Example implementation |
skim a bit of Chapter 29 | JS |
Asymptotic Complexity | 21 Oct, 26 Oct | Big-O notation | complexity | Chapter 9 | KP |
Sorting (continued) | 19 Oct | select sort merge sort quick sort |
sort
BasicSorting MergeSort QuickSort |
11.0-11.8 12.0-12.18 |
KP |
Searching Asymptotic Complexity Sorting |
14 Oct | 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 |
KP |
Inheritance | 7 Oct | overriding methods information hiding subtyping abstract classes |
Inheritance | Chapter 2 | KP |
Interfaces | 5 Oct | up-casting down-casting Comparable interface |
Interfaces
Comparable Complex number example Person example |
Chapter 3 (except 3.27) | JS |
Interfaces | 30 Sep | subtyping interface rules implementing an interface type checking |
Interfaces
Puzzle readme PlayPuzzle IPuzzle PuzzleAsInt PuzzleAsString PuzzleAsArray |
Chapter 3 (except 3.27) | JS |
Trees | 28 Sep | 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 |
JS |
Lists (continued) | 23 Sep | insertion and deletion doubly-linked lists |
Lists | Chapters 4, 6 Chapter 5 is optional |
JS |
Lists | 21 Sep | first dynamic data structure introduction to singly-linked list ListCell classbuilding and searching |
Lists
ListCell.java List.java |
Chapters 4, 6 Chapter 5 is optional |
JS |
OOP | 16 Sep | 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 |
JS |
OOP | 14 Sep | extend Ur-Java to Java abstraction motivate OOP |
OOP
PuzzleAsArray PuzzleAsInt PuzzleAsString |
Chapter 1 Appendix A |
JS |
Grammars and Parsing | 9 Sep | application of recursion grammars parsing expression parsing code generation |
Parsing
AddParser.java CS211In.pdf CS211In.java CS211InInterface.java CS211Out.java CS211OutInterface.java |
24.34, A.5, lecture notes |
KP |
Recursion | 7 Sep | Recursive programs frames and recursive calls |
Recursion
power1 power2 power3 |
10.0-10.18, 10.26-10.29, 10.34-10.36, 10.40-10.41 |
KP |
Induction | 2 Sep | Induction |
Induction | lecture notes Gauss |
KP |
Ur-Java | 31 Aug | Ur-Java: a class language static binding, visibility of class members, method overloading, memory map of modern languages, method invocations and frames |
Ur-java PuzzleAsUrJava |
Appendix A Ur of the Chaldees |
KP |
Introduction | 26 Aug | Course policies and procedures 8-Puzzle application SaM application |
Introduction
SaM Puzzle |
Preface (iv-v) Introduction (1-3) Sam Loyd |
KP |