AP CS | Topics

Topic Materials

All materials courtesy of Stuart Reges & Marty Stepp, UW Computer Science & Engineering, the authors of our text: Building Java Programs.

# Topic Text Slides Videos Examples
01 Strings, Println 1.1 – 1.3 Println
02 Static Methods 1.4 – 1.5 Methods 1-3: Static Methods
1-4: Complex Figures
BakeCookies
BakeCookies2
03 Expressions & Variables 2.1 – 2.2 Expressions & Variables 2-1: Expressions
2-2: Variables/Assignments
04 For Loops 2.3 For Loops 2-3: For Loop
2-4: Nested Loops
05 Class Constants & Scope 2.4 – 2.5 Class Constants and Scope 2-5: Complex Figure Mirror.java
Mirror2.java
ScopeExample.java
06 Parameters 3.1 – 3.2 Parameters 3-1: Parameter Mystery
3-2: Parameters & Return Values
StarLines.java
StarLines2.java
ParameterExample.java
ParameterExample2.java
Params.java
Params2.java
07 Strings & Objects 3.3 – 3.4 Strings & Objects 3-3: Strings
3-4: Scanner
StringDemo.java
ScannerAvg.java
08 Graphics 3G Graphics 3G-1: Basic Drawing
3G-2: Parameterized Drawing
DrawingPanel.java
Copy this file to your program folder

TrainCar.java

09 Conditionals 4.1 – 4.5 Conditional Execution 4-2: Nested if/else Statements
4-3: Factoring if/else
4-4: Programming with if/else and Cumulative Sums
BMI1.java
BMI2.java
BMI3.java
FileReader.java
data.txt
10 Program Logic and Indefinite Loops 5.1 – 5.5 Chapter 5 5-1: Random Numbers
5-3: Sentinel Loops
5-4: Boolean Zen
5-5: Assertions
OddTester.java
AvgCalc.java
NumberGuess.java
Doubles.java
PickRandom.java
Robust.java
Fencepost1.java
11 File Processing 6.1 – 6.5 Chapter 6 6-1: Token-based Processing
6-2: Line-based Processing
6-3: Processing Complex Input Files
12 Arrays 7.1 – 7.6 Chapter 7 7-1: Array Simulation
7-2: Array Traversal Algorithms
7-3-1: Array Shifting Algorithms
7-3-2: Tallying with an Array
ArrayDemo.java
ScoreCounts.java
13 Classes 8.1 – 8.4 Chapter 8 8-1: Defining a Class
8-2: Constructors
8-3: Advanced Instance Methods
8-4: Encapsulation
Point.java
UsePoint.java
UsePoint2.java
Baby.java
Procreate.java
Baby2.java
Zombies.java
14 ArrayLists 10.1 – 10.2 Chapter 10 10-1: Removing From an ArrayList
10-2: Adding To an ArrayList
10-3: Implementing Comparable
ReverseFile.java
inferno.txt
Creature.java
CreatureMaker.java
15 Recursion 12.1 – 12.3 Chapter 12
Reges on Recursion
12-1: Recursive Tracing
12-2: Implementing a Recursive Function
12-3: Implementing a Recursive Method
Factorial.java
FactorialTrace.java
16 Inheritance and Interfaces 9.1 – 9.5 Chapter 9 9-1: Interacting with the Superclass
9-2: Polymorphism
9-3: Interfaces
Employee.java
Lawyer.java
Marketer.java
Secretary.java
LegalSecretary.java
Employee.java
EmployeeMain2.java
EmployeeMain3.java
EmployeeMain4.java
17 GridWorld AP Central GridWorld Case Study Student Manual
Quick Reference
Code (.zip)
Installation Guide
jGRASP Installation
18 Collections Framework 11.1 – 11.3 Chapter 11 11-1: List Example
11-2: Set Example
11-3: Map Example
19 Searching and Sorting 13.1 – 13.4 Chapter 13 13-1: Binary Search
13-2: Sorting
13-3: Complexity
20 Graphical User Interfaces 14.1 – 14.6 Chapter 14 14-1: GUI Basics
14-2: Layout Management
14-3: More Components and Events