AP Computer Science

advertisement
Charlottesville High School
CURRICULUM MAP
COURSE:
LENGTH OF COURSE:
NUMBER OF CREDITS:
GRADE LEVEL (S):
PREREQUISITE (S):
AP Computer Science A / AB
1 year
1
11, 12
Computer Science A and/or Teacher Recommendation
BRIEF COURSE DESCRIPTION:
This full year course is designed to teach students to write code using Java as the programming language.
Students will study the operation of the computer and its related equipment, how to select appropriate
algorithms and data structures to solve problems and to design, maintain, and adapt preexisting code which
follows the OOP paradigm. AP Computer Science A is designed to be equivalent to a first semester
college-level course and students may elect to take the Advanced Placement exam upon completion of this
course.
COURSE OBJECTIVES:
I. Program Design





Read and understand a problem description, purpose, and goals.
Apply data abstraction and encapsulation.
Read and understand class specifications among the classes.
Understand and implement a given class hierarchy.
Identify reusable components from existing code using classes and class libraries.
II. Class Design





Design and implement a class.
Design an interface.
Choose appropriate data representations and algorithms.
Apply functional decomposition.
Extend a given class using inheritance.
III. Implementation Techniques

Methodology
o Object-oriented development
o Top-down development
o Encapsulation and information hiding
o Procedural abstraction

Programming Constructs
o Primitive types vs. objects
o Declaration
 Constant declarations
 Variable declarations
 Class declarations
 Interface declarations
 Method declarations
AP Computer Science A
Revised September 2004
2


 Parameter declarations
Console Output { System.out.println() }
Control
o Methods
o Sequential
o Conditional
o Iteration
o Recursion
IV. Program Analysis

Testing
o Test class and libraries in isolation
o Identify boundary cases and generate appropriate test data.
o Perform integration

Debugging
o Categorize errors: compile-time, run-time, logic
o Identify and correct errors
o Techniques: use a debugger, add extra output statements, hand-trace code.




Understand and modify existing code.
Extend existing code using inheritance.
Understand error handling
Reason about programs
o Pre – and Post-conditions
o Assertions
o Invariants

Analysis of algorithms
o Informal comparisons of running times
o Exact calculation of statement execution counts.

Numerical representations and limits
o Representations of numbers in different bases.
o Limitations of finite representations.
V. Standard Data Structures











Simple data types { int , boolean, double, char }
Classes
One-dimensional arrays
Two-dimensional arrays
Linked lists { singularly, doubly, circular }
Stacks
Queues
Trees
Heaps
Priority queues
Sets
AP Computer Science A
Revised September 2004
3
 Maps
VI. Standard Algorithms




Traversals
Insertions
Deletions
Searching
o Sequential
o Binary
o Hashing

Sorting
o
o
o
o
o
Selection
Insertion
Mergesort
Quicksort
Heapsort
VII. Case Study

Java Marine Biology Case Study
o Test and debug existing code.
o Make adaptations to MBS code.
o Create new methods to extend the Java MBS
AP Computer Science A
Revised September 2004
4
MATERIALS:
Textbook
Computing Concepts with Java Essentials
John Wiley & Sons, Inc. 2003
Java Methods AB
Skylight Publishing 2003
Computing Concepts with Java Essentials
Advanced Placement Computer Science Study Guide
John Wiley & Sons, Inc. 2004
Instructional Materials and Resources
METHODS OF INSTRUCTION:
Direct Instruction (Lecture)
Student group work and investigations
Student presentations
METHODS OF EVALUATION:
Tests
Quizzes
Projects
Programs
Notebook
Homework/Classwork
Labs
Class participation
Group work
Student presentations
AP Computer Science A
Revised September 2004
5
COURSE OUTLINE:
Major Topic
Textbook Reference
Timeline
(in Clock Hours)
1st Semester
I.
II.
III.
IV.
V.
VI.
Program Design
Class Design
Implementation Techniques
Selection Statements
Repetition / Iteration
Arrays / ArrayList
Exam Review
Ch. 1
Ch. 2
Ch. 3, 4
Ch. 5
Ch. 6
Ch. 13
8
12
12
8
12
16
4
Ch. 7,8
Ch. 9,11
Ch. 12
AP Computer Science Study
Giude
18
18
12
8
2nd Semester
VII.
VIII.
IX.
X.
Multi-Class Design
Interfaces / Polymorphism/ Inheritance
Recursion, Searching and Sorting
Case Study
AP Exam Review
XI.
Linked List
Ch. 11
AP Computer Science A
Revised September 2004
Depending on
exam scheduled
date
As time allows
Download