Below is the current calendar for the CSE143X class. Please keep in mind that Stuart is constantly updating this. It should accurately describe the past, but it won't always accurately predict the future. Links to lecture notes are included as they become available.

Monday Wednesday Friday
9/24
administrative details
simple programs with println
static methods


Reading: Reges/Stepp 1
Video: methods
Video: complex figure
Slides: pdf, ppt
Slides: pdf, ppt
Program: Figure1.java
Program: Figure2.java
Program: Figure3.java
9/26
primitive types, expressions
variables, assignment
for loops, nested loops
class constants

Reading: Reges/Stepp 2
Video: expressions
Video: variables/assignment
Video: for loop
Video: nested loops
Video: complex figure
Slides: pdf, ppt
Slides: pdf, ppt
Program: Diamond1.java
Program: Diamond2.java
9/28
parameters
graphics



Reading: Reges/Stepp 3 and 3G
Video: parameter mystery
Video: basic drawing
Video: parameterized drawing
Slides: pdf, ppt
Slides: pdf, ppt
Program: Diamond3.java
Program: Diamond4.java
Program: DrawingPanel.java
Program: Car1.java
Program: Car2.java
Program: Car3.java
10/1
Scanner/interactive programs
if/else
methods that return values

Reading: Reges/Stepp 4
Video: Scanner
Video: nested if/else
Video: factoring if/else
Slides: pdf, ppt
Slides: pdf, ppt
Slides: pdf, ppt
Program: Ball1.java
Program: Ball2.java
Program: BMI.java
10/3
type boolean
while loops
pseudorandom numbers

Reading: Reges/Stepp 5.1-5.4
Video: random numbers
Video: type boolean
Slides: pdf, ppt
Slides: pdf, ppt
Slides: pdf, ppt
Program: Days1.java
Program: Roulette.java
Link: zune bug
10/5
more on boolean/loops
assertions
String and char

Reading: Reges/Stepp 3.3, 4.3, 5.5
Video: sentinel loops
Video: assertions
Slides: pdf, ppt
Slides: pdf, ppt
Program: Days2.java
Program: Examples.java
10/8
file processing


Reading: Reges/Stepp 6
Video: token-based processing
Video: line-based processing
Video: complex input
Slides: pdf, ppt
Slides: pdf, ppt
Program: SumFile.java
Data: numbers.txt
10/10
arrays


Reading: Reges/Stepp 7.1-7.2
Video: array mystery
Video: array traversal
Slides: pdf, ppt
Slides: pdf, ppt
Program: ArraySample.java
10/12
more arrays
output files

Reading: Reges/Stepp 7.4-7.6
Video: array tallying
Slides: pdf, ppt
Program: Semantics.java
Program: Section.java (section.txt)
10/15
objects and classes
instance methods

Reading: Reges/Stepp 7.3, 8.1-8.2
Video: Defining a class
Slides: pdf, ppt
Program: PointClient1.java, Point.java
Program: PointClient2.java, Point.java
10/17
toString, constructors
encapsulation

Reading: Reges/Stepp 8.3-8.5
Video: constructors
Video: encapsulation
Slides: pdf, ppt
Slides: pdf, ppt
Program: PointClient3.java, Point.java
10/19
critters
review for midterm

Reources: ass5.zip
10/22
midterm


10/24
linked lists

Reading: Reges/Stepp 16.1-16.2
Notes: notes
Video: working with nodes
Video: linked list traversal
Program: ListNode.java
Program: ListTest.java
10/26
more linked lists

Reading: Reges/Stepp 16.3
notes: notes
Video: complex list operation
10/29
ArrayIntList
throwing exceptions
interfaces
Lists

Reading: Reges/Stepp 9.5, 10.1-10.2, 15.1-15.2
Notes: notes
Video: ArrayList example
Video: ArrayList example
Video: middle of the list
Video: pre/post
Video: exception
Program: ArrayIntList.java
Program: LinkedIntList.java
10/31
Sets
Maps



Reading: Reges/Stepp 11.2-11.3
Notes: notes
Video: Map example
Video: Set example
Program: WordCount.java
Program: Friends.java
Data file: friends.dot
Link: Graphviz
Link: interesting talk
11/2
Comparable interface




Reading: Reges/Stepp 10.2
notes: notes
Video: implementing Comparable
Program: Angle.java, AngleTest.java
11/5
recursion


Reading: Reges/Stepp 12.1-12.2
notes: notes
Video: recursive tracing
11/7
more recursion
public/private approach

Reading: Reges/Stepp 12.3-12.4
notes: notes
Video: recursive programming
Video: recursive programming
Program: Crawler.java
Program: Sierpinski.java, DrawingPanel.java
11/9
regular expressions
grammars

Reading: Reges/Stepp pages 669-670
notes: notes
Program: Splitter.java
Data: fun.txt
11/12
Veteran's Day Holiday
11/14
recursive backtracking


notes: notes
Program: Queens.java, Board.html
Source code: queens.zip
11/16
more on recursive backtracking
binary trees

Reading: Reges/Stepp 17.1
notes: notes
diagram: 4-queens trace
diagram: anagrams trace (text)
diagram: anagrams trace (picture)—click on image to enlarge
11/19
binary search trees

Reading: Reges/Stepp 17.2-17.4
notes: notes
demo: Tree.jar
Video: tree traversal
Video: tree traversal
Video: x = change(x);
Program: IntTreeNode.java, IntTree.java
Program: IntSearchTreeClient.java
11/21
inheritance

Reading: Reges/Stepp 9.1-9.2
notes: notes
Video: using super
Video: polymorphism
11/23
Thanksgiving Holiday

11/26
Huffman assignment

notes: notes
11/28
abstract classes

Reading: Reges/Stepp 9.3
notes: notes
Program: StackQueue1.java
Program: StackQueue2.java
11/30
IntList case study

Reading: Reges/Stepp 17.5
notes: notes
12/3
generic binary search tree
mergesort

Reading: Reges/Stepp 13.4
notes: notes
Program: Sorter.java
Video: sorting
12/5
hashing


notes: notes
Program: HashSet.java
Program: HashTest.java
Data: trek.txt (warning: 12.2 mb)
12/7
review for final


notes: notes

Final Exam -- Wednesday, December 12, 8:30am