Sie sind auf Seite 1von 12

AP Computer Science A Syllabus

AP Computer Science A Syllabus The AP Computer Science A course is an introductory computer science

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.

---Semester 1---

Module

Scope and

College Board Topic Outline Objectives

Assignments

IMACS Lessons

Sequence

 

1 Getting Started

Program

Download and

 

Implementation

install Java.

Console output

Download and

(System.out.print/print ln)- IIB3

install BlueJ

Print student

 

information card.

 

2 Variables and

Program

Calculations with

Variables and Arithmetic Expressions

Expressions

Implementation

int variables.

Variable

Calculations with

• Integers 1, 2, 3, 4, 5

Declarations: IIB2b

double variables.

• Doubles 1, 2

Control – Sequential:

IIB4b

English to Metric conversions with mixed variable types.

Declaring and Assigning Values to Variables 1

Program Analysis

Identify and correct

Calculate test

 

errors: IIIB2

grade averages.

Limitations of finite

Convert currencies

representations (e.g., integer bounds, imprecision of floating-point representations, and round-off error): IIIH2

(dollar, pesos, yen, and Euro).

Standard Data

Structures

Simple data

3

Strings and User Input

Program Implementation

Using Pseudocode

Variables and

Reading Source

Arithmetic Expressions

 

Primitive types vs. objects: IIB1

Code

• Strings 1, 2

Interpreting a

• Concatenation 1, 2

Variable

secret message

• String Methods 1, 2, 3

Declarations: IIB2b

written in ASCII.

• Displaying Messages 1

Java library classes (String): IIC

objects to display song lyrics.

Using String

Converting between numbers and Strings

Program Analysis

Using escape

Practice Test #3

Identify and correct errors: IIIB2

characters to create ASCII art.

Exploring the Java API

     

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 Arithmetic Expressions

Statements

Implementation

