Students who are contemplating studying engineering, computer science, or medicine in college are highly recommended to take an advanced course in computer science, calculus, and physics in high school.
The AP Computer Science course is an introductory course in computer science. Because the development of computer programs to solve problems is a skill fundamental to the study of computer science, a large part of the course is built around the development of computer programs or parts of programs that correctly solve a given problem. 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.
Goals
The goals of an AP course in computer science are comparable to those in the introductory sequence of courses for computer science majors offered in college and university computer science departments. It is not expected, however, that all students in an AP Computer Science course will major in computer science at the university level. An AP Computer Science 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.
Java Compiler
APCS uses JCreator freeware for the Java Compiler in conjunction with Sun Systems Java Development Kit (JDK) which is downloadable from Sun Systems for free.
Textbook
Java Software Solutions for AP Computer Science 2nd Edition by John Lewis, William Loftus, and Cara Cocking.
Prerequisites
The necessary prerequisites for entering either of the AP Computer Science courses include knowledge of mathematics at the level of a second course in algebra and experience in problem solving. A student in either AP Computer Science course should be comfortable with functions and the concepts found in the uses of functional notation, such as f(x) f(x) = x + 2 and f(x) = g(h(x)). It is important that students and their advisers understand that any significant computer science course builds upon a foundation of mathematical reasoning that should be acquired before attempting such a course.
AP Exam
For a Quick reference on the AP Computer Science A Exam see the College Board