You are on page 1of 12

AP Computer Science A Syllabus

The AP Computer Science A course is an introductory computer science course. A large part of the
course also emphasizes the design issues that make programs understandable, adaptable, and when
appropriate, reusable. At the same time, the development of useful computer programs and classes is
used as a context for introducing other important concepts in computer science, including the
development and analysis of algorithms, the development and use of fundamental data structures, and
the study of standard algorithms and typical applications. In addition an understanding of the basic
hardware and software components of computer systems and the responsible use of these systems are
integral parts of the course.

The goals of the AP Computer Science course are comparable to those in the introductory sequence of
courses for computer science majors offered in college and university computer science departments.
Students completing the AP Computer Science course will be able to:
o Design and implement computer-based solutions to problems in a variety of application areas.
o Use and implement commonly-used algorithms and data structures.
o Develop and select appropriate algorithms and data structures to solved problems.
o Code fluently in an object-oriented paradigm using the programming language Java. Students
will be familiar with and be able to use standard Java library classes from the AP Java subset.
o Read and understand a large program consisting of several classes and interacting objects.
Students will be able to read and understand a description of the design and development process
leading to a program such as the AP Computer Labs.
o Identify the major hardware and software components of a computer system, their relationship to
one another, and the roles of these components within the system.
o Recognize the ethical and social implications of computer use.

This course spans 34 weeks requiring a minimum of 10 hours per week to read lessons and complete 70
programming assignments, 12 written assignments, four oral quizzes, six labs (the structured lab
components consists of a minimum of 20 hours of hands-on lab experiences), and eight exams. The AP
approved IMACS curriculum is used to develop fundamental programming knowledge and skills, but
enhanced instruction is provided to more thoroughly explore computer science concepts.

Resources:
• Institute of Mathematics and Computer Science (IMACS): Computer Science: Java
Programming (www.eimacs.com).
• Institute of Mathematics and Computer Science (IMACS): Be Prepared for the AP Computer
Science Exam (www.eimacs.com).
• Litvin, & Litvin, Java Methods A & AB, Andover, MA. Skylight Publishing 2006.
• College Board, AP Computer Science Labs: Magpie, Picture and Elevens, and the Student
Manual.
• The BlueJ Integrated Development Environment (bluej.org).

In the following detailed syllabus, the Concepts column identifies the concepts from the AP Computer
Science Topic Outline, the Assignments column indicates assignments which address the concepts, and
the IMACS Lessons column identifies specific IMACS lessons that address the concepts. The
combination of IMACS lessons and specific assignments permits coverage of all concepts in the Topic
Outline.
AP® Computer Science A VirtualSC Page 1
---Semester 1---

Scope and College Board Topic


Module Assignments IMACS Lessons
Sequence Outline Objectives
1 Getting Started Program • Download and
Implementation install Java.
• Console output • Download and
(System.out.print/print install BlueJ
ln)- IIB3 • Print student
information card.

2 Variables and Program • Calculations with Variables and


Expressions Implementation int variables. Arithmetic Expressions
• Variable • Calculations with • Integers 1, 2, 3, 4, 5
Declarations: IIB2b double variables. • Doubles 1, 2
• Control – Sequential: • English to Metric • Declaring and
IIB4b conversions with Assigning Values to
mixed variable Variables 1
Program Analysis types.
• Identify and correct • Calculate test
errors: IIIB2 grade averages.
• Limitations of finite • Convert currencies
representations (e.g., (dollar, pesos, yen,
integer bounds, and Euro).
imprecision of
floating-point
representations, and
round-off error): IIIH2

Standard Data
Structures
• Simple data
3 Strings and User Program • Using Pseudocode Variables and
Input Implementation • Reading Source Arithmetic Expressions
• Primitive types vs. Code • Strings 1, 2
objects: IIB1 • Interpreting a • Concatenation 1, 2
• Variable secret message • String Methods 1, 2, 3
Declarations: IIB2b written in ASCII. • Displaying Messages 1
• Java library classes • Using String • Converting between
(String): IIC objects to display numbers and Strings
song lyrics.
Program Analysis • Using escape Practice Test #3
• Identify and correct characters to create
errors: IIIB2 ASCII art.
• Exploring the Java
API

