TCH500: AP Computer Science A (Elective)

This list is representative of the materials provided or used in this course. Keep in mind that the actual materials used may vary, depending on the school in which you are enrolled, and whether you are taking the course as Independent Study.

For a complete list of the materials to be used in this course by your enrolled student, please visit MyInfo. All lists are subject to change at any time.

Scope & Sequence : Scope & Sequence documents describe what is covered in a course (the scope) and also the order in which topics are covered (the sequence). These documents list instructional objectives and skills to be mastered. K12 Scope & Sequence documents for each course include:

Course Overview

AP Computer Science A is the equivalent of a first-semester, college-level course in computer science. The course emphasizes object-oriented programming methodology with a concentration on problem solving and algorithm development. It also includes the study of data structures, design, and abstraction. Students enrolling in AP Computer Science A should have knowledge of mathematics at the Algebra II level as well as some previous programming experience, a basic understanding of networks, and knowledge of the responsible use of computer systems (including system reliability, privacy, legal issues, intellectual property, and the social and ethical ramifications of computer use). To take this course, students need regular access to a computer system with recent technology.

back to top

Course Length

Two Semesters

back to top


Success in MTH304: Honors Algebra II (or equivalent); previous programming experience, such as an introductory course in C++, Pascal, Visual Basic, or Java; basic understanding of networks; and teacher/school counselor recommendation

back to top

Course Outline


Unit 1: Introduction

Students download BlueJ, Java, and the course book.

Unit 2: Discussion Participation; Objects; Chapter 1, Part 1

Students learn about course discussions and get an overview of object-oriented programming in Java.

  • Discussion Participation
  • Objects: An Overview
  • Using Turtle Objects to Draw Pictures
  • A Complete Java Application Program Using Turtle Methods
  • A First Look at Inheritance: Defining Instance Methods in Turtle Subclasses

Unit 3: Chapter 1, Part 2

  • Additional Turtle Methods
  • Identifiers Versus Keywords
  • Compiling and Running an Application
  • Sending Messages to Objects

Unit 4: Chapter 2, Part 1

  • Using Vic Objects to Control Appliances
  • Defining a Subclass Containing Only Instance Methods
  • The If Statement

Unit 5: Chapter 2, Part 2

  • Using Class Methods and Javadoc Comments in a Program
  • The If-Else Statement and the Block Statement
  • Boolean Methods and the Not-Operator

Unit 6: Chapter 2, Part 3

  • Boolean Variables and the Assignment Operator
  • Boolean Operators and Expressions
  • Crash-Guards
  • Getting Started with UML Class Diagrams and Object Diagrams

Unit 7: Chapter 3, Part 1

  • Loops and Parameters
  • The While Statement
  • Using the Equals Method with String Variables
  • More on UML Diagrams

Unit 8: Chapter 3, Part 2

  • Using Private Methods and the Default Executor
  • A First Look at Declaring Method Parameters
  • Returning Object Values

Unit 9: Interlude: Integers and For-Loops; Chapter 4, Part 1

  • Arithmetic Operators for Integers
  • Comparison Operators for Integers
  • Strings Concatenated With Ints and Objects
  • Loop Controls
  • The For-Statement
  • The Do-While Statement
  • Instance Variables
  • Analysis and Design of a Game Program
  • Input and Output with JOptionPane Dialog Boxes

Unit 10: Chapter 4, Part 2

  • Declaring Instance Variables: A First Look at Encapsulation
  • Defining Constructors
  • Inheritance
  • Integer Instance Variables

Unit 11: Chapter 4, Part 3; Chapter 5

  • Making Random Choices
  • Overloading, Overriding, and Polymorphism
  • The Rules of Precedence for Operators
  • Using BlueJ With Its Debugger

Unit 12: Exercises and Project

Students complete exercises and a project to show what they have learned.

Unit 13: Test

Students take a test to assess their knowledge.

Semester Exam

Students take the semester exam.


Unit 1: Introduction; Appendix A; Appendix B

  • BlueJ and Java Software
  • Guidelines for Program Style
  • Indexed Glossary of Terms

Unit 2: Basic Data Types and Expressions; Chapter 6, Part 1

  • Double Values, Variables, and Expressions
  • Creating Your Own Library Classes
  • Basic String Methods
  • The Comparable Interface

Unit 3: Chapter 6, Part 2

  • Character Values and String's CharAt Method
  • Long Integers
  • Casts and Conversions
  • The Math Class

Unit 4: Chapter 7, Part 1

  • Analysis and Design of the Worker Class
  • Analysis and Design Example: Finding the Alphabetically First
  • An Array of Counters, an Array of Strings

Unit 5: Chapter 7, Part 2

  • Implementing the Worker Class with Arrays
  • Analysis and Design Example: Finding the Average in an Array
  • Implementing the Workerlist Class with Arrays

Unit 6: Project: Write a Grading Program

Students write a program for inputting grades.

Unit 7: Chapter 13

  • Sorting and Searching
  • The SelectionSort Algorithm for Comparable Objects
  • The InsertionSort Algorithm for Comparable Objects
  • Binary Search

Unit 8: Chapter 11

  • Abstract Classes
  • Interfaces

Unit 9: Grid World Case Study

The GridWorld case study contains a Graphical User Interface (GUI) that allows visual objects to interact in a two dimensional environment.

Unit 10: The Bug Class

  • The Bug Class
  • The BoxBug Class
  • Runner Classes

Unit 11: Grid World Classes and Interfaces

  • Overview
  • Location Class
  • Grid<E> Interface
  • The Actor Class
  • The Critter Class

Unit 12: Exercises and Project

Students complete exercises and a group activity.

Unit 13: AP Exam Review

Students review for the AP Exam.

  • Exam Prep
  • Multiple Choice Tips
  • Multiple Choice Practice
  • Free Response Tips
  • Free Response Practice

Semester One Review, Units 1–12

back to top

K12 Scope & Sequence documents for each course include:

  • Course Overview (as seen above)
  • Course Outline
  • Lesson Time and Scheduling