NOTE: This old web site is out of date. This is the course web site from a past quarter, 17sp (Spring 2017), but the current quarter is 20sp (Spring 2020). If you are a current student taking the course, this is not your class web site, and you should visit the current class web site instead.

Important Dates:

  • Monday, March 27 : Spring quarter begins.
  • Friday, May 5 : Midterm Exam, 4:45-6:00PM
  • Sunday, May 14 -- Last day to change to or from S/NS grade option; last day to drop courses using Annual Drop.
  • Wednesday, June 7 : Final Exam, 12:30-2:20PM

Announcements

  • [6-02] There will be a TA led optional review for the final exam on Tuesday, 6/6 from 4:30-6:00PM in EEB 105
  • [5-31] Please fill out the course evaluations, here are the links for Section A and Section B. Your honest, anonymous feedback is really important to me.
  • [5-26] Did you have an outstanding TA? You probably did! To nominate them for the CSE Bob Bandes Memorial Teaching Award, fill out a nomination here!
  • [5-26] The Husky Critter Tournament rules and information is now available along with the dropbox to submit your Husky for the tournament. Section A: 11:30 and Section B: 1:30
  • [5-15] Take the personality test that will be the subject of homework 7.
  • [5-15] There will be a panel on breaking the glass ceiling offered by WINFO on Wednesday the 17th. Information here.
  • [5-15] There will be a panel event on choosing a major offered by TBASUW on Thursday the 18th. Information here.
  • [5-08] The IPL is closed until Wednesday of this week since both classes just had a midterm and no homework.
  • [4-28] Check out the gallery of doodle art submissions.
  • [4-24] Get personal help studying for your midterm by participating in a study conducted a UW iSchool PhD student! More information & sign up on the course discussion board.
  • [4-19] Check out the gallery of ASCII art submissions.
  • [4-17] Please fill out this form by end-of-day this Friday, 4-21, if you will need any special seating accomodations, such as a left-handed desk, for the midterm exam.
  • [04-03] There will be exploration sessions starting this week on Thursday from 4:30-5:20 in GUG 220
  • [06-21] Quiz section room change: section AB will now meet in room PAA A212
  • [06-21] IMPORTANT: Please double-check your quiz section classroom location on MyUW BEFORE attending your first section on Thursday. Room changes can occur during the first week of the quarter, sometimes at the last minute.
  • [03-26] Welcome to CSE 142!
  • Contact cse142@uw.edu with any registration questions/problems.

Below is the current calendar for the CSE142 class. Please keep in mind that we are constantly updating this. It should accurately describe the past, but it won't always accurately predict the future. Although Riley doesn't often use lecture slides, there are links to slides that have been created 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
3/27
administrative details
simple programs with println

Read: 1.1-1.3
Lecture: panopto video
Slides: pdf, ppt
Program: Hello.java
3/29
static methods


Read: 1.4-1.5
Lecture: panopto video
Slides: pdf, ppt
Video: complex figure
Program: BakeCookies.java
Program: Figure1.java
Program: Figure2.java
Program: Figure3.java
3/31
primitive types, expressions,
variables, assignment

Read: 2.1-2.2
Lecture: panopto video
Slides: pdf, ppt
Video: expressions
Video: variables/assignment
Program: Expressions.java
Program: Variables.java
Program: Grade.java
4/3
print vs println
for loops

Read: 2.3
Lecture: panopto video
Slides: pdf, ppt
Video: variables/assignment
Video: for loop
Video: nested loops
Program: BakeCookiesLoops.java
Program: ForLoops.java
4/5
nested for loops
class constants

Read: 2.4-2.5
Lecture: panopto video
Slides: pdf, ppt
Video: complex figure
Program: MirrorScratch.java
Program: Mirror.java
Program: Mirror2.java
4/7
parameters


Read: 3.1
Lecture: panopto video
Slides: pdf, ppt
Video: parameter mystery
Program: Stars1.java
Program: Stars2.java
Program: SayHello.java
Program: ParameterMystery.java
4/10
graphics

