Below is the current calendar for the CSE143X class. Please keep in mind that Kevin 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
1/05
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
1/07
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
1/09
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
1/12
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
1/14
type boolean
while loops
pseudorandom numbers

Reading: Reges/Stepp 5.1-5.4
Video: random numbers
Video: sentinel loops
Video: type boolean
Slides: pdf, ppt
Slides: pdf, ppt
Slides: pdf, ppt
Slides: pdf, ppt
Program: Roulette.java
Program: Examples.java
1/16
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
Data: imdb.txt
1/19
MLK no class
1/21
arrays


Reading: Reges/Stepp 7.1-7.2
Video: array mystery
Video: array traversal
Slides: pdf, ppt
Slides: pdf, ppt
Program: ArraySample.java
1/23
objects and classes
instance methods
assertions

Reading: Reges/Stepp 5.5, 7.3, 8.1-8.2
Video: Defining a class
Video: assertions
Slides: pdf, ppt
Slides: pdf, ppt
Program: PointClient1.java, Point.java
Program: PointClient2.java, Point.java
1/26
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
1/28
critters
review for midterm


Reources: ass5.zip
1/30
midterm


2/2
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
Slides: linked-nodes.pdf
Slides: linked-nodes.ppt
Slides: linked-list.pdf
Slides: linked-list.ppt
2/4
more linked lists

Reading: Reges/Stepp 16.3
notes: notes
slides: Linked-list-2.pdf
slides: Linked-list-2.ppt
notes: notes
Video: complex list operation
2/6
Efficiency, Binary Search

Reading: Reges/Stepp 13.1 - 13.2
Slides: binarysearch-complexity.pdf
Slides: binarysearch-complexity.ppt
Program: MaxSum.java
2/9
ArrayIntList
throwing exceptions
Lists

Reading: Reges/Stepp 9.5, 10.1-10.2, 15.1-15.2
Video: ArrayList example
Video: ArrayList example
Video: middle of the list
Video: pre/post
Video: exception
Program: ArrayIntList.java
Program: LinkedIntList.java
slides: arrarylist.pdf
slides: arraylist.ppt
2/11
Sets
Maps



Reading: Reges/Stepp 11.2-11.3
Video: Map example
Video: Set example
Program: WordCount.java
Data file: friends.dot
Link: Graphviz
Link: interesting talk
slides: 12-set-map-grammar.ppt
slides: 12-set-map-grammar.pdf
2/13
more collections




notes: notes
program: Friends.java
program: FriendsBroken.java
2/18
recursion


reading: reges/stepp 12.1-12.2
slides: recursion.pdf
slides: recursion.ppt
program: Stars.java
program: ReverseFile.java
2/20
more recursion
public/private approach

reading: reges/stepp 12.3-12.4
slides: recursion.pdf
slides: recursion.ppt
video: recursive programming
video: recursive programming
program: Crawler.java
2/23
recursive backtracking


reading: reges/stepp 12.5 (3rd edition)
slides: recursive_backtracking.pdf
slides: recursive_backtracking.ppt
Program: Maze.java
Program: SolveMaze.java
support: maze1.txt
2/25
more on recursive backtracking
binary trees

reading: reges/stepp 17.1
notes: notes
slides: recursive_backtracking2.pdf
slides: recursive_backtracking2.ppt
slides: 8queens.pdf
slides: 8queens.ppt
source code: Board.java
source code: Queens.java
source code: GraphicalBoard.java
2/27
Sorting

reading: 13.1 - 13.4
slides: sorting.pdf
slides: sorting.ppt
program: Sorting.java
program: QueueSorting.java
3/2
binary trees

reading: reges/stepp 17.2-17.4
slides: 19-binary-tree.pdf
slides: 19-binary-tree.ppt
program: IntTree.java
program: IntTreeClient.java
program: IntTreeNode.java
3/4
binary search trees

reading: reges/stepp 17.2-17.4
slides: 20-binary-search-tree.pdf
slides: 20-binary-search-tree.ppt
program: IntSearchTreeClient.java
program: IntSearchTreeNode.java
3/6
huffman assignment

slides: 23-priority-queues-huffman.pdf
slides: 23-priority-queues-huffman.ppt
program: TA.java

3/9
Inheritance and polymorphisms

reading: reges/stepp 9.2 - 9.3
slides: 24-inheritance-polymorphism.pdf
slides: 24-inheritance-polymorphism.ppt
3/11
Hashing


slides: generics-hashing.pdf
slides: generics-hashing.ppt
program: HashDemo.java
program: HashSet.java
program: HashTest.java
11/29
Final Review


slides: parting_thoughts.ppt
slides: parting_thoughts.pdf