AP® Computer Science A VirtualSC Page 2


• Decoding cell
phone text message
phrases.
• Modify text
message and
currency converter
to accept user input
with Scanner class
methods.
• Calculate overdue
library fines.
• Oral Quiz
(Modules 1 – 3).

Challenge Exam
(Module 1 – 3).
4 Condition Program • Practice base Variables and
Statements Implementation conversions (binary, Arithmetic Expressions
• Control – octal, decimal, and • integers 5
Conditional: IIB4c hexadecimal). • booleans 1
• Calculate food • Relational Operators 1,
Program Analysis label minimum daily 2
• Representations of reference values. • Comparing Strings 1,
numbers in different • Determine heart 2, 3
bases: IIIH1 rate target zone for • Logical Operators 1, 2,
safe exercise. 3, 4
Standard Data • Calculate basal
Structures metabolic heart rate. Program Control
• Simple data types • Calculate body • Conditional Statements
(boolean): IVA mass index. 1, 2, 3, 4
• Create menus with • Blocks 1, 2
error trapping.
• Calculate total Practice Test #4 and 6
daily energy
expenditure.
5 Loops Program • Simulate tossing a Program Control
Implementation fair or biased coin. • Iteration
• Control – Iteration: • Predict percentage • while Loops 1, 2, 3
IIB4d of males and females • for loops 1, 2, 3
in a population.
Program Analysis • Create a guess my Practice Test #7 and #8
• Identify boundary number game.
cases and generate • Read text files.
appropriate data: IIIA2 • Calculate
• Employ techniques percentage of
such as using a male/female,
debugger, adding extra male/male,
output statements, or female/female
hand tracing code: family combinations

AP® Computer Science A VirtualSC Page 3


IIIB3 read from a sample
• Identify and correct text file.
errors: IIIB2 • Calculate outcomes
• Limitations of finite of 3 ball lottery
representations (e.g., combinations.
integer bounds, • Simulate dice
imprecision of probabilities with
floating-point nested loops.
representations, and • Predict odds of a
round-off error): IIIH2 bottle cap prize
using Monte Carlo
Method.
• Generate random
passwords with
different character
sets.
• Discussion:
Computer science
careers based on
Univ. of Washington
videos.

6 Arrays Program • Calculate average Variables and


Implementation temperature and Arithmetic Expressions
• Control – Iteration: total rainfall based • Arrays 1, 2, 3, 4, 5, 6,
IIB4d on data read in from 7, 8
a text file and • doubles 2
Program Analysis choose output in
• Understand and metric or English Program Control
modify existing code: units. • for-each loops 1, 2
IIIC • Format output
• Identify and correct using the printf Practice Test #5 and #9
errors: IIIB2 method.
• Limitations of finite • Calculate the Heat
representations (e.g., Index of a city using
integer bounds, temperature and
imprecision of humidity data read
floating-point in from a file.
representations, and • Calculate and
round-off error): IIIH2 display average,
maximum, and
Standard Data minimum hurricane
Structures speed, pressure, and
• Arrays (one category from an
dimension): IVD input file.
• Challenge Exam
(Module 4 – 6).
7 Methods Program • Calculate x,y Methods
Implementation coordinates on the • The main Method 1

AP® Computer Science A VirtualSC Page 4


• Top-down circumference of a • Comments 1
development: IIA1b circle. • Multiple Variable
• Procedural • Convert to and Declarations 1
abstraction: IIA1d from English to • Static Methods 1, 2, 3
• Method declarations: metric units. • Defining New Static
IIB2e • Calculate the Methods 4, 5, 6, 7, 8
• Parameter surface gravity on
declarations: IB2f each planet. Practice Test #10
• Control – Methods: • Calculate
IIB4a individual weight on
• Java library classes each planet.
(Math): IIC • Approximate the
value of pi by
Program Analysis simulating throwing
• Limitations of finite darts.
representations (e.g., • Oral Quiz
integer bounds, (Modules 4 – 7)
imprecision of
floating-point
representations, and
round-off error): IIIH2

