Course Syllabus: AP Computer Science AB
Meeting Times:
This is a 36 week course. Students engage in the online class according to the same academic calendar of their schools. Additionally, they can expect to spend additional time on student activities such as reading, writing, researching and completing assignments.
Course Description:
AP Computer Science AB serves as an introductory course in computer science and contains content that is equivalent to a first and second semester university level Computer Science course. Computer Science AB emphasizes programming methodology, problem solving, algorithms, data structures and abstraction. Students will also gain an understanding of the basic hardware and software components of computer systems.
This course focuses around developing computer programs or parts of programs to correctly solve a problem. Students will also learn about program design principles that will allow them to write programs that are understandable, adaptable and reusable. Students will also be introduced to other important computer science concepts including the development and analysis of algorithms, the development and use of fundamental data structures.
Knowledge of basic algebra and experience in problem solving is beneficial. Students should also possess competence in written communication.
Course Purpose and Goals:
Philosophy
This course is the equivalent of an introductory college level 2 semester Computer Science course. As such, the type of expectations, assignments, level and type of discourse are significantly different from those experienced in most high school programming courses.
Goals
Goals (From the College Board AP Computer Science A, AB Course Description Book, May 2007, May 2008, pgs. 4-5) 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. The following goals apply to both of the AP Computer Science courses when interpreted within the context of the specific course.
Students should be able to:
I. design and implement computer-based solutions to problems in a variety of application areas – g1
II. use and implement commonly-used algorithms and data structures – g2
III. develop and select appropriate algorithms and data structures to solve problems – g3
IV. code fluently in an object-oriented paradigm using the programming language Java. Students are expected to be familiar with and be able to use standard Java library classes from the AP Java subset – g4
V. read and understand a large program consisting of several classes and interacting objects. Students should be able to read and understand a description of the design and development process leading to such a program. (An example of such a program is the AP Computer Science Case Study.) – g5
VI. identify the major hardware and software components of a computer system, their relationship to one another, and the roles of these components within the system – g6
VII. recognize the ethical and social implications of computer use – g7
Overarching Themes
Conceptual organization (AP recommends the following six overarching themes (From the College Board AP Computer Science A, AB Course Description Book, May 2007, May 2008 pgs. 12-25)
I. “Object Oriented Program Design: The overall goal for designing a piece of software (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.”
II. “Program Implementation: The overall goals of the 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.”
III. “Program Analysis: 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.”
IV. “Standard Data Structures: Data structures are used to represent information within a program. Abstraction is an important theme in the development and application of data structures.”
V. “Standard Algorithms: Standard Algorithms serve as examples of good solutions to standard problems. Many are intertwined with standard data structures. These algorithms provide examples of analysis of program efficiency.”
VI. “Computing in Context: 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.”
Course Format and Policies
The online courses have the same level of rigor and adhere to the same standards set forth by the school system and the College Board. To access all courses, students need access to a computer and the Internet via a web browser. All classes are offered via the Blackboard Learning Management System.
The primary goal of this course is to prepare students for the AP Computer Science AB exam by engaging them, in an active role in the learning process. The course textbook contains all the language structures and syntax needed for students to learn APCS Subset which is tested on the AP exam. It is full of program examples, exercises, questions, tips, and notes. In addition, the online course includes many examples and supplemental materials.
We will be taking a gradual but fast paced approach, starting with simple Object Oriented Programming (OOP) examples and working up to more complex OOP case studies like the GridWorld case study which is tested on the exam. Emphasis will be placed on a program's readability. In this changing world it is important that programs should be clear, properly structured, and well documented.
Students will be monitored and evaluated based on the programs they write to meet assignments, their performance on tests, and their quality of participation in classroom discussions. It is the student’s responsibility is to monitor her progress based upon the feedback she receives on the required class work and her perception of her own understanding of the material.
Textbooks, Materials and other Resources:
Lewis, John, Loftus, William & Cocking, Cara (2007). Java Software Solutions for AP Computer Science. 2nd Ed. Addison Wesley. ISBN: 0-1322225-1-5
Litvin, Maria & Litvin, Gary. (2003). Java Methods AB – Data Structures. Skylight Publishing. ISBN: 0-9654853-1-5
Litvin, Maria. (2006). Be Prepared for the AP Computer Science Exam 2nd Ed. Skylight Publishing ISBN: 0-9727055-3-8
Sun Java Tutorial (java.sun.com/docs/books/tutorial/)
Sun Java 2 SDK version 1.5 (Java 5)
BlueJ version 2.1.3 or later
AP Subset from the College Board site: http://apcentral.collegeboard.com
The Gridworld case study from the College Board site: http://apcentral.collegeboard.com
Assignments and assessments:
Worksheets are open-ended online quizzes that a student may take as many times as needed to get 100%. No credit is received until 100% correctness is achieved.
Programs are either whole programs or parts of programs that a student has to design and implement. Programs are to be redone until they meet the program specification provided.
Exams are modeled after the AP exam to the best of the instructor’s ability. They are both Multiple Choice and Free Response.
The programmer’s journal is for the student to reflect on the readings and assignments. Other than instant messaging this is the instructor’s best opportunity to address the student’s concerns and to shore up weaknesses in the student’s understanding of concepts.
Official system-wide Grading Scale DoDEA
90-100 = A
80-89 = B
70-79 = C
60-69 = D
59 or below = F
Weighted grades are calculated for students completing the course and taking the requisite exam of the AP Course.
Unweighted scale A = 4 Weighted scale A = 5
Unweighted scale B = 3 Weighted scale B = 4
Unweighted scale C = 2 Weighted scale C = 3
Unweighted scale D = 1 Weighted scale D = 2
Unweighted scale F = 0 Weighted scale F = 0
Special Information relevant to specific AP Courses:
This course is an asynchronous online course offered to students across several different time zones in a number of different countries in the Americas, Europe and Asia.
Support Services:
To help students maintain successful participation, each student has a designated local facilitator who serves as the liaison between the teacher, the student, parents and school administrators.
Syllabus: AP Computer Science AB