CSE 142, Spring 2021: Calendar

This is a rough sketch of the quarter that is likely to change. We can accurately predict the past, but predicting the future is hard! In particular, all future assignment dates should be considered tentative and subject to change.

Jump to today
Date/Lesson
Topic
Class Materials
Suppl. Resources
Assignments
Week 1: Welcome!; Introduction to Java; Printing; Static Methods, Expressions, Variables
Tue, Mar 30
Lab 1

Java basics; println

Wed, Mar 31
Lesson 2

escape sequences; static methods

Students will be able to...
  • write a simple Java program that produces console output using System.out.println
  • recognize and correct structural redundancy
  • define and call static void methods
Thu, Apr 1
Section 1

Intro to Java; resources; static methods

Week 2: Loops, Parameters, Scope
Tue, Apr 6
Labs 2

Java basics;
Expressions, Variables, for loops

Wed, Apr 7
Lesson 5

Nested for loops; print statements; Class constants

Students will be able to...
  • write and trace the execution of nested for loops
  • define and use class constants
Week 3: Graphics, Returns, Math class
Tue, Apr 13
Lab 3

Parameters; DrawingPanel; Debugger

Week 4: Interactive Programs, conditionals, Strings
Mon, Apr 19
Lesson 10

Scanner; Conditionals

Students will be able to...
  • effectively use methods from the Scanner class to create interactive programs
  • define and use conditional (if) statements
Tue, Apr 20
Lab 4

Return values; Conditionals; User Input

Wed, Apr 21
Lesson 11

Compound conditionals; cumulative algorithms

Students will be able to...
  • define and use compound conditionals
  • choose the most appropriate conditional structure for a given problem
  • describe and implement a cumulative algorithm
Week 5: Indefinite Loops, Random, booleans
Mon, Apr 26
Lesson 13

Fencepost problems; while loops; sentinel loops

Students will be able to...
  • define and use while loops
  • define and implement fencepost and sentinel loops
Tue, Apr 27
Lab 5

while loops; String

Week 6: Simulated Midterm, File Processing
Tue, May 4
Lab 5.5

Simulated midterm practice

Week 7: File Processing, Arrays
Tue, May 11
Lab 6

File processing

Week 8: Arrays, Object-oriented Programming
Mon, May 17
Lesson 21

Array Shifting

Students will be able to...
  • define and implement array shifting algorithms
Tue, May 18
Lab 7

Arrays

Wed, May 19
Lesson 22

Object-oriented Programming, Fields, Instance Methods

Students will be able to...
  • define and implement classes with object-oriented style
Fri, May 21
Lesson 23

Encapsulation, toString, Constructors

Students will be able to...
  • understand and use encapsulation in good object-oriented design
  • define and implement constructors and toString methods in classes
Week 9: More OOP, Inheritance
Tue, May 25
Lab 8

Object-oriented programming

Wed, May 26
Lesson 25

Critters

Students will be able to...
  • implement Critters to participate in the Critters simulation
Week 10: Wrap-up
Mon, May 31

No class - Memorial Day

Tue, Jun 1
Lab 9

Final review/practice