Below is the current calendar for the CSE142 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. Although Stuart doesn't use lecture slides, there are links to slides that have been used by our textbook's coauthor, Marty Stepp. These might prove useful for students who either miss lecture or want an extra opportunity to review the material.

Monday Wednesday Friday
1/4
administrative details
simple programs with println

Read: 1.1-1.3
Lecture: panopto video
Q&A: section A, section B
Slides: pdf, ppt
Program: Hello.java
1/6
static methods


Read: 1.4-1.5
Lecture: panopto video
Q&A: section A, section B
Slides: pdf, ppt
Video: methods
Video: complex figure
Program: Figure1.java
Program: Figure2.java
Program: Figure3.java
1/8
primitive types, expressions,
variables, assignment

Read: 2.1-2.2
Lecture: panopto video
Q&A: section A, section B
Slides: pdf, ppt
Video: expressions
Video: variables/assignment
Program: OverallScore.java
1/11
print vs println
for loops

Read: 2.3
Lecture: panopto video
Q&A: section A, section B
Slides: pdf, ppt
Video: for loop
Video: nested loops
Program: ForLoopExamples.java
1/13
nested for loops
class constants

Read: 2.4-2.5
Lecture: panopto video
Q&A: section A, section B
Slides: pdf, ppt
Video: complex figure
Program: Mirror.java
Program: Mirror2.java
1/15
parameters
graphics


Read: 3.1, 3G
Lecture: panopto video
Q&A: section A, section B
Slides: pdf, ppt
Slides: pdf, ppt
Video: parameter mystery
Video: basic drawing
Program: Stars1.java
Program: Stars2.java
Program: DrawingPanel.java
Program: Car1.java
Program: Car2.java
Program: Car3.java
1/18
Martin Luther King holiday

1/20
more graphics

Read: Supplement 3G
Lecture: panopto video
Q&A: section A, section B
Video: parameterized drawing
Program: Car4.java
Program: Draw1.java
Program: Draw2.java
Program: Draw3.java
1/22
return, Math class

Read: 3.2
Lecture: panopto video
Q&A: section A, section B
Slides: pdf, ppt
Video: parameters & return values
Diagram: information flow
Program: Days.java
Program: Ball1.java
1/25
Scanner/interactive programs
if/else

Read: 3.3-3.4, 4.1-4.2
Lecture: panopto video
Q&A: section A, section B
Slides: pdf, ppt
Video: Scanner
Video: cumulative sum
Program: FindSum.java
Program: Ball2.java
1/27
more if/else


Read: 4.4-4.5
Lecture: panopto video
Q&A: section A, section B
Slides: pdf, ppt
Video: nested if/else
Video: factoring if/else
Program: BadIfReturn.java
Program: GoodIfReturn.java
Program: BMI1.java
Program: BMI2.java
1/29
String and char


Read: 3.3, 4.3
Lecture: panopto video
Q&A: section A
Slides: pdf, ppt
Video: strings
Program: BadBMI.java
Program: SayCheese.java
Program: CreditCard.java
2/1
while loops
fencepost/sentinel loops

Read: 5.1-5.2
Lecture: panopto video
Q&A: section A
Slides: pdf, ppt
Video: sentinel loops
Program: Loops.java
Program: Days2.java
Link: zune bug
2/3
pseudorandom numbers


Read: 5.1
Lecture: panopto video
Q&A: section A, section B
Slides: pdf, ppt
Video: random numbers
Program: GuessEven.java
Program: Roulette.java
2/5
assertions


Read: 5.5
Lecture: panopto video
Q&A: section A
Slides: pdf, ppt
Video: assertions
Handout: assertion problems
2/8
type boolean
more while loop examples
midterm review

Read: 5.3
Lecture: panopto video
Q&A: section A, section B
Slides: pdf, ppt
Video: type boolean
Problems: Methods.java
Program: Days3.java
2/10
Functional Programming (optional)



Read: 19
Lecture: panopto video
Q&A: section A
Slides: pdf, ppt
Video: side effects
Video: lambdas and closures
Video: streams
Video: complex streams
Program: Examples.java
Link: related talk (especially starting at 23:45)
2/12
file input



Read: 6.1-6.2, 5.4
Lecture: panopto video
Q&A: section A
Slides: pdf, ppt
Video: token-based processing
Program: Echo.java
Program: Echo2.java
Program: EchoWebPage.java
2/15
Presidents Day Holiday

2/17
line-based processing

Read: 6.3-6.5
Lecture: panopto video (spring 2020 version because of audio problem)
Q&A: section A
Slides: pdf, ppt
Video: line-based processing
Video: complex input
Program: Movies.java (imdb.txt)
2/19
arrays

Read: 7.1
Lecture: panopto video
Q&A: section A
Slides: pdf, ppt
Program: Weather.java
Program: Histogram.java (homework.txt)
2/22
more arrays


Read: 7.2
Lecture: panopto video
Q&A: section A
Slides: pdf, ppt
Video: array mystery
Video: array traversal
Program: ArraySample1.java
2/24
even more arrays
output files

Read: 7.4, 7.6
Lecture: panopto video
Q&A: section A
Slides: pdf, ppt
Video: array tallying
Program: ArraySample2.java
Program: Section.java (section.txt)
Program: ShowArgs.java
2/26
objects and classes
instance methods

Read: 7.3, 8.1-8.2
Lecture: panopto video
Q&A: section A
Slides: pdf, ppt
Video: Defining a class
Program: PointClient1.java, Point.java
Program: PointClient2.java, Point.java
3/1
toString, constructors
encapsulation

Read: 8.3-8.4
Lecture: panopto video
Q&A: section A
Slides: pdf, ppt
Slides: pdf, ppt
Video: constructors
Video: encapsulation
Program: PointClient3.java, Point.java
3/3
critters


Lecture: panopto video
Q&A: section A
Resources: ass8.zip
3/5
inheritance


Read: 9.1, 9.3
Lecture: panopto video
Q&A: section A
Slides: pdf, ppt
Video: inheritance (first example)
3/8
ArrayList


Read: 10.1
Lecture: part 1, part 2
Q&A: section A
Slides: pdf, ppt
Video: ArrayList example
Video: ArrayList example
Program: ArrayListExample.java
Handout: ArrayList problems
3/10
more on arrays
review for final

Lecture: panopto video
Video: array shifting
Program: ArraySample3.java
3/12
critter tournament


Lecture: panopto video
Tournament results