|
Java AP/A Syllabus |
"Copyright (c)2003 by College Entrance Examination Board. All rights
reserved. Used with permission. Available at apcentral.collegeboard.com"
|
| School Profile | |
| Horace Mann is an independent school located in the Bronx that serves the metropolitan New York area. The school has approximately 600 students in the Upper School (grades 9-12). | |
| Facilities | |
| Horace Mann has three networked classrooms
each containing twenty computers. Two classrooms have Apple I-Mac
computers and one has Dell PC’s running Windows XP. Horace Mann also
supports several wireless classrooms on both platforms that are used by
the library, the Mathematics Department and the Computer Department. A
large lab containing both Apple computers and Dell computers is available
to all students grades 6-12 all day and one afternoon a week. Wireless
connection to the network and the Internet is available in most of the
buildings.
Programming and other Computer Science topics are briefly introduced to students in eighth and ninth grade. In the ninth grade and above students may elect to take a variety of courses including a web design sequence and a Computer Science sequence. The Computer Science sequence concludes with the AP AB curriculum. For a variety of scheduling and historic reasons, students do not take the AP A exam, but have covered most of the material on the A exam by the time they reach the AB course in their Junior or Senior year. Current enrollment in the elective courses leading up to the AB course is about 40. The AB course enrollment is typically 8-12 students. |
|
| Course Organization | |
| Programming courses prior to the AP exam meet for 45 minutes 5 days out of a 10 day cycle. The AP course meets for 45 minutes every day. Class time in all Computer Science courses is divided between lecture and lab. | |
| Assessment | |
| Assessment is based on a variety of student
projects. Each type of assessment is weighted. The evaluation weight is
based primarily on the amount of class and homework time devoted to the
assignment. Horace Mann uses an 11-point scale for grading. The scale is:
A+, A, A-, B+, B, B-, C+, C, C-, D, F. Lab Exercise (evaluation weight: 1) A lab exercise is done in a single lab period or completed for homework by the next class meeting. Students may use notes and textbooks. The teacher may elect to give hints, but students should not receive help from other students. Lab exercises are graded on the 11 point scale. Key Concept (evaluation weight: 2) A key concept program is a programming assignment that focuses on a single new concept as well as previous material. This type of assignment will typically require four to five lab periods as well as some home programming time. Students may give each other help that is constructive in learning the emphasized concept. Programs are evaluated on the 11-point scale. Unit Program (evaluation weight: 3) A unit program is a major programming assignment that combines a series of concepts into one challenging program. This lab assignment requires both out-of-school and in-school effort. Typically ten or more classes will be devoted to lab work. Students will get appropriate hints from their teacher during the course of this assignment. Students may also give each other help that is constructive in learning the emphasized material. These assignments will be evaluated from A+ to F, however, to maintain Computer Department tradition, to earn an A or A+ a program must either fulfill extra credit requirements as specified on the lab description or demonstrate additional creativity on the part of the student. Tests and Lab Practicals (evaluation weight: 2) Tests will help to prepare students for the AP exam by using multiple choice and free response questions. Tests will be given during the assigned testing weeks for Computer Science and will be announced in advance according to school policy. No help or hints will be given by the teacher after initial test-taking instructions. A lab practical will involve a programming assignment on a key concept that must be completed during class. No help or hints will be given during the lab period.
|
|
| Text and Compiler/Editor Information | |
| Text: Williams College textbook online
preview version called, Java: An Eventful Approach.
Text resource web site: applecore.williams.cs.edu/~cs134/eof Files: This text uses a library called objectdraw that may be downloaded from the text resource site. Development Environments: Ready To Program (www.holtsoftware.com) for the Windows platform JJEdit (www.macmullin.com) for the Mac OS X platform BlueJ (www.bluej.org) for both platforms. |
|
| Syllabus | |
| Unit 1-Basics |
Topics Using the development environment, introduction to the objectdraw library, declaring variables, and Java class definitions. Goals Students are comfortable with the development environment. Students are familiar with common syntax errors. Students know the format of a Java program that extends WindowController Students know how to do numerical calculations and use a variable to count. Students are introduced to Java documentation and the terms actual and formal parameters. Students know the primitive types: double, int, boolean. Text Chapters 1 and 2, Java: An Eventful Approach |
| Unit 2-Control Statements |
Topics If statements and boolean expressions Goals
Text Chapter 3, Java: An Eventful Approach |
| Unit 3-Classes |
Topics Implementing classes Goals
Text Chapter 4, Java: An Eventful Approach |
| Unit 4-Active Objects |
The following topic could be introduced later since this is not an exam topic. On the other hand, using threads provides a mechanism for writing programs that will interest students (in other words, cool computer games with moving objects) Topics While loops, writing classes that extend ActiveObject, continued practice implementing classes, an opportunity to work with a large multi-file program. Goals
Assessment Ideas Unit Lab: The game Frogger, specification and starter files available on the teacher resource website for the text. Text Chapter 5, Java: An Eventful Approach |
| Unit 5-Marine Biology Simulation |
Topics Studying and experimenting with a multi-file program Goals Students are exposed early to the case study and are familiar with the problem. Students learn to develop test cases to evaluate a program. Assessment Ideas Lab exercises based on questions in the Marine Biology Simulation text. Text Chapter 1, Marine Biology Simulation |
| Unit 6-Interfaces |
Topics Interfaces Goals Understanding interfaces
Text Chapter 6, Java: An Eventful Approach |
| Unit 7-ArrayList |
Topics Using a list class, linear search, selection sort, for loops Goals Students know basic list operations: insert, delete, find. Students know the quadratic sort, Selection Sort
Text This chapter is not yet available in the downloadable version of the text. |
| Unit 8-Marine Biology Simulation and 1D arrays |
Topics Multi-file programs, black-boxed material, modifiable sections, 1D arrays Goals Examining the code for a large multi-class project Introduce 1D arrays and compare to ArrayList Review interfaces, ArrayList, 1D arrays. Assessment Ideas Exercises from the Marine Biology Simulation text Text Chapter 2, Marine Biology Simulation |
| Unit 9 - Recursion |
Topics Recursion, recursive binary Search and merge sort Goals Students are familiar with simple recursive functions. Students are familiar with necessary recursive sorting and searching algorithms.
Text Chapter 8, Java: An Eventful Approach |
| Unit 10 - Marine Biology Simulation |
Topics Dynamic Population of fish Goals Students are familiar with all of the Marine Biology classes. Students can identify which class to modify and make significant changes to the Marine Biology program. Assessment Ideas Exercises from the Marine Biology Simulation text Text Chapter 3, Marine Biology Simulation |
| Unit 11 - Inheritance and the Marine Biology Simulation |
Topics Inheritance Goals Students can write a class that extends another class. Students can use inheritance to modify the Marine Biology Simulation Assessment Exercises from the Marine Biology Simulation text. Text Chapter 13, Java: An Eventful Approach Chapter 4, Marine Biology Simulation |
| Additional assessment ideas | |