AP Computer Science AB: syllabus
Course Information
prerequisites   Students must have attained sophomore standing and have taken AP Computer Science A or have significant programming experience and prior instructor consent.
text   Java Concepts by Cay Horstmann. We will also be using Barron's AP Computer Science Levels A and AB, 4th edition.
description   Provides preparation for the Advanced Placement Computer Science AB Exam. This course is equivalent to 2 semesters of computer science at the university level. The course syllabus has been approved by the College Board.
lab & software   There will be a fair amount of lab time during class, but students must have access to a Java programming environment outside of class time. Sun's Java SDK v1.6 will be utilized in class along with an Integrated Development Environment. All software will be freeware or open source software.
criterion description total
Quizzes Quizzes will be almost weekly. They will be online and feedback will be rapid. Several quizzes will allow for one or more retakes, in which case your most recent quiz score will count. 100
Midterm One of these. [1x100pts] 100
Final One of these during the Fall semester. The Spring semester final will be 2 days just before the AP exam is given. Students must take the AP Computer Science Exam in the Spring. 100
Assignment Quizzes These are written quizzes over programs that were assigned for homework and reviewed in class. They will typically not be announced and will be graded Credit/No Credit. A student would need to get the program 80% correct for full credit. 100
Assignments & Worksheets Focusing on a particular technique. 30 of these during the semester. These will vary in point value from 2 to 10 points. 350
Lab Utilization Time must be spent appropriately on class activities. If you finish all pending assignments you may work on assignments for other classes. Any other use of computers requires prior instructor permission. These points are given at the beginning of the semester but may be lost by ineffective class time utilization. 50
Presentation A 3-5 minute presentation on a computer science topic. 100
Projects Projects tie together several concepts that have been covered in class. There will be one group project in the fall and in the spring. 100
other info
late assignments
  • not accepted without prior permission via email
grading corrections
  • All grade discrepancies must be identified within 1 day of the grade being received. All grades will be posted online on the course web site. It is the student's responsibility to check on their progress in class.
  • Plagiarism: The copying of any code from another student is considered plagiarism and will result in a zero for the assignment for all who are involved (either in providing the source code or copying) and will be reported to the Dean of Students. The only exception is when the code is copied as called for in the instructions for a particular assignment.
  • Missing Class: The student is responsible for checking the online course site so that they are prepared when returning to class.
  • Grade Disputes: Must be brought up within a day of assignment being graded.
  • Contact the instructor (blindemann@bcp.org) if you have any concerns about the course or your (son's) grade.
  • Effective Use of Class Time: Time must be spent appropriately on class activities. If you finish all pending assignments you may work on assignments for other classes. Any other use of computers requires prior instructor permission.
  • Need additional help? Look through the online resource page or email the instructor.
Course Outcomes
Open to Growth and leadership   Students will grow in their comfort in and knowledge about computer science and Java programming. Students will understand the rapidly changing nature of computer science and will learn the importance of continual growth and adaptation to these changes. Students will be able to lead a short seminar on a computer science topic.

Intellectually engaged   The AP CompSci AB student will be able to:

  • Understand the fundamental concepts of computer science.
  • Solve problems through application of the software engineering process.
  • Develop algorithms to solve problems.
  • Implement algorithms using Java.
  • Understand the concepts behind Object-Oriented software development.
  • Understand the implementation, performance characteristics and utilization of common data structures
Religious and Committed to Doing Justice   Students will explore the moral and ethical ramifications of computer technology. Students will utilize their programming skills in service for others. In particular, students will learn about Open Source Software (http://www.opensource.org) and how open source can provide quality software for those unable or unwilling to purchase the commercial equivalent. The goal for the spring semester project is for students to collaborate and contribute to an existing open source software project (or create their own at http://www.sourceforge.net). Students will understand how computer technology can further the cause of justice on local and international levels through organizations such as Computer Professionals for Social Responsibility.