CSE 142, Winter 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, Jan 3
Lesson 0

Welcome; Course policies

Tue, Jan 4
Lab 1

Java basics

Thu, Jan 6
Section 1

Intro to Java

Mon, Jan 10
Lesson 3

Expressions; Types; Variables; for loops

Tue, Jan 11
Lab 2

Expressions, Variables, for loops

Thu, Jan 13
Section 2

Expressions; for loops

Mon, Jan 17

No Class - Martin Luther King, Jr. Day

Thu, Jan 20
Section 3

Parameters; String; Scanner

Mon, Jan 24
Lesson 8

Return values; Conditionals

Tue, Jan 25
Lab 4

Return values; Conditionals; User Input

Thu, Jan 27
Section 4

Return values; Conditionals; User Input

Mon, Jan 31
Lesson 11

while loops

Tue, Feb 1
Lab 5

while loops; String

Wed, Feb 2
Lesson 12

Fencepost problems; Sentinel loops; Pseudorandomness

Thu, Feb 3
Section 5

while loops; pseudorandomness; boolean

Fri, Feb 4
Lesson 13

boolean variables, parameters, and returns

Mon, Feb 7
Lesson 14

Token-based file input

Tue, Feb 8
Lab 5.5

Simulated midterm practice

Wed, Feb 9
Lesson 15

Line-based file input; File output

Thu, Feb 10
Section 5.5

Simulated midterm practice

Tue, Feb 15
Lab 6

File processing

Thu, Feb 17
Section 6

File processing

Mon, Feb 21

No Class - Presidents' Day

Mon, Feb 28
Lesson 21

Encapsulation; Constructors

Tue, Mar 1
Lab 8

Object-oriented programming

Thu, Mar 3
Section 8

Object-oriented progamming; Critters

Mon, Mar 7
Lesson 24

More Critters; Polymorphism

Wed, Mar 9
Lesson 25

ArrayList

Mon, Mar 14

No Class - Exam Week

Tue, Mar 15

No Class - Exam Week

Wed, Mar 16

No Class - Exam Week

Thu, Mar 17

No Class - Exam Week

Fri, Mar 18

No Class - Exam Week


Date/Lesson
Topic
Class Materials
Suppl. Resources
Assignments
Week 1: Welcome!; Introduction to Java; Printing; Static Methods
Tue, Jan 4
Lab 1

Java basics

Wed, Jan 5
Lesson 1

Simple programs, 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, Jan 6
Section 1

Intro to Java

Fri, Jan 7
Lesson 2

More static methods

Students will be able to...
  • define static void methods that call other methods
Week 2: Expressions, Variables, Types, Loops
Mon, Jan 10
Lesson 3

Expressions; Types; Variables; for loops

Students will be able to...
  • define and use int and double variables
  • write and trace the execution of for loops
Tue, Jan 11
Lab 2

Expressions, Variables, for loops

Wed, Jan 12
Lesson 4

Nested for loops; Class constants

Students will be able to...
  • produce partial-line console output with System.out.print
  • write and trace the execution of nested for loops
Thu, Jan 13
Section 2

Expressions; for loops

Fri, Jan 14
Lesson 5

Class constants

Students will be able to...
  • define and use class constants
Week 3: Strings, Parameters, Returns
Mon, Jan 17

No Class - Martin Luther King, Jr. Day

Tue, Jan 18
Lab 3

Parameters

Wed, Jan 19
Lesson 6

Parameters; User Input w/Scanner; Strings

Students will be able to...
  • define scope
  • define and call methods that take parameters
  • use Scanner to create interactive programs
  • manipulate String values
Thu, Jan 20
Section 3

Parameters; String; Scanner

Fri, Jan 21
Lesson 7

Return values

Students will be able to...
  • define and call methods that return values
  • use methods from the Math class
Week 4: Interactive Programs
Tue, Jan 25
Lab 4

Return values; Conditionals; User Input

Wed, Jan 26
Lesson 9

More conditionals

Students will be able to...
  • define and use conditional (if) statements
  • define and use compound conditionals
  • choose the most appropriate conditional structure for a given problem
Thu, Jan 27
Section 4

Return values; Conditionals; User Input

Fri, Jan 28
Lesson 10

Cumulative algorithms; Information flow

Students will be able to...
  • describe and implement cumulative algorithms
  • factor code in conditional statements to avoid redundancy
  • recognize and avoid chaining
Week 5: Indefinite Loops
Tue, Feb 1
Lab 5

while loops; String

Wed, Feb 2
Lesson 12

Fencepost problems; Sentinel loops; Pseudorandomness

Students will be able to...
  • recognize and implement fencepost and sentinel loops
  • generate pseudorandom numbers with Random
Thu, Feb 3
Section 5

while loops; pseudorandomness; boolean

Fri, Feb 4
Lesson 13

boolean variables, parameters, and returns

Students will be able to...
  • define and use boolean expressions and values
  • define and call methods that return boolean values
  • recognize and practice good "Boolean zen"
Week 6: File Processing
Mon, Feb 7
Lesson 14

Token-based file input

Students will be able to...
  • read input from a file using the File class
  • read token-based input using the Scanner class
  • account for different types and numbers of tokens in an input file
Tue, Feb 8
Lab 5.5

Simulated midterm practice

Thu, Feb 10
Section 5.5

Simulated midterm practice

Week 7: Arrays
Mon, Feb 14
Lesson 16

Intro. to arrays

Students will be able to...
  • define, populate, and manipulate arrays
Tue, Feb 15
Lab 6

File processing

Wed, Feb 16
Lesson 17

Array traversal

Students will be able to...
  • define and implement array traversals
  • use arrays as parameters and return values
Thu, Feb 17
Section 6

File processing

Week 8: Object-oriented Programming
Mon, Feb 21

No Class - Presidents' Day

Tue, Feb 22
Lab 7

Arrays

Wed, Feb 23
Lesson 19

Reference semantics

Students will be able to...
  • define and explain reference semantics
Thu, Feb 24
Section 7

Arrays

Fri, Feb 25
Lesson 20

Intro. to OOP; Instance methods

Students will be able to...
  • define the terms "class" and "object"
  • implement simple classes with instance methods
Week 9: Inheritance
Mon, Feb 28
Lesson 21

Encapsulation; Constructors

Students will be able to...
  • explain and use encapsulation in good object-oriented design
  • define and implement constructors
Tue, Mar 1
Lab 8

Object-oriented programming

Thu, Mar 3
Section 8

Object-oriented progamming; Critters

Fri, Mar 4
Lesson 23

More inheritance; Critters

Students will be able to...
  • implement Critters to participate in the Critters simulation
Week 10: Wrap-up
Tue, Mar 8
Labs 9, 10

Critters

Wed, Mar 9
Lesson 25

ArrayList

Students will be able to...
  • define and use ArrayLists
Thu, Mar 10
Section 9

TBD

Fri, Mar 11
Lesson XX

Critter tournament

Exam Week
Mon, Mar 14

No Class - Exam Week

Tue, Mar 15

No Class - Exam Week

Wed, Mar 16

No Class - Exam Week

Thu, Mar 17

No Class - Exam Week

Fri, Mar 18

No Class - Exam Week