AP Computer Science

Instructor: W.B. Merriman

"The theories that I (and others) helped develop explained why unfettered markets often not only do not lead to social justice, but do not even produce efficient outcomes. Interestingly, there has been no intellectual challenge to the refutation of Adam Smith's invisible hand: individuals and firms, in the pursuit of their self-interest, are not necessarily, or in general, led as if by an invisible hand, to economic efficiency."

∼Joseph Stiglitz∼ (The Pact with the Devil)


The course

The AP Computer Science A course is an introductory course in computer science. Because the design and implementation of computer programs to solve problems involve skills that are fundamental to the study of computer science, a large part of the course is built around the development of computer programs that correctly solve a given problem. These programs should be understandable, adaptable, and, when appropriate, reusable. At the same time, the design and implementation of computer programs is used as a context for introducing other important aspects of computer science, including the development and analysis of algorithms, the development and use of fundamental data structures, the study of standard algorithms and typical applications, and the use of logic and formal methods. In addition, the responsible use of these systems is an integral part of the course.

Goals

The goals of the AP Computer Science A course are comparable to those in the introductory course for computer science majors offered in college and university computer science departments. It is not expected, however, that all students in the AP Computer Science A course will major in computer science at the university level. The AP Computer Science A course is intended to serve both as an introductory course for computer science majors and as a course for people who will major in other disciplines that require significant involvement with technology. It is not a substitute for the usual college-preparatory mathematics courses.

The following goals apply to the AP Computer Science A course when interpreted within the context of the course. Students should be able to:

Computer language

The content of the college-level introductory programming course has evolved significantly over the years. Starting as a treatment merely of language features, it eventually incorporated first the notions of procedures and procedural abstraction, then the use of modules and data abstraction. At most institutions, the current introductory programming course takes an object-oriented approach to programming that is based on encapsulating procedures and data and creating programs with interacting objects. The AP Computer Science A course has evolved to incorporate this approach.

Current offerings of the AP Computer Science A Exam require the use of Java. Those sections of the exam that require the reading or writing of actual programs will use Java. The exam will not include all the features of Java; it will be consistent with the AP Java subset. The AP Java subset can be found in the Computer Science section of AP Central.

Prerequisites

The necessary prerequisites for entering the AP Computer Science A course include knowledge of basic algebra and experience in problem solving. A student in the AP Computer Science A course should be comfortable with functions and the concepts found in the uses of functional notation, such as f(x) = x + 2 and f(x) = g(h(x)). It is important that students understand that any significant computer science course builds upon a foundation of mathematical reasoning that should be acquired before attempting such a course. One prerequisite for the AP Computer Science A course, competence in written communication, deserves special attention. Documentation plays a central role in the programming methodology that forms the heart of the AP Computer Science A course. Students should have already acquired facility in written communication before entering the course.

The exam

The AP Computer Science A Exam is 3 hours long and seeks to determine how well students have mastered the concepts and techniques contained in the course outline.

The exam consists of two sections: a multiple-choice section (40 questions in1 hour and 15 minutes), which tests proficiency in a wide variety of topics, and a free-response section (4 questions in 1 hour and 45 minutes), which requires the student to demonstrate the ability to solve problems involving more extended reasoning.

The multiple-choice and the free-response sections of the AP Computer Science A Exam require students to demonstrate their ability to design, write, analyze, and document programs and subprograms.

Minor points of syntax are not tested on the exam. All code given is consistent with the AP Java subset. All student responses involving code must be written in Java. Students are expected to be familiar with and able to use the standard Java classes listed in the AP Java subset. For both the multiple-choice and the free-response sections of the exam, an appendix containing a quick reference to both the case study and the classes in the AP Java subset will be provided.

In the determination of the grade for the exam, the multiple-choice section and the free-response section are given equal weight. Because the exam is designed for full coverage of the subject matter, it is not expected that many students will be able to correctly answer all the questions in either the multiple-choice section or the free-response section.

Enrollment & recruitment information

Are you interested in AP Computer Science for the coming school year? If so, to begin the process, I will need some basic information. Please take the time to complete and submit the online course recruitment form. Priority will be given to qualified upper classmates (11/12 Grades).

To determine your readiness for the course, I will want information regarding your current academic standing. I will also ask for signed recommendations from your current Math and Science teachers.

After completing and submitting the online form, you should expect to receive an update regarding your application within a week or so. At that time, if you are deemed eligible, you will be given additional instructions, along with the appropriate forms to complete and submit. So, remember to check your email regularly. Also, it is important to make sure the information you provide is accurate, especially your email. If I cannot contact you, I will not go searching for you.

Practice

Accounts

Resources

2014 Labs

Valid CSS!Valid XHTML 1.0 Strict