conversions (binary,

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 bases: IIIH1

Determine heart

2, 3

rate target zone for safe exercise.

Logical Operators 1, 2, 3, 4

Standard Data Structures

Calculate basal

metabolic heart rate.

Program Control

Simple data types (boolean): IVA

Calculate body

mass index.

Conditional Statements 1, 2, 3, 4

Create menus with error trapping.

Blocks 1, 2

Calculate total

Practice Test #4 and 6

daily energy

expenditure.

5 Loops

 

Program Implementation

Simulate tossing a

Program Control

fair or biased coin.

• Iteration

Control – Iteration:

Predict percentage

• while Loops 1, 2, 3

IIB4d

of males and females in a population.

• for loops 1, 2, 3

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 male/female, male/male, female/female family combinations

such as using a debugger, adding extra output statements, or hand tracing code:

   

IIIB3

read from a sample

 

Identify and correct

text file.

errors: IIIB2

Calculate outcomes

Limitations of finite

of 3 ball lottery combinations.

Simulate dice

representations (e.g., integer bounds, imprecision of floating-point representations, and round-off error): IIIH2

probabilities with nested loops.

Predict odds of a 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 Implementation

Calculate average

Variables and Arithmetic Expressions

temperature and

Control – Iteration:

total rainfall based on data read in from a text file and choose output in

Arrays 1, 2, 3, 4, 5, 6, 7, 8

IIB4d

doubles 2

Program Analysis

 

Understand and

metric or English units.

Program Control

modify existing code:

for-each loops 1, 2

IIIC

Format output

 

Identify and correct

using the printf method.

Practice Test #5 and #9

errors: IIIB2

Limitations of finite

Calculate the Heat

representations (e.g., integer bounds, imprecision of floating-point representations, and round-off error): IIIH2

Standard Data

Index of a city using temperature and humidity data read in from a file.

Calculate and

display average, maximum, and minimum hurricane speed, pressure, and

Structures

Arrays (one

category from an input file.

dimension): IVD

Challenge Exam

(Module 4 – 6).

 

7 Methods

Program

Calculate x,y

Methods

Implementation

coordinates on the

The main Method 1

   

Top-down

circumference of a circle.

• Comments 1

development: IIA1b

• 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 each planet.

declarations: IB2f

Practice Test #10

Control – Methods:

Calculate

IIB4a

individual weight on

Java library classes (Math): IIC

each planet.

Approximate the value of pi by

Program Analysis

simulating throwing

Limitations of finite

darts.

representations (e.g., integer bounds, imprecision of floating-point representations, and round-off error): IIIH2

Oral Quiz

(Modules 4 – 7)

8

Introduction to

Object-Oriented Program Design

Identify examples of real-world

Object-oriented Programming Concepts

OOP and

Classes

Read and understand

classes, objects, methods, and attributes.

problem description,

• OOP and Java

purpose, and goals:

• 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 Garbage Collection.

Design and

economy of the family car in terms

implement a class: IB1

Arrays of Objects 1, 2,

Apply functional

of miles per gallon and gallons per mile.

3

decomposition: IB3

ArrayLists 1, 2, 3, 4, 5,

Calculate fuel

6, 7, 8

Program

economy for

Person Class 1, 2, 3, 4, 5, 6, 7, 8

Implementation

multiple car objects.

Object-oriented

Project annual

Point Class 1, 2, 3, 4, 5, 6

development: IIA1a

family fuel usage.

Encapsulation and

Create program

 

information hiding:

documentation using javadocs.

Calculate carbon

Public Classes and the Java Compiler

Java Virtual Machine

IIA1c

Primitive types vs. objects: IIB1

dioxide emitted from

 

Class declarations:

gasoline consumption.

Java Basics

IIB2c

Overloading Methods

Java class libraries (ArrayList): IIC

Calculate carbon

1, 2

dioxide footprint

   

based on family electricity use.

Practice Test #11, #12,

Program Analysis

 

#13

Categorize errors:

Calculate net

 

compile-time, runtime, logic: IIIB1

carbon dioxide footprint based on

levels of recycling.

Standard Data

Model the family carbon dioxide

Structures

• Classes: IVB

footprint.

• Lists IVC

Discussion:

• Arrays IVD

Computer Modeling

Challenge Exam

(Module 7 – 8).

9 Computer

Standard Data Structures

Distinguish

Computing in Context

Systems and

between analog and

• Hardware

History

Arrays (2-d): IVD

digital computing.

• Systems and System

 

Conduct a family

Software

Computing in Context

computer hardware

and software

Variables and Arithmetic Expressions

Arrays 1, 2, 3, 4, 5, 6, 7, 8

System reliability VIA

inventory.

Investigate

 

computer pioneers 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---

Module

Scope and

College Board Topic Outline Objectives

 

Assignments

IMACS Lessons

Sequence

11

Computing in

Computing in Context

Create a family

 

Context

identify theft

System reliability:

prevention plan.

VIA

Conduct a

   

Privacy: VIB

computer security

 

Legal issues and

audit.

intellectual property:

Discuss online

VIC

safety and

Social and ethical ramifications of computer use: VID

intellectual property

issues.

AP Computer

 

Science Labs intro.

12

Recursion

Program

Implementation

Discuss examples of real-world

Java Basics

Recursive Methods 1, 2, 3, 4

Understand and

recursion.

evaluate recursive

Create Mondrian

Lab 1: Chatter

methods:IIB4e

art using recursion.

Visualize the

AP Computer

recursive leap of faith (the Towers of Hanoi and Martin and the Dragon)

Science Lab Student Guide: Magpie

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 Polymorphism

Object-Oriented Program Design

Extend a box class to create a cube

Inheritance and Polymorphism

Read and understand

class.

Extending Classes 1, 2,

class specifications and relationships among the classes (“is-a,” “has-a” relationships): IA3

Extend a triangle class to create

equilateral and isosceles classes.

3, 4

Class Hierarchies 1, 2, 3, 4, 5, 6, 7

Polymorphism 1, 2, 3,

Create a class

4, 5, 6

Understand and

hierarchy to

represent simple

Overriding Methods 1, 2, 3, 4, 5, 6, 7

implement a given class hierarchy: IA4

terrains in a graphics

IMACS Project 1 and

Identify reusable components from

game.

2

AP Computer

Practice Test #15

   

existing code using classes and class libraries: IA5

Science Lab: Magpie

Lab 1: Chatter [9]

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 Program Design

Calculate prime numbers.

OOP - Class

Definitions Revisited

Apply functional

Perform a

Multiple Constructors 1, 2

decomposition: IB4

frequency analysis

on a passage of text.

Overloaded

Program

Translate a text

Implementation

message into Morse

code.

Encode and decode a secret

15

Abstraction and Interfaces

Program

Create abstract

OOP - Abstractions

Implementation

classes for

Abstract Classes 1, 2, 3

 

Interface

homework

Interfaces 1, 2, 3, 4, 5, 6, 7

declarations: IIB2d

assignments in

Java library classes (List, Comparable):

different subjects.

Comparable <T>

Implement an

Interface 1, 2, 3, 4, 5, 6, 7, 8

IIC

interface to process homework assignments in different subjects.

Standard Data

Data Structures

Structures

Lists: The List <E>

Classes: IVB

Implement

Interface

   

Lists: IVC

Comparable <T> to process homework assignments in different subjects.

Use an interface

Lab 6: Image

AP Computer Science Lab Student Guide: Picture

 

and abstract classes to process an

inventory of

products.

AP Computer

Science Lab: Picture

Challenge Exam Module 15

 

16 Algorithms

Object-Oriented Program Design

Traverse a set of

Algorithms

election results,

• Algorithms 1 ,2 , 3

Choose appropriate

calculate the total

• Traversals

data representation

votes, and print an updated report.

• Replacements

and algorithms: IB2

• Insertions 1, 2, 3

Traverse a set of election results,

• Deletions

Standard Data

Lab 6: Image Processing [8][10]

Structures

replace vote counts,

• Lists: IVC

calculate the new

 

• Arrays: IVD

results, and print an updated report.

Standard Algorithms

Traverse a set of

election results,

• Traversals: VA1

insert write-in

• Insertions: VA2

candidates, calculate

• Deletions: VA3

the new results, and

AP Computer Science Lab Student Guide: Picture

print an updated report.

Traverse a set of

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 Program Design

Use an insertion

Algorithms

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,

 

and algorithms: IB2

descending order by title, release year, or studio.

4, 5, 6, 7

Program

Merge Sort 1, 2, 3, 4, 5, 6

Implementation

Use a selection sort

Lab 8: Elevens

Understand and

to arrange a movie list in ascending or

[1][2][3]

evaluate recursive

methods:IIB4e

descending order by

Standard Algorithms

title, release year, or studio.

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 Guide: Elevens

AP Computer

Science Lab: Elevens

18 Searching

Standard Algorithms

Conduct a

Searching

sequential search for

Sequential Search 1, 2

Sequential Search:

specific titles, release

Binary Search 1, 2, 3, 4, 5

VB1

year, or artist in a

• Binary Search: VB2

collection of music CDs.

Lab 8: Elevens [4][6]

AP Computer

Conduct a binary

Science Lab Student Guide: Elevens

search for specific

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 processing a set of

Analysis

cases and generate appropriate test data:

Assertions and

student grades.

Exceptions 1, 2, 3, 4

   

IIIA2

AP Computer

Lab 8: Elevens

Perform integration testing: IIIA3

Science Lab: Elevens

[7][8][9]

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 Science Exam

reviews.

Student self study with Barron’s or other AP Exam Review books.

Exam Format and

Materials

• The Java Subset

• Grading

Practice test with the 2009 AP Computer Science Exam.

• Exam Taking Hints

• Java Features

Program Design and OOP Concepts

 

Algorithms

Past Free Response Questions

Past Free Response Questions

A Exam 1, 2

APCS Scoring Component

Description

Modules within Course

[C1]

The course teaches students to design and implement computer- based solutions to problems

Modules 2 – 9, 12 – 19

[C2]

The course teaches students to use and implement commonly used algorithms.

5, 6, 8, 9, 12, 16, 17, 18

[C3]

The course teaches students to use and implement commonly- used data structures.

6, 8, 9 , 15, 16, 17, AP Computer Science Labs (12-19)

[C4]

[C5]

[C6]

[C4] [C5] [C6] [C7] [C8] The course teaches students to select appropriate algorithms and data structures

[C7]

[C8]

The course teaches students to select appropriate algorithms and data structures to solve problems.

The course teaches students to code fluently in an object- oriented paradigm using the programming language Java.

The course teaches students to use standard Java library classes from the AP Java subset delineated in Appendices A and 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 particular, the course enables students to read and understand the current AP Computer

and interacting objects. In particular, the course enables students to read and understand the current AP

The course teaches students to recognize the ethical and social implications of computer use.

12, 16, 17, 18

8, 13, 14, 15, AP Computer Science Labs (12-19)

1 – 9, 12 – 19

AP Computer Science Labs 12-

19

5, 8, 9, 11, 14