CS211: Lecture Notes

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