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

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
Thu, Jul 7
Section 3

Parameters, Strings, Scanners

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 sum; Conditionals

Students will be able to...
  • effectively use methods from the Scanner class to create interactive programs
  • understand the components of a cumulative sum 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
Thu, Jul 14
Section 4

Return values; Conditionals; User Input

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

Wed, Jul 20
Lesson 12

assertions

Students will be able to...
  • understand and reason about a piece of code
Thu, Jul 21
Section 5

while loops; pseudorandomness; boolean

Week 6: File Processing
Mon, Jul 25
Lesson 14

Token-based file input

Students will be able to...
  • implement token-based file processing algorithms using Scanner methods
Tue, Jul 26
Lab 6

File processing

Wed, Jul 27
Lesson 15

Line-based file input; File output

Students will be able to...
  • implement line-based file processing algorithms using Scanner methods
Thu, Jul 28
Section 6

File processing

Fri, Jul 29
Lesson 16

Intro. to arrays

Students will be able to...
  • define and use arrays
Week 7: File Processing, Arrays
Mon, Aug 1
Lesson 17

Array Traversals, reference semantics

Students will be able to...
  • define and implement array traversals
  • understand and use reference semantics when working with 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
Thu, Aug 4
Section 7

Arrays

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
Mon, Aug 8
Lesson 20

Constructors, Inheritance

Students will be able to...
  • define and implement the concept of 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
Thu, Aug 11
Section 8

Object-oriented progamming; Critters

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
Mon, Aug 15
Lesson 23

ArrayList

Students will be able to...
  • define and use ArrayLists
Tue, Aug 16
Labs 9

Final review/practice

Wed, Aug 17
Lesson XX

Victory lap, Content Review

Students will be able to...
  • define and use ArrayLists
Thu, Aug 18
Section 9

TA Choice

Fri, Aug 19
Lesson XX

Critter tournament