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/27
administrative details
static methods
primitive types, expressions
for loops, nested loops

Reading: Reges/Stepp 1 and 2
Lecture: panopto video
Video: methods
Video: complex figure
Video: expressions
Video: variables/assignment
Video: for loop
Video: nested loops
Video: complex figure
Slides: pdf, ppt
Slides: pdf, ppt
Slides: pdf, ppt
Program: Figure1.java
Program: Figure2.java
Program: Figure3.java
9/29
parameters
graphics



Reading: Reges/Stepp 3 and 3G
Lecture: panopto video
Video: parameter mystery
Video: basic drawing
Video: parameterized drawing
Slides: pdf, ppt
Slides: pdf, ppt
Program: DrawingPanel.java
Program: Car1.java
Program: Car2.java
Program: Car3.java
Program: Car4.java
10/2
objects and classes
instance methods
toString, constructors

Reading: Reges/Stepp 5.5, 7.3, 8.1-8.3
Lecture: panopto video
Video: Defining a class
Video: constructors
Slides: pdf, ppt
Slides: pdf, ppt
Program: PointClient1.java, Point.java
Program: PointClient2.java, Point.java
Program: PointClient3.java, Point.java
10/4
critters

Lecture: panopto video
Video: nested if/else
Video: factoring if/else
Slides: pdf, ppt
Resources: ass2.zip
Program: Food2.java
10/6
ArrayIntList (part 1)

Reading: Reges/Stepp 15.1
Lecture: panopto video
Notes: notes
Video: middle of the list
Program: ArrayListSample.java
Program: ArrayIntList.java
Program: ArrayIntListClient.java
Program: ArrayIntListClient.java2
10/9
ArrayIntList (part 2)
pre/post, exceptions


Reading: Reges/Stepp 15.2
Lecture: panopto video
Notes: notes
Video: pre/post
Video: exception
Program: ArrayIntList.java
Program: ArrayIntListClient3.java
10/11
interfaces
Lists, Sets
for-each loop

Reading: Reges/Stepp 9.5, 16.4, 10.1, 11.2
Lecture: panopto video
Notes: notes
Video: interfaces
Video: ArrayList example
Video: ArrayList example
Video: Set example
Program: IntList.java
Program: ListClient.java
Program: ListSetExample.java
10/13
ArrayIntList (part 3)
iterators, resizing

Reading: Reges/Stepp 15.3
Lecture: panopto video
notes: notes
Program: ArrayIntList.java
Program: ArrayIntListIterator.java
Program: TestRemoveAll.java
10/16
linked lists

Reading: Reges/Stepp 16.1
Lecture: panopto video
Notes: notes
Video: working with nodes
Program: ListNode.java
Program: ListExample.java
Program: ListTest.java
10/18
linked lists & loops

Reading: Reges/Stepp 16.2
Lecture: panopto video
Notes: notes
Video: linked list traversal
Program: LinkedIntListClient.java
Program: LinkedIntList.java
10/20
more linked lists

Reading: Reges/Stepp 16.3
Lecture: panopto video
Notes: notes
Video: complex list operation
10/23
stacks & queues

Reading: Reges/Stepp 14
Lecture: panopto video
Notes: notes
Video: stack basics
Video: queue basics
Video: advanced stack/queue
Program: SimpleStackQueue.java
Program: StackQueue.java
10/25
Maps

Reading: Reges/Stepp 11.3
Lecture: panopto video
Notes: notes
Video: Map example
Program: Instructor.java
Program: WordCount.java
Program: Friends1.java
10/27
more Maps

Lecture: panopto video
Notes: notes
Program: Friends.java
Data file: friends.dot
10/30
recursion


Reading: Reges/Stepp 12.1-12.2
Lecture: panopto video (spring version)
Notes: notes
Video: recursive tracing
Program: Recurse.java
11/1
more recursion
public/private approach

Reading: Reges/Stepp 12.3-12.4
Lecture: panopto video
Notes: notes
Video: recursive programming
Video: recursive programming
Program: Recurse2.java
Program: Crawler.java
Program: Sierpinski.java, DrawingPanel.java
11/3
regular expressions
grammars

Reading: Reges/Stepp pages 689-690
Lecture: panopto video
Notes: notes
Program: Splitter.java
Data: fun.txt
11/6
inheritance

Reading: Reges/Stepp 9.1-9.2
Lecture: panopto video
Notes: notes
Video: using super
Video: polymorphism
Review: study guide from a former TA
11/8
optional midterm review
11/10
Veterans Day holiday

11/13
recursive backtracking


Reading: Reges/Stepp 12.5
Lecture: panopto video
Notes: notes
Program: Queens.java, Board.html
Source code: queens.zip
11/15
Comparable interface
binary search

Reading: Reges/Stepp 10.2
Lecture: panopto video
Notes: notes
Video: implementing Comparable
Program: Angle.java, AngleTest.java
11/17
more on recursive backtracking

Lecture: panopto video
Notes: notes
diagram: 4-queens trace
diagram: anagrams trace (text)
diagram: anagrams trace (picture)—click on image to enlarge
11/20
binary trees

Reading: Reges/Stepp 17.1-17.2
Lecture: panopto video
Notes: notes
Video: tree traversal
Video: tree traversal
Program: IntTreeNode.java, IntTree.java
Program: IntTreeClient.java
11/22
abstract classes

Reading: Reges/Stepp 9.3
Lecture: panopto video
Notes: notes
Program: Shape.java, ShapeTest.java
Program: Circle.java, Rectangle.java, Square.java
11/24
Thanksgiving Holiday

11/27
binary search trees

Reading: Reges/Stepp 17.3-17.4
Lecture: panopto video
Notes: notes
Demo: Tree.jar
Video: x = change(x);
Program: IntTree.java
Program: IntSearchTreeClient.java
11/29
Huffman assignment

Lecture: panopto video
Notes: notes
12/1
complexity
generic binary search tree

Reading: Reges/Stepp 13.2
Lecture: panopto video
Notes: notes
Video: complexity
Program: MaxSum.java
Program: SearchTree.java, SearchTreeNode.java
Program: SearchTreeClient.java
12/4
IntList case study

Reading: Reges/Stepp 17.5
Lecture: panopto video
Notes: notes
Program: IntList.java
Program: AbstractIntList.java
Program: ArrayIntList.java
Program: LinkedIntList.java
12/6
mergesort

Reading: Reges/Stepp 13.4
Lecture: panopto video
Notes: notes
Program: Sorter.java
Program: StableSort.java
Video: sorting
Tournament results
12/8
hashing

Reading: Reges/Stepp 18.1
Lecture: panopto video
Notes: notes
Video: hashing
Program: HashSet.java
Program: HashTest.java
Data: trek.txt (warning: 12.2 mb)

Final Exam -- Tuesday, December 12, 2:30-4:20 pm