August 1, 2009

advertisement
PROGRAM OUTLINE
11A - AP Computer Science I
2011-2012 
Lance Allen
lallen@btfiloh.org
Office: (410) 413-2329
For your convenience you can reach me in the following ways. You can call my voicemail
extension 329 here at school and leave a message. You can e-mail me, and you can call my cell
phone 410-698-5696. All communication will be returned within 24 hours (excluding weekends and
vacations).
Course Description
This is the first of a two-year lab-based course that follows The College Board Advanced
Placement curriculum in preparation for the Computer Science exam in the Java programming
language. Students will gain an advanced understanding of this object-oriented language. Access
to a computer at home is required for students in this course. The course will culminate with the AP
exam in May of the senior year.
Course Texts
Java Software Solutions for AP Computer Science by Lewis, Loftus & Cocking, Addison Wesley
2004
Gridworld Case Study by the College Board
Course Objectives
 To strengthen object-oriented programming skills using the Java programming language.
 To master the fundamentals of the Java programming syntax.
 Introduce AP exam Free Response question formats in order to begin preparing for
Computer Science A exam.
Grading Policy
1. Grades will be based on frequent in-class coding assignments, as well as homework
coding assignments. There will also be unannounced quizzes based on assigned
homework readings.
2. Unit tests will be scheduled several times within each trimester.
Supplies
Students are required to bring their textbook, material for taking notes, and a pen and pencil to
every class.
Academic Integrity
In keeping with the goals set out in our mission statement, to promote the moral and ethical
development of our students, we seek to create an ethical environment in which students
demonstrate integrity in all areas of their lives. We also recognize that it is our responsibility to
prepare students for the practical challenges of contemporary society, which include consequences
for dishonest or unethical behavior on college campuses and in the work world. For our entire
Academic Integrity Policy, see our Parent Handbook.
Homework
Students must complete all homework assignments independently unless otherwise indicated and
must include the Computer Science Dept. Integrity Statement. Assignments are announced in
class and then posted on the BT homework website.
All assignments must be submitted via email prior to the start of the class on the due date. No
homework may be submitted in class.
Course Outline
 Computing in Context
o A working knowledge of the major hardware and software components of
computer systems is necessary for the study of computer science, as is the
awareness of the ethical and social implications of computing systems.

Object-Oriented Program Design
o The overall goal for designing a piece of software (a computer program) is to
correctly solve the given problem. At the same time, this goal should encompass
specifying and designing a program that is understandable, can be adapted to
changing circumstances, and has the potential to be reused in whole or in part.
The design process needs to be based on a thorough understanding of the
problem to be solved.

Program Implementation
o The overall goals of program implementation parallel those of program design.
Classes that fill common needs should be built so that they can be reused easily in
other programs. Object-oriented design is an important part of program
implementation.

The Basic Foundations of the Java Programming Language
o A programming language defines a set of rules that determine exactly how a
programmer can combine words and symbols of the language into programming
statements, which are the instructions that are carried out when the program is
executed. Students will spend a good deal of time learning the basic Java syntax.

Program Analysis
o The analysis of programs includes examining and testing programs to determine
whether they correctly meet their specifications. It also includes the analysis of
programs or algorithms in order to understand their time and space requirements
when applied to different data sets.
Download