8 Introduction to Object-Oriented • Identify examples Object-oriented


OOP and Program Design of real-world Programming
Classes • Read and understand classes, objects, Concepts
problem description, methods, and • OOP and Java
purpose, and goals: attributes. • Classes and Instances
IA1 • Evaluate OOP, 1, 2, 3
• Apply data procedural, and non-
abstraction and procedural styles. Simple Objects
encapsulation: IA2 • Calculate the fuel • Errors, Exceptions, and
• Design and economy of the Garbage Collection.
implement a class: IB1 family car in terms • Arrays of Objects 1, 2,
• Apply functional of miles per gallon 3
decomposition: IB3 and gallons per mile. • ArrayLists 1, 2, 3, 4, 5,
• Calculate fuel 6, 7, 8
Program economy for • Person Class 1, 2, 3, 4,
Implementation multiple car objects. 5, 6, 7, 8
• Object-oriented • Project annual • Point Class 1, 2, 3, 4,
development: IIA1a family fuel usage. 5, 6
• Encapsulation and • Create program
information hiding: documentation using Public Classes and the
IIA1c javadocs. Java Compiler
• Primitive types vs. • Calculate carbon • Java Virtual Machine
objects: IIB1 dioxide emitted from
• Class declarations: gasoline Java Basics
IIB2c consumption. • Overloading Methods
• Java class libraries • Calculate carbon 1, 2
(ArrayList): IIC dioxide footprint

AP® Computer Science A VirtualSC Page 5


based on family Practice Test #11, #12,
Program Analysis electricity use. #13
• Categorize errors: • Calculate net
compile-time, runtime, carbon dioxide
logic: IIIB1 footprint based on
levels of recycling.
Standard Data • Model the family
Structures carbon dioxide
• Classes: IVB footprint.
• Lists IVC • Discussion:
• Arrays IVD Computer Modeling
• Challenge Exam
(Module 7 – 8).
9 Computer Standard Data • Distinguish Computing in Context
Systems and Structures between analog and • Hardware
History • Arrays (2-d): IVD digital computing. • Systems and System
• Conduct a family Software
Computing in computer hardware
Context and software Variables and
• System reliability inventory. Arithmetic Expressions
VIA • Investigate • Arrays 1, 2, 3, 4, 5, 6,
computer pioneers 7, 8
and devices of early
computer history.
• Create time line of
four generations of
computers and
correlate to
historical/ cultural
events and personal
family history.
• Calculate projectile
trajectory table
based on launch
angle and speed.

10 Semester Exam
• Semester Exam • Review

---Semester 2---

Scope and College Board Topic


Module Assignments IMACS Lessons
Sequence Outline Objectives
11 Computing in Computing in • Create a family
Context Context identify theft
• System reliability: prevention plan.
VIA • Conduct a
AP® Computer Science A VirtualSC Page 6
• Privacy: VIB computer security
• Legal issues and audit.
intellectual property:• Discuss online
VIC safety and
• Social and ethical intellectual property
ramifications of issues.
computer use: VID • AP Computer
Science Labs intro.
12 Recursion Program • Discuss examples Java Basics
Implementation of real-world • Recursive Methods 1,
• Understand and recursion. 2, 3, 4
evaluate recursive • Create Mondrian • Lab 1: Chatter
methods:IIB4e art using recursion.
• Visualize the
• AP Computer recursive leap of
Science Lab Student faith (the Towers of
Guide: Magpie Hanoi and Martin
and the Dragon)
• Translate piecewise
functions into
recursive methods.
• Calculate Fibonacci
numbers recursively.
• Determine if a
phrase is a
palindrome
recursively.
• Collaboratively
decode a secret
message.
• AP Computer
Science Lab: Magpie
• Oral Quiz (Modules
8 – 12)
• Challenge Exam
Module 12
13 Inheritance and Object-Oriented • Extend a box class Inheritance and
Polymorphism Program Design to create a cube Polymorphism
• Read and understand class. • Extending Classes 1, 2,
class specifications • Extend a triangle 3, 4
and relationships class to create • Class Hierarchies 1, 2,
among the classes equilateral and 3, 4, 5, 6, 7
(“is-a,” “has-a” isosceles classes. • Polymorphism 1, 2, 3,
relationships): IA3 • Create a class 4, 5, 6
• Understand and hierarchy to • Overriding Methods 1,
implement a given represent simple 2, 3, 4, 5, 6, 7
class hierarchy: IA4 terrains in a graphics • IMACS Project 1 and
• Identify reusable game. 2
components from • AP Computer • Practice Test #15

