CS211: Lecture Notes

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 class
building 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