AP® Computer Science
AP® Computer Science: Java Programming is an introductory computer science course leading to the College Board's Advanced Placement Computer Science exam.
The course can be completed in eight months, allowing students time to review for and take the AP® exam. Not only does the course cover all the contents required for the AP® exam, but it also contains optional sections covering more advanced topics.
Interspersed within a well-organized exposition are exercises to be completed using an embedded Java compiler, graded labs, and graded tests. Additional materials include guided programming projects in downloadable PDF format that a student attempts as he or she reaches certain milestones.
Introduction
Welcome
How To Use This Course
EMail Progress Reports
Computing in Context
Introduction
Hardware
Systems and System Software
Responsible Use of Computer
Java Basics
Variables and Expressions
Integers
Doubles
Casting
Quick Reference 1
Test 1
Arithmetic Expressions
Pitfalls and Surprises
Declaring and Assigning Values to Variables
Programming Shortcuts
Quick Reference 2
Test 2
Strings
Concatenation
String Methods
Displaying Messages
Converting Between Numbers and Strings
Quick Reference 3
Test 3
Booleans
Relational Operators
Comparing Strings
Logical Operators
Quick Reference 4
Test 4
Arrays
Quick Reference 5
Test 5
Program Control
Conditional Statements
Blocks
Quick Reference 6
Test 6
Iteration
While Loops
Quick Reference 7
Test 7
For Loops
Quick Reference 8
Test 8
For-each Loops
QUick Reference 9
Test 9
Methods
Static Methods
Defining New Static Methods
Quick Reference 10
Test 10
The main Method
Comments
Multiple Variable Declarations
Overloaded Methods
Recursive Methods
Quick Reference 11
Test 11
Object-oriented Programming
Object-oriented Programming Concepts
OOP and Java
Classes and Instances
Simple Objects
A Person Class
A Point Class
Public Classes and the Java Compiler
The Java Compiler and the Virtual Machine
Errors, Exceptions, and Garbage Collection
Project 1
Quick Reference 12
Test 12
Arrays and Objects
ArrayLists
Project 2
Quick Reference 13
Test 13
Inheritance and Polymorphism
Extending Classes
Class Hierarchies
Polymorphism
Quick Reference 14
Test 14
Overriding Methods
Project 3
Quick Reference 15
Test 15
Class Definitions Revisited
Class Methods
Class Variables and Constants
final Block Variables
Multiple Constructors
Overloaded Instance Methods
Integer and Double
public and private
Using this
Object Aliasing
Quick Reference 16
Test 16
Abstractions
Abstract Classes
Interfaces
The Comparable<T> Interface
Project 4
Quick Reference 17
Test 17
Algorithms
Introduction
Algorithms
Traversals
Replacements
Insertions
Deletions
Searching and Sorting
Sequential search
Binary search
Hashing
Quick Reference 18
Test 18
Selection sort
Insertion sort
Merge sort
Quicksort
Project 5
Quick Reference 19
Test 19
Program Analysis
Introduction
Assertions and Exceptions
Course Information
Loop Invariants [AB Students Only]
Order of Growth Analysis [AB Students Only]
Big-O Analysis [AB Students Only]
Quick Reference 20
Test 20
Data Structures
Introduction to Data Structures [AB Candidates Only]
Abstract Data Types
Lists [AB Candidates Only]
The List<E> Interface
ArrayLists
Linked Lists
Iterators
List Iterators
Quick Reference 21
Test 21
Stacks and Queues [AB Candidates Only]
Stacks
Queues
Priority Queues
Quick Reference 22
Test 22
Sets and Maps [AB Candidates Only]
Sets
Maps
Quick Reference 23
Test 23
Trees and Heaps [AB Candidates Only]
Trees
Binary Trees
Binary Tree Traversals
Binary Search Trees
Heaps
Quick Reference 24
Test 24
GridWorld Case Study
Introducing GridWorld
Introduction
Running the Smulation
A Peek at Some Code!
GridWorld Classes and Interfaces
Overview
Locations
The Grid<E> Interface
Quick Reference 25
Test 25
Actors
Rocks
Flowers
Bugs
Critters
Quick Reference 26
Test 26
Extending GridWorld Classes
Introduction
Extending the Critter class
Extending the Bug class
Extending the Actor class
Choosing a Superclass
Quick Reference 27
Test 27
Grid Data Structures [AB Candidates Only]
Overview
The AbstractGrid<E> class
The BoundedGrid<E> class
The UnboundedGrid<E> class
Quick Reference 28
Test 28
Epilogue
The Advanced Placement Examination
Review and Practice
Procedures
Each student is assigned a principal IMACS instructor, and is given unlimited access to the curriculum during the registration period.
The principal instructor is available by phone or by email during regular business hours. Additionally, the principal instructor or other IMACS instructors are available via the online Help Desk, monitored seven days a week including evenings.
Students submit assignments and tests online. Scores for assignments and tests are accumulated into the student's online gradebook so that parents, students and instructors can monitor student progress.
Please note that IMACS does not order AP exams for students. Obtaining a copy of the actual AP exam must be arranged through your school or you can visit the College Board's website here for more information.