AP® Computer Science A VirtualSC Page 7


existing code using Science Lab: Magpie • Lab 1: Chatter [9]
classes and class
libraries: IA5
• Extend a given class
using inheritance: IB4

Program
Implementation
• Java library classes
(Object): IIC

Program Analysis
• Test classes and
libraries in isolation:
IIIA1
• Perform integration
testing: IIIA3
• Extend existing code
using inheritance:
IIID

Standard Data
Structures
• Classes: IVB

• AP Computer
Science Lab Student
14 Classes Revisited Object-Oriented • Calculate prime OOP - Class
Program Design numbers. Definitions Revisited
• Apply functional • Perform a • Multiple Constructors
decomposition: IB4 frequency analysis 1, 2
on a passage of text. • Overloaded
Program • Translate a text
Implementation message into Morse
code.
• Encode and decode
a secret

15 Abstraction and Program • Create abstract OOP - Abstractions


Interfaces Implementation classes for • Abstract Classes 1, 2, 3
• Interface homework • Interfaces 1, 2, 3, 4, 5,
declarations: IIB2d assignments in 6, 7
• Java library classes different subjects. • Comparable <T>
(List, Comparable): • Implement an Interface 1, 2, 3, 4, 5, 6,
IIC interface to process 7, 8
homework
Standard Data assignments in Data Structures
Structures different subjects. • Lists: The List <E>
• Classes: IVB • Implement Interface

AP® Computer Science A VirtualSC Page 8


• Lists: IVC Comparable <T> to • Lab 6: Image
process homework
AP Computer assignments in
Science Lab Student different subjects.
Guide: Picture • Use an interface
and abstract classes
to process an
inventory of
products.
• AP Computer
Science Lab: Picture
• Challenge Exam
Module 15

16 Algorithms Object-Oriented • Traverse a set of Algorithms


Program Design election results, • Algorithms 1 ,2 , 3
• Choose appropriate calculate the total • Traversals
data representation votes, and print an • Replacements
and algorithms: IB2 updated report. • Insertions 1, 2, 3
• Traverse a set of • Deletions
Standard Data election results, • Lab 6: Image
Structures replace vote counts, Processing [8][10]
• Lists: IVC calculate the new
• Arrays: IVD results, and print an
updated report.
Standard • Traverse a set of
Algorithms election results,
• Traversals: VA1 insert write-in
• Insertions: VA2 candidates, calculate
• Deletions: VA3 the new results, and
print an updated
AP Computer report.
Science Lab Student • Traverse a set of
Guide: Picture election results,
delete incorrect data,
calculate the new
results, and print an
updated report.
• Process a set of
student grades using
traversal, insertion,
replacement, and
deletion methods.
• AP Computer
Science Lab: Picture
17 Sorting Object-Oriented • Use an insertion Algorithms
Program Design sort to arrange a • Insertion Sort 1, 2, 3,
• Choose appropriate movie list in 4, 5, 6
data representation ascending or • Selection Sort 1, 2, 3,

AP® Computer Science A VirtualSC Page 9


