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
Week 1: Welcome!; Introduction to Java; Printing; Static Methods
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
Week 2: Expressions, Variables, Types, Loops
Students will be able to...
- define static void methods that call other methods
Java basics;
Expressions, Variables, for
loops
Expressions; Variables; Types; for
loops
Students will be able to...
- evaluate arithmetic expressions in Java
- define and use
int
and double
variables
- write and trace the execution of
for
loops
Nested for
loops; Class constants
Students will be able to...
- write and trace the execution of nested
for
loops
- define and use class constants
Week 3: Graphics, Parameters, Returns
Students will be able to...
- write programs to produce graphical output using
DrawingPanel
Students will be able to...
- define scope
- define and call methods that take parameters
Students will be able to...
- choose appropriate types for variables
Week 4: Interactive Programs
Students will be able to...
- define and call methods that return values
- use methods from the
Math
class
- define and use conditional (
if
) statements
Return values; Conditionals; User Input
Students will be able to...
- define and use compound conditionals
- choose the most appropriate conditional structure for a given problem
Return values; Conditionals; User Input
User Input w/Scanner
; Cumulative algorithms; Information flow
Students will be able to...
- use
Scanner
to create interactive programs
- describe and implement cumulative algorithms
- factor code in conditional statements to avoid redundancy
- recognize and avoid chaining
Fencepost problems; while
loops
Students will be able to...
- compare and manipulate
String
values
- define and use
while
loops
- define and implement fencepost loops
Sentinel loops; pseudorandomness
Students will be able to...
- implement fencepost and sentinel loops
- generate pseudorandom numbers with
Random
while
loops; pseudorandomness; boolean
Students will be able to...
- manipulate individual characters in a
String
- define and use
boolean
expressions and values
String
methods; boolean
variables, parameters, and returns
Students will be able to...
- manipulate individual characters in a
String
- define and call methods that return
boolean
values
- recognize and practice good "Boolean zen"
Simulated midterm practice
Simulated midterm practice
No class - Simulated midterm
Line-based file input; File output
Week 8: Object-oriented Programming
Array tallying; Reference semantics
Intro. to OOP; Instance methods
Encapsulation; Constructors
Object-oriented programming
No Class - Day after Thanksgiving
Object-oriented progamming; Critters
More inheritance; Polymorphism
More polymorphism; ArrayList