CSE 142, Summer 2022: 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.

Calendar

Click on any date or lesson number to jump to details on that day.

Monday Tuesday Wednesday Thursday Friday
Mon, Jun 20

University Holiday - Juneteenth (observed)

Tue, Jun 21
Lab 1

Java basics; println

Wed, Jun 22
Lesson 1

Welcome; Course policies; Hello World program

Thu, Jun 23
Section 1

Intro to Java; resources; static methods

Tue, Jun 28
Lab 2

Expressions, Variables, for loops

Thu, Jun 30
Section 2

Expressions; for loops

Mon, Jul 4

University Holiday - Independence Day (observed)

Tue, Jul 5
Lab 3

Parameters, Scanners, Strings

Thu, Jul 7
Section 3

Parameters, Strings, Scanners

Mon, Jul 11
Lesson 8

Cumulative algorithm; Conditionals

Tue, Jul 12
Lab 4

Return values; Conditionals; User Input

Thu, Jul 14
Section 4

Return values; Conditionals; User Input

Fri, Jul 15
Lesson 10

Fencepost problems; while loops; sentinel loops

Thu, Jul 21
Section 5

while loops; pseudorandomness; boolean

Thu, Jul 28
Section 6

File processing

Mon, Aug 1
Lesson 17

Array Traversals, reference semantics

Tue, Aug 9
Lab 8

Object-oriented programming

Thu, Aug 11
Section 8

Object-oriented progamming; Critters


Date/Lesson
Topic
Class Materials
Suppl. Resources
Assignments
Week 1: Welcome!; Introduction to Java; Printing; Static Methods
Mon, Jun 20

University Holiday - Juneteenth (observed)

Tue, Jun 21
Lab 1

Java basics; println

Thu, Jun 23
Section 1

Intro to Java; resources; static methods

Fri, Jun 24
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
Week 2: Types, Expression, Variables, Loops, Parameters, Scope
Tue, Jun 28
Lab 2

Expressions, Variables, for loops

Fri, Jul 1
Lesson 5

Class constants; Parameters; Strings

Students will be able to...
  • define and use class constants
  • define and call methods that take parameters
  • call String methods on String objects
Week 3: Interactive programs, returns, and Math class
Mon, Jul 4

University Holiday - Independence Day (observed)

Tue, Jul 5
Lab 3

Parameters, Scanners, Strings

Wed, Jul 6
Lesson 6

Scanners and Strings

Students will be able to...
  • define and call methods using parameters to improve structure
  • write interactive programs using Scanner
  • use String methods in an interactive program
Fri, Jul 8
Lesson 7

Return values; Math class

Students will be able to...
  • define and call methods that return values
  • use methods from the Math class
  • understand good functional decomposition
Week 4: Interactive programs, Conditionals, Cumulative algorithms
Mon, Jul 11
Lesson 8

Cumulative algorithm; Conditionals

Students will be able to...
  • effectively use methods from the Scanner class to create interactive programs
  • understand the components of a cumulative algorithm/code
  • define and use conditional (if) statements
  • define and use compound conditionals
Tue, Jul 12
Lab 4

Return values; Conditionals; User Input

Wed, Jul 13
Lesson 9

Chaining; Information flow

Students will be able to...
  • choose the most appropriate conditional structure for a given problem
  • describe and implement a cumulative algorithm
  • describe information flow in a program to be able to recognize and avoid chaining
Fri, Jul 15
Lesson 10

Fencepost problems; while loops; sentinel loops

Students will be able to...
  • define and use while loops
  • define and implement fencepost and sentinel loops
Week 5: Indefinite Loops, Random, booleans
Mon, Jul 18
Lesson 11

pseudorandomness, booleans

Students will be able to...
  • generate pseudorandom numbers with Random
  • work with boolean types
Tue, Jul 19
Lab 5

while loops; String

Week 6: File Processing
Tue, Jul 26
Lab 6

File processing

Week 7: Arrays
Tue, Aug 2
Lab 7

Arrays

Wed, Aug 3
Lesson 18

Array Shifting

Students will be able to...
  • define and implement array shifting algorithms
Fri, Aug 5
Lesson 19

Object-oriented Programming, Fields, Constructors, Instance Methods

Students will be able to...
  • define and implement classes with object-oriented style
  • understand and use encapsulation in good object-oriented design
  • define and implement constructors and toString methods in classes
Week 8: Object-oriented Programming, Encapsulation, Inheritance
Tue, Aug 9
Lab 8

Object-oriented programming

Wed, Aug 10
Lesson 21

Polymorphism, Critters

Students will be able to...
  • define and use polymorphism
  • implement Critters to practice Object-Oriented Programming and participate in the Critters simulation
Fri, Aug 12
Lesson 22

More Critters

Students will be able to...
  • implement Critters to get more practice with polymorphism and using fields to represent state
Week 9: ArrayList & Wrap-Up
Tue, Aug 16
Labs 9

Final review/practice

Thu, Aug 18
Section 9

TA Choice