3.1 ParametersThe Mechanics of Parameters p.165#1, p.166#5
Limitations of Parameters (byVal byRef)  
Multiple Parameters  
Parameters Versus Constants  
Overloading of Methods (signatures)  
3.2 Methods that Return Values p. 167#7
The Math Class p.132-3 table3.1-2  
Defining Methods that Return Values  
3.3 Using Objects p. 169#14,  #16
String Objects  
Point Objects  
Reference Semantics  
Multiple Objects  
Objects as Parameters to Methods  
3.4 Interactive Programs (console input) p. 170#19
Scanner Objects (p.153 table 3.5)  
A Sample Interactive Program  
3.5 Case Study: Projectile Trajectory p172#1(code)with required: prompt, segment, base,loop in main
An Unstructured Solution  
A Structured Solution  
   
Supplement 3G: Graphics (optional)  
3G.1 Introduction to Graphics p.197#2, p. 198#3
DrawingPanel  
Lines and Shapes  
Colors  
Text and Fonts  
3G.2 Procedural Decomposition with Graphics p.198#4, p.199#1,#2 MickeyBox, p.201#5
A Larger Example: DrawDiamonds  
Summary of Graphics Methods  
3G.3 Case Study: Pyramids p. 205#4 Projectile
An Unstructured Solution  
Generalizing the Drawing of Pyramids  
A Complete Structured Solution  
   
Chapter 4: Conditional Execution  
4.1 Loop Techniques p.260-261#1,3
Cumulative Sum  
Fencepost Loops (aka "loop and a half")  
4.2 if/else Statements p.261-262#4,5,6 ,7
Relational Operators  
Cumulative Sum with if  
Fencepost with if  
Nested if/else  
4.3 Subtleties of Conditional Execution p.262-4#10,11,12,13,14,15
Object Equality  
Roundoff Errors p. 263#11 redesign main to show structure, trade designs with another team, code their design 
Factoring if/else Statements  
Min/Max Loops p.233-235 redesign main to show structure, trade, code their design
4.4 Text Processing p.265#19,20,21,22
The char Type  
System.out.printf  
4.5 Methods with Conditional Execution p.266#25,26
Preconditions and Postconditions  
Throwing Exceptions p.266#27
Revisiting Return Values code a two parameter integer min function; p.248: code a two parameter integer indexOf function.
4.6 Case Study: Body Mass Index (BMI)  
One-person Unstructured Solution p. 254 redesign BMI1 so main calls  I-P-O methods; write signatures & javadoc comments
Two-person Unstructured Solution  
Two-person Structured Solution p. 258 redesign BMI2 so getBMI calls  I-P-O methods; write signatures & javadoc comments
  19
Chapter 5: Program Logic and Indefinite Loops  
5.1 The while Loop p.318-320#1,2,7,8
A Loop to Find the Smallest Divisor  
Sentinel Loops  
Random Numbers  
5.2 The boolean Type p.321-322#11,12,14
Logical Operators  
Short-Circuited Evaluation  
boolean Variables and Flags  
Boolean Zen p.321-322#15,16
5.3 User Errors  
Scanner Lookahead p. 293 trace with debugger, redesign to loop until "the answer is 42." is entered
Handling User Errors p.322-323#18,20
5.4 Indefinite Loop Variations p.323-324#22,24
The do/while Loop  
Break and "forever" Loops Do not use for this class.
5.5 Assertions and Program Logic p.325#26,
Reasoning About Assertions  
A Detailed Assertions Example  
The Java assert Statement p. 304 code with Java assertions, enable assertions and test
5.6 Case Study: NumberGuess  
Initial Version without Hinting  
Randomized Version with Hinting p. 313-314  redesign  to use I-P-O methods; write signatures & javadoc comments, trade, code their design
Final Robust Version  
   
Chapter 6: File Processing  
6.1 File Reading Basics p.369#2
Data, Data Everywhere  
File Basics  
Reading a File with a Scanner  
6.2 Details of Token-Based Processing p.369#4
Structure of Files and Consuming Input  
Scanner Parameters  
Paths and Directories  
A More Complex Input File  
6.3 Line-Based Processing p.370#7,8,11
String Scanners and Line/Token Combinations  
6.4 Advanced File Processing p.370-371#12,13
Output Files with PrintStream  
Try/Catch Statements  
6.5 Case Study: Weighted GPA p.367-368 redesign  to use I-P-O methods; write signatures & javadoc comments, trade, code their design
   
Chapter 7: Arrays  
7.1 Array Basics p. 430#1,3,4,5,7,8
Constructing and Accessing an Array  
A Useful Application of Arrays  
Random Access  
Arrays and Methods  
The For-Each Loop  
Limitations of Arrays  
7.2 Advanced Arrays p.431#10,12,14,15
Shifting Values in an Array  
Initializing Arrays  
Arrays in the Java Class Libraries  
Arrays of Objects  
Command Line Arguments  
7.3 Multidimensional Arrays (optional) p.431-432#17,18
Rectangular Two-Dimensional Arrays p. 416 redesign print to show column and row totals: use I-P-O methods; write signatures & javadoc comments, trade, code their design
Jagged Arrays p. 419-420 redesign  use I-P-O methods; write signatures & javadoc comments, trade, code their design
7.4 Case Study: Hours Worked  
The transferFrom Method  
The sum Method  
The addTo Method  
The print Method  
The Complete Program p. 428-429 redesign  use I-P-O methods; write signatures & javadoc comments, trade, code their design
  21
Chapter 8: Defining Classes  
8.1 Object-Oriented Programming Concepts  
Classes and Objects  
8.2 Object State: Fields p. 491#6
8.3 Object Behavior: Methods p. 491#8,9
A Detailed Example  
Mutators and Accessors  
8.4 Object Initialization: Constructors p.492#10,11
8.5 Encapsulation p.492#13,14,15,16
Private Data Fields  
Class Invariants  
8.6 More Instance Methods p.492#18,19,20
The toString Method  
The equals Method  
8.7 The this Keyword p.492#22,23,24
Multiple Constructors  
8.8 More Classes p.493#25,26,
8.9 Case Study: Designing a Stock Class p.493#29,30,31
Stock Behavior  
Stock Fields  
Stock Constructor  
Stock Method Implementation  
The Complete Stock Class  
   
Chapter 9: Inheritance and Interfaces  
9.1 Inheritance Concepts p.550#1,2,3,4
Non-programming Hierarchies  
9.2 Polymorpism p550#5,6
Overriding Methods  
Polymorphism  
9.3 Interacting with the Superclass p.553#10,11,12,14
Inherited Fields  
Calling a Superclass's Constructor  
Calling Overridden Methods  
A Larger Example: Point3D  
9.4 Inheritance and design p.554#15,16
9.5 Interfaces p.554#19,20,21
An Interface for Shape Classes  
Implementing the Shape Interface  
Benefits of Interfaces  
Interfaces in the Java Class Libraries  
9.6 Case Study: Designing a Hierarchy of Financial Classes p.554#24
Class Design  
Initial Redundant Implementation  
Abstract Classes  
  14