AP Computer Science A 5-6

Two Semester Course

Prerequisite: AP CSP or Computer Science 3-4H or teacher approval

Level: Advanced

In AP Computer Science A, students apply their programming skills to larger and more complex problems and situations. Students develop an understanding of how programming works as a large-scale process by using case studies and working on programming teams. Understanding and using complex data structures such as Arrays, ArrayLists and Classes is the focus of this course. Additional topics such as numbering systems, Inheritance, Interfaces, Recursion, Boolean algebra and Sort and Search algorithms are also studied. Students completing this course are prepared to take the Advanced Placement Exam in Computer Science. Students will also explore a service learning project component and focus on their choice of topic in Education or Health such as diabetes, and incorporate WE’s service-based learning framework and resources. Students will identify local priorities and translate classroom learning into hands-on innovation and problem solving. Students will apply the content and skills they have learned in their AP class to real-world opportunities that require innovation, creativity, and hard work.

Students will benefit from taking this course by having the opportunity to earn college credit and being prepared for further successful computer studies courses. Students follow the same curriculum as a similar university course. AP Computer Science A will provide students with challenging computer experiences, both individually and in teams. Students will be prepared to work as a junior programmer, and they will realize the advantages of computer technology in education and the workplace. Students will also participate in the Pilot teacher’s classroom to integrate WE service. Students will have the opportunity to earn AP with WE service recognition.

Goals of AP Computer Science A

Students should be able to

• Design, implement, and analyze solutions to problems;

• Use and implement commonly used algorithms;

• Develop and select appropriate algorithms and data structures to solve new problems;

• Write solutions fluently in an object-oriented paradigm;

• Write, run, test, and debug solutions in the Java programming language, utilizing standard Java library classes and interfaces from the AP Java subset;

• Read and understand programs consisting of several classes and interacting objects;

• Read and understand a description of the design and development process leading to such a program; and

• Understand the ethical and social implications of computer use

Topic Outline for AP Computer Science A

I. Object-Oriented Program Design

A. Program and class design

II. Program Implementation

A. Implementation techniques

B. Programming constructs

C. Java library classes and interfaces included in the AP Java Subset

III. Program Analysis

A. Testing B. Debugging C. Runtime exceptions

D. Program correctness E. Algorithm analysis

F. Numerical representations of integers

IV. Standard Data Structures

A. Primitive data types (int, boolean, double)

B. Strings C. Classes D. Lists

E. Arrays (1-dimensional and 2-dimensional)

V. Standard Operations and Algorithms

A. Operations on data structures

B. Searching

C. Sorting

VI. Computing in Context

A. System reliability

B. Privacy

C. Legal issues and intellectual property

D. Social and ethical ramifications of computer use

AP Computer Science A Exam Structure

AP COMPUTER SCIENCE A EXAM: 3 HOURS Assessment Overview All code on the AP Computer Science A Exam is consistent with the AP Java subset that can be found in Appendix A of the Course Description. All questions involving code should be answered in Java. Students are not tested on minor points of syntax.

Format of Assessment Section

Section I:

Multiple Choice | 40 Questions | 1 Hour, 30 Minutes | 50% of Exam Score

• Discrete Question topics will include: programming fundamentals, data structures, logic, algorithms/problem solving, object-oriented programming, recursion, and software engineering.

Section II:

Free Response | 4 Questions | 1 Hour, 30 Minutes | 50% of Exam Score

• Short Answer (each requiring Java programming language)

• Solve problems involving more extended reasoning