Below is the current calendar for the CSE143X class. Please keep in mind that Connor 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/28
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/30
primitive types, expressions
variables, assignment
for loops, nested loops
class constants

Reading: Reges/Stepp 2

Lecture: panopto video
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
10/3
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: Diamond3.java
Program: Diamond4.java
Program: DrawingPanel.java
Program: Car1.java
Program: Car2.java
Program: Car3.java
10/5
Scanner/interactive programs
if/else
methods that return values

Reading: Reges/Stepp 4
Lecture: panopto video
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
Diagram: BMI Information Flow
Program: BadBMI.java
Diagram: Bad BMI Information Flow
10/7
type boolean
while loops
pseudorandom numbers

Reading: Reges/Stepp 5.1-5.4
Lecture: panopto video
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
10/10
file processing


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


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

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

Reading: Reges/Stepp 5.5, 7.3, 8.1-8.2
Lecture: panopto video
Video: Defining a class
Video: assertions
Slides: pdf, ppt
Slides: pdf, ppt
Program: PointClient0.java
Program: PointClient1.java, Point.java
Program: PointClient2.java, Point.java
10/19
toString, constructors
encapsulation


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


Lecture: panopto video
10/24
midterm


10/26
linked lists

Reading: Reges/Stepp 16.1-16.2
Lecture: panopto video
Notes: notes
Video: working with nodes
Video: linked list traversal
Program: ListNode.java
Program: LinkedIntList1.java
Slides: linked-nodes.pdf
Slides: linked-nodes.ppt
Slides: linked-list.pdf
Slides: linked-list.ppt

143 Lecture 1: panopto video
143 Lecture 2: panopto video
10/28
more linked lists

Reading: Reges/Stepp 16.3
Lecture: panopto video
Video: complex list operation
slides: Linked-list-2.pdf
slides: Linked-list-2.ppt
143 Lecture: panopto video
10/31
ArrayIntList
throwing exceptions
interfaces
Lists

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



Reading: Reges/Stepp 11.2-11.3
Lecture: panopto video
Video: Map example
Video: Set example
Program: WordCount.java
Link: interesting talk
slides: 12-set-map-grammar.ppt
slides: 12-set-map-grammar.pdf
11/4
More collections


Lecture: panopto video
Stuart's notes: notes
Program: Friends0.java
Program: Friends1.java
Program: Friends2.java
11/7
recursion


Reading: Reges/Stepp 12.1-12.2
notes: notes
Lecture: panopto video
slides: recursion.pdf
slides: recursion.ppt
Video: recursive tracing
Program: Angle.java, AngleTest.java
Program: WriteStars.java,
Program: ReverseFile.java,
Program: BadArraySum.java
11/9
more recursion
public/private approach
grammars

Reading: Reges/Stepp 12.3-12.4
Lecture: panopto video
Video: recursive programming
Video: recursive programming
Program: Crawler.java
Program: Sierpinski.java, DrawingPanel.java
11/11
Veteran's Day Holiday
11/14
regular expressions
recursive backtracking

Reading: Reges/Stepp pages 689-690
Reading: Reges/Stepp 12.5 (3rd edition)
Lecture: panopto
slides: recursive_backtracking.pdf
slides: recursive_backtracking.ppt
Program: Splitter.java Board.html
Data: fun.txt
11/16
more on recursive backtracking


Lecture: panopto video
Program: BadQueens.java
Link: wikipedia: 8 queens
diagram: anagrams trace (text)
diagram: anagrams trace (picture)—click on image to enlarge
Program: Queens.java, Board.html, Board.java
Source code: queens.zip
11/18
binary trees

Reading: Reges/Stepp 17.1
Lecture: panopto video
notes: notes
demo: Tree.jar
Video: tree traversal I
Video: tree traversal II
Program: IntTreeNode.java, BadIntTree.java
Program: IntSearchTreeClient.java
11/21
binary search trees
Huffman assignment I

Reading: Reges/Stepp 17.2-17.4
Lecture: panopto
Old lecture: panopto
Video: x = change(x);
Program: IntTreeNode.java, IntTree.java
Program: IntSearchTreeClient.java
11/23
Huffman assignment II
Abstract classes

Lecture: panopto
Program: ShapeTest.java, Shape.java, Square.java, Circle.java,
11/25
Thanksgiving Holiday


11/28
complexity


Reading: Reges/Stepp 13.2
Lecture: panopto
Video: binary search
Video: complexity
Program: MaxSum.java
11/30
stacks and queues

Reading: Reges/Stepp 9.3
Lecture: panopto
Program: Practice.java
Program: Customers.java
Program: BackButton.java
notes: stack.txt
notes: queue.txt
12/2
hashing

Reading: Reges/Stepp 18.1
Lecture: panopto
Program: HashSet.java
Program: HashTest.java
Data: trek.txt (warning: 12.2 mb)
12/5
inheritance

Reading: Reges/Stepp 9.1-9.2
notes: notes
Lecture: panopto
Video: using super
Video: polymorphism
12/7
IntList case study
generic binary search tree

Reading: Reges/Stepp 17.5
Lecture: panopto
Program: Tree.java, TreeNode.java
Program: TreeClient.java

Program: IntList.java
Program: AbstractIntList.java
Program: ArrayIntList.java
Program: LinkedIntList.java
12/9
review for final
merge sort


Reading: Reges/Stepp 13.4

Lecture: panopto
Program: Sorter.java
Video: sorting

Final Exam -- Thursday, December 15, 2:30pm

                 

[an error occurred while processing this directive]