Monroe Township Schools
Monroe Township Schools
Monroe Township Schools
AP Computer Science A
10-12
August 2008
* For adoption by all regular education programs Board Approved: August 2008
as specified and for adoption or adaptation by
all Special Education Programs in accordance
with Board of Education Policy # 2220.
2
Table of Contents
Acknowledgments Page 4
Benchmarks Pages 42
3
MONROE TOWNSHIP SCHOOL DISTRICT
ADMINISTRATION
BOARD OF EDUCATION
JAMESBURG REPRESENTATIVE
4
Acknowledgments
The following individuals are acknowledged for their assistance in the preparation of this Curriculum
Management System:
5
Monroe Township Schools
Mission and Goals
Mission
The mission of the Monroe Township School District, a unique multi-generational community, is to
collaboratively develop and facilitate programs that pursue educational excellence and foster
character, responsibility, and life-long learning in a safe, stimulating, and challenging environment to
empower all individuals to become productive citizens of a dynamic, global society.
Goals
To have learning opportunities that are challenging and comprehensive in order to stimulate the
intellectual, physical, social and emotional development of the learner.
To procure and manage a variety of resources to meet the needs of all learners.
To have inviting up-to-date, multifunctional facilities that both accommodate the community and are
utilized to maximum potential.
To have a system of communication that will effectively connect all facets of the community with the
Monroe Township School District.
To have a staff that is highly qualified, motivated, and stable and that is held accountable to deliver a
safe, outstanding, and superior education to all individuals.
6
INTRODUCTION, PHILOSOPHY OF EDUCATION, AND EDUCATIONAL GOALS
Philosophy
Monroe Township Schools are committed to providing all students with a quality education resulting in life-long learners who can
succeed in a global society. The mathematics program, grades K - 12, is predicated on that belief and is guided by the following six
principles as stated by the National Council of Teachers of Mathematics (NCTM) in the Principles and Standards for School
Mathematics, 2000. First, a mathematics education requires equity. All students will be given worthwhile opportunities and strong
support to meet high mathematical expectations. Second, a coherent mathematics curriculum will effectively organize, integrate, and
articulate important mathematical ideas across the grades. Third, effective mathematics teaching requires the following: a) knowing
and understanding mathematics, students as learners, and pedagogical strategies b) having a challenging and supportive classroom
environment and c) continually reflecting on and refining instructional practice. Fourth, students must learn mathematics with
understanding. A student's prior experiences and knowledge will actively build new knowledge. Fifth, assessment should support the
learning of important mathematics and provide useful information to both teachers and students. Lastly, technology enhances
mathematics learning, supports effective mathematics teaching, and influences what mathematics is taught.
As students begin their mathematics education in Monroe Township, classroom instruction will reflect the best thinking of the
day. Children will engage in a wide variety of learning activities designed to develop their ability to reason and solve complex problems.
Calculators, computers, manipulatives, technology, and the Internet will be used as tools to enhance learning and assist in problem
solving. Group work, projects, literature, and interdisciplinary activities will make mathematics more meaningful and aid understanding.
Classroom instruction will be designed to meet the learning needs of all children and will reflect a variety of learning styles.
In this changing world those who have a good understanding of mathematics will have many opportunities and doors open to
them throughout their lives. Mathematics is not for the select few but rather is for everyone. Monroe Township Schools are committed
to providing all students with the opportunity and the support necessary to learn significant mathematics with depth and understanding.
This curriculum guide is designed to be a resource for staff members and to provide guidance in the planning, delivery, and assessment
of mathematics instruction.
Educational Goals
AP Computer Science A is the second level in the computer programming series. Students enrolled in this class have successfully
completed a year of learning and programming in the Visual Basic.Net language. The AP Computer Science A class introduces
students for the first time to object-oriented programming methodology and the Java programming language. This class emphasizes
design, analysis, and testing. For each problem given, students must implement a computer based solution that is effective and
efficient. In order to do this, students need to implement commonly-used algorithms as swell as develop their own appropriate
algorithms. All the topics mentioned in the AP Computer Science A Course Description are covered before the administration of the AP
Computer Science Exam.
7
New Jersey State Department of Education
Core Curriculum Content Standards
The New Jersey Core Curriculum Content Standards for Mathematics were revised in 2008. The Cumulative Progress Indicators
(CPI's) referenced in this curriculum guide refer to these new standards and may be found in the Curriculum folder on the district
servers. A complete copy of the new Core Curriculum Content Standards for Mathematics may also be found at:
http://education.state.nj.us/cccs/?_standard_matrix;c=4
8
AP Computer Science A
Quarter I
Big Idea: Technology Big Idea: Language
I. Computer Systems II. Introduction to Programming Environment
o comprehend basic computer processing including memory o open, save, and close programs in the Eclipse
location, translators, compilers, virutual machines, and o create a Java program
operating systems
o use comments effectively
o differentiate between analog and digital technology
o use identifiers, and keyword
o understand how computers are connected together into
networks to share information vs. single-user systems o distinguish between different programming levels
o understand the difference and the importance of the Internet o use compilers and interpreters
and the World Wide Web o distinguish between syntax and semantics
o understand computer ethics and social implications o recognize different errors – compile time, run time, and logical
o understand legal issues and privacy rights o correct errors and use a variety of methods to debug code
o represent numbers in different bases o read, understand a problem’s description, purpose, and goal
10
Quarter III
Big Idea: Language Big Idea: Objects
VIII. Arrays IX. Inheritance
o define arrays o derive new classes from existing ones
o declare and use arrays o use the keyword super as a reference
o pass arrays as parameters o define multiple inheritance
o create arrays of objects o override methods
o For Each Loop o add and modify methods in child classes
o search arrays using a binary or sequential search o design class hierarchies
o sort arrays using a selection sort, insertion sort, and merge sort C4 –oThe define
course and use polymorphism
teaches students
o compare sorts o anduse polymorphism with interfaces
to use
o understand and use two-dimensional arrays implement
o discuss abstract classes
commonly used
o use the ArrayList class o understand
algorithms and encapsulation and information hiding
data structures.
Quarter IV
Big Idea: Nature Big Idea: Creativity
XI. Grid World XII. Graphics
o use and modify existing classes o comprehend the relationship between coordinate systems and
o understand intercommunicating objects graphics
o use inheritance o distinguish between a Java application and a Java applet
o understand interfaces and abstract classes o create graphical programs that draw shapes
o use arrays o create graphics-based objects
o create a basic graphical user interface (GUI)
o create a GUI that has checkboxes and radio buttons
o use the GUI component class hierarchy
11
o understand recursion in fractals
Big Idea: Technology
Suggested days of
Curriculum Management System
Grade Level/Subject:
Instruction
Assessment
12
Suggested days of Curriculum Management System Big Idea: Technology
Grade Level/Subject:
Instruction
Topic: Computer Systems
AP Computer Science A /
10-12 Goal 1: The student will be able to use and understand computer systems.
1.7 represent numbers in • What are the different number bases? Why would it be
different bases advantageous to use a base other than base 10?
(4.1.A.1)
13
Big Idea: Language
Suggested days of
Curriculum Management System
Grade Level/Subject:
Instruction
15
Suggested days of Curriculum Management System Big Idea: Language
Grade Level/Subject:
Instruction
Topic: Introduction to the Programming Environment
AP Computer Science A /
10-12 Goal 2: The student will be able to understand and utilize the Java programming language through the
Eclipse, and Net Beans programming environment.
Objectives / Cluster Concepts / Essential Questions Instructional Tools / Materials / Technology /
Cumulative Progress Indicators Sample Conceptual Understandings Resources / Learning Activities /
(CPI's) Interdisciplinary Activities / Assessment Model
The student will be able to:
Assessment
• Observation
• Discussion
• Test
• Program Projects
16
Big Idea: Language
Suggested days of
Curriculum Management System
Grade Level/Subject:
Instruction
Assessment
• What is the standard way to create a constant
3.10 create constant variables • Observation
variable?
(4.5.A.2, 4.5.C.2, 4.5.F.2) • Discussion
• When would it be advantageous to use constant
variables? • Quiz
• Test
• Program Projects
• Why do think a computer will crash when its limitations
3.11 discuss the limitations of are infinite?
finite representation
(4.1.C.1, 4.2.D.1, 4.2.D.2,
4.5.A.2, 4.5.C.2, 4.5.F.2)
18
Suggested days of Curriculum Management System Big Idea: Language
Grade Level/Subject:
Instruction
Topic: Objects and Primitive Data
AP Computer Science A /
10-12 Goal 3: The student will be able to create and use objects and primitive data.
19
Suggested days of Curriculum Management System Big Idea: Language
Grade Level/Subject:
Instruction
Topic: Decision Control Structures
AP Computer Science A /
10-12 Goal 4: The student will be able to understand and use decision control structures.
20
Suggested days of Curriculum Management System Big Idea: Language
Grade Level/Subject:
Instruction
Topic: Decision Control Structures
AP Computer Science A /
10-12 Goal 4: The student will be able to understand and use decision control structures.
4.8 compare floating point values • What is the difference between an accumulator and a
(4.1.C.1, counter? What is the easiest way to create a counter?
4.5.A.2, 4.5.C.2,
4.5.D.4,
4.5.F.2)
21
Suggested days of Curriculum Management System Big Idea: Language
Grade Level/Subject:
Instruction
Topic: Repetition Control Structures
AP Computer Science A /
10-12 Goal 5: The student will be able to understand and use repetition control structures.
5.4 define infinite loop • What are some foreseen problems that can occur from • Strings to Characters program – Design and
nested loops? implement an application reads a string from
(4.2.B.4,
the user and prints it one character per line
4.3.A.3, 4.5.A.2,
- Blooms Taxonomy – Knowledge,
4.5.C.2,
Comprehension, Application,
4.5.D.4, 4.5.F.2) • What are some of the benefits of a for loop? Analysis, Synthesis
• Is it necessary to use curly braces in a for loop? What
5.5 use nested loops happens if you don’t?
• Hi-Lo guessing game – -Lo Guessing Game –
(4.5.A.2, Design and implement an application that plays
4.5.C.2, 4.5.D.4, the Hi-Lo guessing game with numbers. The
22
Suggested days of Curriculum Management System Big Idea: Language
Grade Level/Subject:
Instruction
Topic: Repetition Control Structures
AP Computer Science A /
10-12 Goal 5: The student will be able to understand and use repetition control structures.
Assessment
• Observation
• Discussion
• Quiz
• Test
• Program Projects
24
Big Idea: Objects
Suggested days of
Curriculum Management System
Grade Level/Subject:
Instruction
6.4 use the return statement • Dice program II- Design and implement a class
(4.5.A.2, called PairOfDice with two six sided die objects.
4.5.C.2, 4.5.D.4, • How are parameters passed to methods and if their Create a driver class called BoxCars with a
values are changed in the method are the values also main method that rolls a PairOfDice object 1000
4.5.F.2) changed in the driver class? times counting the number of times box cars
(two sixes) that can occur.
6.5 understand parameters
- Blooms Taxonomy – Knowledge,
(4.5.A.2, Comprehension, Application,
• Constructors are called automatically when an object is
4.5.C.2, 4.5.D.4, Analysis, Synthesis
created. What is their purpose?
4.5.F.2)
25
Suggested days of Curriculum Management System Big Idea: Objects
Grade Level/Subject:
Instruction
Topic: Writing Classes
AP Computer Science A /
10-12 Goal 6: The student will be able to write classes.
26
Suggested days of Curriculum Management System Big Idea: Objects
Grade Level/Subject:
Instruction
Topic: Writing Classes
AP Computer Science A /
10-12 Goal 6: The student will be able to write classes.
Assessment
• Observation
• Discussion
• Quiz
• Test
• Program Projects
27
Suggested days of Curriculum Management System Big Idea: Objects
Grade Level/Subject:
Instruction
Topic: Design and Implement Classes
AP Computer Science A /
10-12 Goal 7: The student will be able to design and implement classes.
8 7.1 define reference aliases • There are two circumstances where a programmer Instructional Tools/Materials/Technology/Resources
including the null reference needs to use the this reference. Explain and give an • Lewis, John, William Loftus, and Cara
and the this reference example of each. Cocking. Java Software Solutions for AP
Computer Science. 2nd ed. Upper Saddle River,
(4.5.A.2,
NJ: Prentice Hall, 2007.
4.5.C.2, 4.5.D.4,
• Eclipse Programming Environment
4.5.F.2)
• Net Beans Programming Environment
• What is the difference between passing objects as
7.2 pass object references as parameters and primitive data as parameters?
parameters Learning Activities
(4.5.A.2, Students will use their understanding of interfaces
4.5.C.2, 4.5.D.4, and static variables and methods to create the
following programs:
4.5.F.2)
• What is the benefit of having a static method? If you
had a class representing a bank, which methods would • Priority program – Design and implement a
7.3 define static variables and you make static and which would you not? Java interface that has two methods: setPriority
static methods and getPriority. The interface should list a
(4.5.A.2, number a set of objects in the order of their
4.5.C.2, 4.5.D.4, importance. Design and implement a class
4.5.F.2) • Create a program that demonstrates the use of a static called Task that implements the Priority
method. interface. Create a driver class to use some
Task objects.
7.4 use the static modifier
- Blooms Taxonomy – Knowledge,
(4.5.A.2, Comprehension, Application,
4.5.C.2, 4.5.D.4, • What is the difference between an error and an
Analysis, Synthesis
exception? Name a few possible exceptions that you
4.5.F.2) can receive and why you would get them.
• Lockable program – Design a Java interface
7.5 understand and throw an called Lockable that includes methods: setKey,
exception lock, unlock, and locked. The setKey, lock and
(4.5.A.2, unlock methods take an integer parameter that
4.5.C.2, 4.5.D.4, represents the key. The setKey method
establishes a key. The lock and unlock
4.5.F.2)
28
Suggested days of Curriculum Management System Big Idea: Objects
Grade Level/Subject:
Instruction
Topic: Design and Implement Classes
AP Computer Science A /
10-12 Goal 7: The student will be able to design and implement classes.
• Is the Comparable interface standard in the Java methods only work if the key is used correctly.
library? What is the method of the comparable The locked method returns a boolean of true or
interface and what does it do? false. A Lockable object is an object whose
regular methods are protected: if the object is
locked, the methods cannot be invoked; if the
7.6 define formal interfaces and object is unlocked, they can be invoked.
their class implementations Redesign and implement a version of the Coin
including the Comparable class from Chapter 4 so that it is Lockable.
interface, List interface, and - Blooms Taxonomy – Knowledge,
the Iterator and ListIterator Comprehension, Application,
interfaces Analysis, Synthesis
(4.5.A.2, • List the steps a programmer should take to problem
4.5.C.2, 4.5.D.4, solve.
Assessment
4.5.F.2) • There are two different ways to develop a Java
program; object-oriented and top down. Explain the • Observation
difference between them. Which method do you prefer • Discussion
7.7 choose appropriate data and why?
representations and • Quiz
algorithms • Test
(4.5.A.2, • Program Projects
4.5.C.2, 4.5.D.4,
4.5.F.2,
8.2.B.11)
7.8 discuss object-oriented
development
(4.5.A.2,
4.5.C.2, 4.5.D.4,
4.5.F.2,
8.2.B.11)
7.9 discuss top-down
development
(4.5.A.2,
29
Suggested days of Curriculum Management System Big Idea: Objects
Grade Level/Subject:
Instruction
Topic: Design and Implement Classes
AP Computer Science A /
10-12 Goal 7: The student will be able to design and implement classes.
4.5.C.2, 4.5.D.4,
4.5.F.2,
8.2.B.11)
30
Suggested days of Curriculum Management System Big Idea: Language
Grade Level/Subject:
Instruction
Topic: Arrays
AP Computer Science A /
10-12 Goal 8: The student will be able to understand and use arrays including sorting and searching arrays.
32
Suggested days of Curriculum Management System Big Idea: Objects
Grade Level/Subject:
Instruction
Topic: Inheritance
AP Computer Science A /
10-12 Goal 9: The student will be able to understand and use inheritance to organize and create classes.
34
Suggested days of Curriculum Management System Big Idea: Algorithm
Grade Level/Subject:
Instruction
Topic: Recursion
AP Computer Science A /
10-12 Goal 10: The student will be able to understand and use recursion in programming.
36
Suggested days of Curriculum Management System Big Idea: Algorithm
Grade Level/Subject:
Instruction
Topic: Recursion
AP Computer Science A /
10-12 Goal 10: The student will be able to understand and use recursion in programming.
Assessment
• Observation
• Discussion
• Quiz
• Test
• Program Projects
37
Suggested days of Curriculum Management System Big Idea: Nature
Grade Level/Subject:
Instruction
Topic: Grid World Case Study
AP Computer Science A /
10-12 Goal 11: The student will be able to understand the case study for the Advanced Placement Test.
38
Suggested days of Curriculum Management System Big Idea: Nature
Grade Level/Subject:
Instruction
Topic: Grid World Case Study
AP Computer Science A /
10-12 Goal 11: The student will be able to understand the case study for the Advanced Placement Test.
Assessment
• Observation
• Discussion
• Quizzes for each chapter of the Narrative
• Program Projects
39
Suggested days of Curriculum Management System Big Idea: Creativity
Grade Level/Subject:
Instruction
Topic: Graphics
AP Computer Science A /
10-12 Goal 12: The student will be able to effectively create a graphical user interface.
Learning Activities
12.3 create graphical programs • What is often used to defin ethe position and size of Students will use their understanding of graphics to
that draw shapes curved shapes such as ovals? create the following programs.
(8.2.B.3, 8.2.B.6)
• Smile program – Create an applet that draws a
12.4 create graphics-based • In what ways is a graphics-based object similar to a smiling face. Give the face a nose, ears, a
objects non graphics based object? mouth, and eyes with pupils.
(8.2.B.3, 8.2.B.6) - Blooms Taxonomy – Knowledge,
Comprehension, Application
12.5 create a basic graphical user • Define a GUI component, an event, and a listener?
interface (GUI) • Circle program – Design and implement an
(8.2.B.3, 8.2.B.6) applet that draws 100 circles of random color
and random diameter in random locations.
Make sure that in each case the whole circle
12.6 create a GUI that has appears in the visible area of the applet.
• What is the difference between a radio button and a
checkboxes and radio
check box? How are each created? - Blooms Taxonomy – Knowledge,
buttons
Comprehension, Application
(8.2.B.3, 8.2.B.6)
Assessment
• Observation
42
Suggested days of Curriculum Management System Big Idea: Creativity
Grade Level/Subject:
Instruction
Topic: Graphics
AP Computer Science A /
10-12 Goal 12: The student will be able to effectively create a graphical user interface.
43
AP Computer Science A
COURSE BENCHMARKS
2. The student will be able to understand and utilize the Java programming language through the Eclipse, and Net Beans programming
environment.
3. The student will be able to create and use objects and primitive data.
4. The student will be able to understand and use decision control structures.
5. The student will be able to understand and use repetition control structures.
8. The student will be able to understand and use arrays including sorting and searching arrays.
9. The student will be able to understand and use inheritance to organize and create classes.
10. The student will be able to understand and use recursion in programming.
11. The student will be able to understand the case study for the Advanced Placement Test.
12. The student will be able to effectively create a graphical user interface.
44