Read: Supplement 3G
Lecture: panopto video
Slides: pdf, ppt
Video: basic drawing
Picture: Car ASCII Dimensions
Program: DrawingPanel.java
Program: Car1.java
4/12
more graphics

Read: Supplement 3G
Lecture: panopto video
Video: parameterized drawing
Picture: Car ASCII Dimensions
Program: Car2.java
Program: Car3.java
Program: Car4.java
4/14
return, Math class

Read: 3.2
Lecture: panopto video
Slides: pdf, ppt
Video: parameters & return values
Program: Dating.java
Program: Ball1.java
4/17
Scanner/interactive programs
if/else

Read: 3.3-3.4, 4.1-4.2
Lecture: panopto video
Slides: pdf, ppt
Video: Scanner
Program: Gauss.java
Program: Evens.java
Program: Ball2.java
4/19
more if/else


Read: 4.4-4.5
Lecture: panopto video
Slides: pdf, ppt
Video: nested if/else
Video: factoring if/else
Program: Grades.java
Program: BMI1.java
Program: BMI2.java
4/21
String and char


Read: 3.3, 4.3
Lecture: panopto video
Slides: pdf, ppt
Video: strings
Program: BadBMI.java
Diagram: BMI Information Flow
Program: LoginSystem.java
Program: CharExamples.java
4/24
while loops
fencepost/sentinel loops

Read: 5.1-5.2
Lecture: panopto video
Slides: pdf, ppt
Video: sentinel loops
Program: Loops.java
4/26
pseudorandom numbers


Read: 5.1
Lecture: panopto video
Slides: pdf, ppt
Video: random numbers
Program: RandomDemo.java
Program: GuessEven.java
Program: Roulette.java
4/28
assertions


Read: 5.5
Lecture: panopto video
Slides: pdf, ppt
Video: assertions
Handout: Assertions Practice
5/1
type boolean
more while loop examples
midterm review

Read: 5.3
Lecture: panopto video
Slides: pdf, ppt
Video: type boolean
Problems: Methods.java
5/3
file input



Read: 6.1-6.2, 5.4
Lecture: panopto video
Slides: pdf, ppt
Video: token-based processing
Program: Weather.java
Data: weather.txt
5/5
optional midterm review
actual midterm at 4:45 pm


5/8
line-based processing

Read: 6.3-6.5
Lecture: panopto video
Slides: pdf, ppt
Video: line-based processing
Video: complex input
Program: Movies.java (imdb.txt)
5/10
arrays

Read: 7.1
Lecture: panopto video
Slides: pdf, ppt
Program: Weather.java
Program: CountDigits.java
Program: Histogram.java (midterm.txt)
5/12
more arrays

Read: 7.2
Lecture: panopto video
Slides: pdf, ppt
Video: array mystery
Video: array traversal
Program: ArraySample1.java
Diagram: reference semantics
5/15
even more arrays
output files

Read: 7.4, 7.6
Lecture: panopto video
Slides: pdf, ppt
Video: array tallying
Program: ArraySample2.java
Program: Section.java (section.txt)
5/17
objects and classes
instance methods

Read: 7.3, 8.1-8.2
Lecture: panopto video
Slides: pdf, ppt
Video: Defining a class
Program: PointClient.java, Point.java
5/19
toString, constructors
encapsulation

Read: 8.3-8.5
Lecture: panopto video
Slides: pdf, ppt
Slides: pdf, ppt
Video: constructors
Video: encapsulation
Program: PointClient2.java, Point.java
5/22
critters

Lecture: panopto video
Resources: ass8.zip
Program: Point.java
5/24
inheritance

Read: 9.1, 9.3
Lecture: panopto video
Slides: pdf, ppt
Video: inheritance (first example)
Program: Chameleon.java
Handout: inheritance problems
5/26
ArrayList

Read: 10.1
Lecture: panopto video
Slides: pdf, ppt
Video: ArrayList example
Video: ArrayList example
Program: ArrayListSample.java
5/29
Memorial Day holiday

6/1
more on arrays
review for final

Lecture: panopto video
Video: array shifting
Program: ArraySample3.java
6/2
critter tournament



Final Exam -- Wednesday, June 7, 12:30pm