and algorithms: IB2 descending order by 4, 5, 6, 7
title, release year, or • Merge Sort 1, 2, 3, 4,
Program studio. 5, 6
Implementation • Use a selection sort • Lab 8: Elevens
• Understand and to arrange a movie [1][2][3]
evaluate recursive list in ascending or
methods:IIB4e descending order by
title, release year, or
Standard studio.
Algorithms • Use a mergesort to
• Selection Sort: VC1 arrange a movie list
• Insertion Sort: VC2 in ascending or
• Mergesort: VC3 descending order by
title, release year, or
• AP Computer studio.
Science Lab Student • AP Computer
Guide: Elevens Science Lab: Elevens

18 Searching Standard • Conduct a Searching


Algorithms sequential search for • Sequential Search 1, 2
• Sequential Search: specific titles, release • Binary Search 1, 2, 3,
VB1 year, or artist in a 4, 5
• Binary Search: VB2 collection of music • Lab 8: Elevens [4][6]
CDs.
• AP Computer • Conduct a binary
Science Lab Student search for specific
Guide: Elevens titles, release year, or
artist in a collection
of music CDs.
• Use binary and
sequential searches
to locate specific
individuals in a
contact list by name,
relationship,
birthday, phone
number, or email
address.
• AP Computer
Science Lab: Elevens
• Challenge Exam
Module 17 and 18.
• Oral Quiz (Modules
13 – 18).
19 Program Program Analysis • Handle exceptions Algorithms/Program
Analysis • Identify boundary appropriately when Analysis
cases and generate processing a set of • Assertions and
appropriate test data: student grades. Exceptions 1, 2, 3, 4

AP® Computer Science A VirtualSC Page 10


IIIA2 • AP Computer • Lab 8: Elevens
• Perform integration Science Lab: Elevens [7][8][9]
testing: IIIA3
• Understand runtime
exceptions: IIIE1
• Pre- and post-
conditions: IIIF1
• Assertions: IIIF2
• Informal
comparisons of
running times: IIIG1
• Exact calculation of
statement execution
counts: IIIG2

• AP Computer
Science Lab Student
Guide: Elevens
20 AP Exam Exam Review IMACS Be Prepared
Review • Teacher lead for the AP Computer
reviews. Science Exam
• Student self study • Exam Format and
with Barron’s or Materials
other AP Exam • The Java Subset
Review books. • Grading
• Practice test with • Exam Taking Hints
the 2009 AP • Java Features
Computer Science • Program Design and
Exam. OOP Concepts
• Algorithms
• Past Free Response
Questions
• Past Free Response
Questions
• A Exam 1, 2

APCS Scoring Component Description Modules within Course


The course teaches students to
design and implement computer-
[C1] Modules 2 – 9, 12 – 19
based solutions to problems

The course teaches students to


use and implement commonly
[C2] 5, 6, 8, 9, 12, 16, 17, 18
used algorithms.

The course teaches students to


use and implement commonly- 6, 8, 9 , 15, 16, 17, AP
[C3]
used data structures. Computer Science Labs (12-19)

AP® Computer Science A VirtualSC Page 11


The course teaches students to
select appropriate algorithms and
[C4] 12, 16, 17, 18
data structures to solve problems.

The course teaches students to


code fluently in an object- 8, 13, 14, 15, AP Computer
[C5]
oriented paradigm using the Science Labs (12-19)
programming language Java.
The course teaches students to
use standard Java library classes
from the AP Java subset
[C6] delineated in Appendices A and 1 – 9, 12 – 19
B of the AP Computer Science
Course Description.

The course teaches students to


read and understand a large
program consisting of several
classes and interacting objects. In AP Computer Science Labs 12-
[C7]
particular, the course enables 19
students to read and understand
the current AP Computer

The course teaches students to


recognize the ethical and social
[C8] 5, 8, 9, 11, 14
implications of computer use.

AP® Computer Science A VirtualSC Page 12

You might also like