Top Banner
P A R S I P P A N Y – T R O Y H I L L S T O W N S H I P S C H O O L S A C O U R S E O F S T U D Y F O R A D V A N C E D P L A C E M E N T C O M P U T E R S C I E N C E A M T H 5 1 1 (FORMERLY: COMPUTER PROGRAMMING IN JAVA) APPROVED BY THE BOARD OF EDUCATION January 24, 2013 Revised: August, 2002 Revised: November 2012
67

PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

Sep 04, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 1

PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS

A C O UR S E OF S TUDY F OR

A DVANC E D P L ACE ME N T CO MPU T E R SC I EN C E A MT H 511

(FORMERLY: COMPUTER PROGRAMMING IN JAVA)

APPROVED BY THE BOARD OF EDUCATION

January 24, 2013 Revised: August, 2002 Revised: November 2012

Page 2: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

2

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 2

S T AT E M E N T O F PURP O S E The curriculum for this course follows the outline published by the College Board for Advanced Placement Computer Science. This course is designed for the student who wants to develop skills in the design of algorithm, the techniques of object-oriented programming, and the use of the Java language.

Students are expected to apply problem-solving skills, mathematical reasoning, and written communication skills to the solution of problems in many application areas.

In addition to demonstrating the ability to design, implement and test solutions to computer problems, students will understand hardware and software terms as well as the responsible use of computer systems.

Separately we assess students to gauge progress and inform instruction. Benchmark assessments for students in grades 9 through 12 are administered in the form of a midterm and final exam for full year courses. *Special Note: Only final exams are administered at the end of quarter courses and semester courses.

G OA LS & E XP E C T E D O U T CO ME S This course offers students the opportunity to:

1. develop and increase logical thinking skills. 2. learn a variety of programming concepts. 3. expand problem-solving skills. 4. acquire a broad understanding of the basic components of computer science. 5. apply programming techniques to the solution of “real-world” problems. 6. acquire the confidence and experience necessary to successfully apply higher-level thinking skills to the exploration of new

programming situations. 7. apply mathematical skills necessary for the solution of programming problems. 8. expand and increase oral and written communication skills. 9. acquire requisite programming skills necessary for success on the Advanced Placement Computer Science exam. 10. acquire an appreciation of responsible computer usage.

Page 3: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

3

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 3

M E TH OD A variety of teaching techniques will provide the student with the opportunities to discuss, share, exchange, and consolidate ideas related to programming concepts. Students will explore concepts and techniques of programming by means of teacher-led demonstrations and explanations, in-class discussions and practical lab activities.

Page 4: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

4

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 4

AFF I RM AT IVE ACT IO N During the development of this course of study, particular attention was paid to material which might discriminate on the basis of sex, race, religion, national origin, or creed. Every effort has been made to uphold both the letter and spirit of affirmative action mandates as applied to the content, the texts and the instruction inherent in this course.

T H E L I VI NG CU R RI C UL UM Curriculum guides are designed to be working documents. Teachers are encouraged to make notes in the margins. Written comments can serve as the basis for future revisions. In addition, the teachers and administrators are invited to discuss elements of the guides as implemented in the classroom and to work collaboratively to develop recommendations for curriculum reforms as needed.

MODIFICATIONS AND ADAPTATIONS

For guidelines on how to modify and adapt curricula to best meet the needs of all students, instructional staff should refer to the following link - http://njcdd.org/wp-content/uploads/2016/08/tools-teacherspart2.pdf. Instructional staff of students with Individualized Education Plans (IEPs) must adhere to the recommended modifications outlined in each individual plan.

Page 5: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

5

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 5

COURSE PROFICIENCIES AND GRADING PROCEDURES COURSE: MTH 511 TITLE: ADVANCED PLACEMENT COMPUTER SCIENCE A

IN ACCORDANCE WITH DISTRICT POLICY AS MANDATED BY THE NEW JERSEY ADMINISTRATIVE CODE AND THE NEWJERSEY STUDENT LEARNING STANDARDS, THE FOLLOWING ARE PROFICIENCIES REQUIRED FOR THE SUCCESSFUL COMPLETION OF THE ABOVE NAMED COURSE.

The student will demonstrate proficiencies in the following areas:

1. describe the history of computer development. 2. enter, edit, compile and execute a Java application program. 3. design a program based on given specifications. 4. design and write a Java program using correct structure and syntax. 5. recognize, categorize, and correct syntax, run-time, and logic errors. 6. declare, recognize, and use identifiers. 7. define, initialize, and use objects. 8. assign values to objects. 9. input and output data values. 10. declare, initialize, and use strings. 11. use a pre-defined class. 12. design and implement a class and its methods. 13. use and evaluate statements containing Boolean and logical operators and expressions. 14. implement decisions using “if” statements. 15. implement multiple branching and nesting. 16. use a pre-defined method. 17. write a user-defined method. 18. explain the concept of recursion. 19. write an event-controlled loop. 20. write a count-controlled loop. 21. write a nested loop. 22. define, declare, and process a one-dimensional array.

Page 6: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

6

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 6

23. define, declare, and process a two-dimensional array. 24. use the JAVA class ArrayList. 25. use typecasting appropriately in numeric calculations. 26. write a derived class. 27. analyze and modify the Case Study provided by the College Board.

Page 7: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

7

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 7

GRADING PROCEDURES Marking period grade:

Assessments (quizzes, tests, student demonstrations, classroom discussion, projects) 60% Labs 30% Assignments 10%

Final Grade – Full Year Course

Full Year Course • Each marking period shall count as 20%

of the final grade

• The midterm assessment will count as 10% of the final grade, and the final assessment will count as 10% of the final grade.

Page 8: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

8

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 8

Proficiencies (Objectives) CONTENT

AP Standards

Suggested Activities Evaluations/

Assessments

Teacher Notes

Student will be able to: Students will: Proficiencies 3 and 4 are used throughout the entire course

Used in entire course: 8.1.12.A.1 8.1.12.A.4 8.1.12.F.1 8.1.12.F.1 8.2.12.C.1

*As appropriate, tests and quizzes may be open notebook. *All programs are submitted to the teacher for grading

*Ongoing throughout year

*Initials refer to authors/texts in bibliography

I. Overview of Programming A. History of

computer development (1)

B. Become familiar with the Java compiler (2)

C. Recognize the ethical

and social implications of computer use

8.2.12.E.3 VI. C. VI. D. 8.1.12.D.1 8.1.12.D.2

• review summer work

(researching history of computers and important people involved in the development of computers and programming).

• examine and modify a simple program supplied by the teacher.

• write papers on various ethical situations in the computing world.

Write a 1 page reflection on what they think is the most significant step in the history of computers

One paper each marking period

DWH – chapters 1, 2 LO – chapters 1, 2 LL – chapter 1 W – chapters 0, 2

II. Program Development

A. Program analysis

1. Specification of purpose and goals

I.A.1 I.B.2

• examine and

modify existing algorithms.

Given a project description, students will design a solution.

Incorporated throughout course

DWH – chapters 1, 2 LO – chapter 3 LL – chapter 10

Page 9: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

9

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 9

Proficiencies (Objectives)

CONTENT OUTLINE (Proficiency numbers in parentheses)

AP Standards

Suggested Activities Evaluations/

Assessments

Teacher Notes

Student will be able to: Students will: II. Program Development

(continued) B. Program and algorithm

design C. Program implementation

1. Identify and use classes (11)

2. Structure of a Java application

D. Program testing

1. Use appropriate test data and testing techniques

2. Categorize errors: (5) a. Syntax b. Run-time c. Logic

3. Identify and correct errors

I.A.

I.B.

III.A

III.B

• complete lab: student-

designed project based on existing models.

• write test plan.

Students will use classes and apply Java to design a solution for a given project.

Students will test programs by applying appropriate techniques and categorize their errors.

Ongoing throughout the year

Page 10: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

10

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 10

Proficiencies (Objectives)

CONTENT OUTLINE (Proficiency numbers in parentheses)

AP Standards

Suggested Activities Evaluations/

Assessments

Teacher Notes

Student will be able to:

Students will:

III. Fundamental Data Types A. Declare, recognize and use

identifiers, constants and keywords (6)

B. Define, initialize and use objects (7)

C. Assign values to objects (7) 1. Use arithmetic

operators

2. Use appropriate order of operations

3. Use pre-defined functions (16)

D. Input and output data values (9) 1. Format output 2. Prompt for input

E. Declare, initialize and use strings (10)

F. Typecasting (25)

II.B.2 8.2.5.E.2

• convert Fahrenheit to

Celsius. • convert change into coins. • extract initials from names.

Given a project, modify according to teacher specifications using Visual Basic Operators

DWH – chapters 3, 4 F – chapter 5 LO – chapters 3, 5, 7 LL – chapter 2 W – chapters 3, 4, 8

Page 11: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

11

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 11

Proficiencies (Objectives)

CONTENT OUTLINE (Proficiency numbers in parentheses)

AP Standards

Suggested Activities Evaluations/

Assessments

Teacher Notes

Student will be able to

Students will:

IV. Selection A. Logic (13)

1. Truth tables

2. Boolean Algebra

B. If statements (14)

C. Logical operators and expressions (13)

D. Multiple branching (switch) and nesting (15)

V. Iteration

A. Count-controlled loops (20)

B. Event-controlled loops (19)

C. Nested loops (21)

II.B.4.c

II.B.4.d 8.2.5.E.3

• examine and modify

existing projects. • write program to convert

Roman numerals into decimal.

• write program to determine average and letter grade.

• write programs to: - Simulate coin tossing. - Simulate dice tossing. - Determine the value of a

Blackjack hand. - Determine the number of

permutations/combinations given n & r.

- Find the factors of a number.

Given a project, modify according to teacher specifications using if statements

Given a code segment with if statements, predict the output and find and correct errors

Given a project, modify according to teacher specifications using loops

Given a code segment, predict the output and find and correct errors

DWH – chapters 6, 10 F – chapter 4 LO – chapter 4 LL – chapter 3 W – chapter 6

DWH – chapters 9, 10 F – chapter 4 LO – chapter 4 LL – chapter 3 W – chapter 7

Page 12: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

12

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 12

Proficiencies (Objectives)

CONTENT OUTLINE (Proficiency numbers in parentheses)

NJ CCCS

Suggested Activities Evaluations/

Assessments

Teacher Notes

Student will be able to:

Students will:

VI. Classes and Objects (7, 8)

A. Modify existing classes (11)

B. User defined classes (12)

C. Methods 1. User-defined (17) 2. Recursive (18)

D. Inheritance (26)

E. Polymorphism F. Understand concepts of

abstract classes and interfaces

II.B II.B.4.e II.B.4.a

I.B.4 8.1.12.D.1 8.1.12.D.2 8.1.12.D.1 8.1.12.D.2

• examine and modify

existing projects. • write square class and a

client program to implement and test the class.

• derive cube class from

square class and a client program to implement and test the class.

Given a project, modify according to teacher specifications using classes

Given a code segment with classes, predict the output and find and correct errors

DWH – chapters 3, 7, 8, 10, 14

F – chapters 2, 3, 8, 12 LO – chapters 9, 11, 12 LL – chapters 2, 4-8, 11 W – chapters 1, 3, 16

Page 13: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

13

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 13

Proficiencies (Objectives)

CONTENT OUTLINE (Proficiency numbers in parentheses)

NJCCCS

Suggested Activities Evaluations/

Assessments

Teacher Notes

Student will be able to:

Students will:

VII.Arrays A. One-dimensional (22)

B. Two dimensional (23) C. ArrayList (24) D. Searching and sorting (22)

IV.D 8.2.5.E.4

• modify random numbers

die toss lab to store tallies in an array.

• complete worksheet after

watching video.

Given a project, modify according to teacher specifications using arrays

Given a code segment using arrays, predict the output and find and correct errors

DWH – chapters 11-13 F – chapter 5 LO – chapter 10 LL – chapter 6 W – chapters 9, 10 Video: Sorting out Sorting

VIII. Case Study (18) A. Analyze B. Modify C. Extend

I.B 8.2.12.E.1

• modify by implementation

of new operations/methods using the workbook supplied by the College Board.

Answer questions and write code based on the case study (one for each chapter in workbook)

Topic of case study changes every 4-5 years. Topic for 2009-2010 is GridWorld

Download materials for students from APCentral website.

IX. Optional Topics A. Graphics B. GUI C. Applets

DWH – chapter 5 F – chapters 6, 7, 10, 11 LO – chapters 13, 18 LL – chapters 1, 9 W – chapter 3

Page 14: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

14

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 14

TEXTBOOKS BI BLI OG R A P HY

Horstmann, Cay Java Concepts for Java 5 and 6,5th Edition John Wiley and Sons, © 2008. Trees, Fran Advanced Placement Study Guide to Accompany Cay Horstmann’s Java Concepts, 5th Edition John Wiley and Sons, © 2008.

RESOURCES Dale, Weems and Headington. Java and Software Design. © 2001.

(DWH)

Farrell. Java Programming. © 1999. Lambert and Osborne. Java: A framework for Programming and Problem Solving.

2nd ed.; © 2002.

(F)

(LO)

Lewis, Loftus & Cocking. Java Software Solutions, © 2004.

Schram, Leon, Multiple-Choice & Free-Response Questions in Preparation for the AP Computer Science Examination , Brooklyn, NY, 2015

(LL)

ADDITIONAL WEBSITES FOR SUPPLEMENTAL MATERIALS

www.MainFunction.com www.NYTimes.com/learning apcentral.collegeboard.com

WEBSITE FOR JAVA DOCUMENTATION www.java.sun.com/j2se/1.4/docs/api/index.html

VIDEO “Sorting out Sorting”, University of Toronto, © 1981

Wu. An Introduction to OOP with Java. 2nd ed. © 2001. (W)

Page 15: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

15

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 15

APPE ND I X A

S AMP L E AU T H E NT I C A SS ESSM E N T

Page 16: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

16

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 16

S AM PL E A U TH EN TI C A SSESS M EN T You have just graduated from college and are starting your first job. Your company suggests you begin investing in a retirement fund. You are able to get interest rates ranging from 5% - 7% in increments of ¼% (the more convenient banks have the lower rates). Write a program that allows you to enter the amount deposited at the beginning of each month (constant for the life of the fund), the annual interest rate (which is compounded monthly), and the number of years you will be investing. Print out the final value of the account.

Be sure that the monthly deposit and the number of years are positive numbers and the interest rate is in the range indicated above.

NOTE: The monthly interest is 1/12th of the annual interest.

Include the following in your output:

1. The final value of the account based on the input values

2. The balance of the account at the end of each year along with details of the information entered by the user

3. A table showing the final value of the account for interest rates in increments of ¼% for each year (up to 40) for a given

deposit amount.

Using your table, determine the smallest interest rate and monthly investment amount that will yield $1,000,000 at retirement.

Page 17: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

17

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 17

APPE ND I X B

G EN ER A L S CO RING G U I D E F O R A SS ESS M EN TS

Page 18: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

18

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 18

GENERAL SCORING GUIDE FOR ASSESSMENTS

PROGRAM DESIGN: (3 Points Total)

3 Includes specifications and complete program description

2 Includes specifications and partial program description or

no specifications and complete program description 1 Includes specification or partial program description

PROGRAM STYLE AND DOCUMENTATION: (12 Points Total)

3 Clear directions for user

Appropriate and well worded comments Proper indenting/use of whitespace All code self-documenting

2 Minimal directions for user

Good, but incomplete comments Some indenting/whitespace Some code self-documenting

1 Confusing directions for user

Minimal comments Minimal indenting/whitespace Minimal code self-documenting

Page 19: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

19

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 19

GENERAL SCORING GUIDE FOR ASSESSMENTS (continued)

OUTPUT: (5 Points Total)

5 Appropriately formatted and labeled output

3 Output formatted or labeled

1 Minimal formatting/labeling of output

PROGRAM EXECUTION: (20 Points)

20 Produces correct output for all inputs

15 Produces correct output for most inputs

10 Produces correct output for some inputs

5 Rarely produces correct output

TIMELINESS:

0 Turned in on time

-4 Turned in no more than 5 school days late

-8 Turned in no more than 10 school days late

Page 20: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

20

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 20

P R O J EC T SC O R E S HE E T

NAME: LAB: PERIOD: DATE TURNED IN:

PROGRAM DESIGN: 3 2 1

TOTAL:

PROGRAM STYLE AND DOCUMENTATION:

Directions for user 3 2 1

Comments 3 2 1

Indenting/use of whitespace 3 2 1

Self-documenting code 3 2 1

TOTAL:

OUTPUT: 5 3 1

TOTAL:

PROGRAM EXECUTION: 20 15 10 5

TOTAL:

TIMELINESS: 0 -4 -8

TOTAL:

FINAL GRADE:

Page 21: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

21

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 21

APPE ND I X C

SO LU T I ON T O SA M P L E AU T H E NT I C A SS ESSM E N T

Page 22: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

22

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 22

package investment;

SOLUTION TO SAMPLE AUTHENTIC ASSESSMENT

import java.awt.*; import java.text.*; import java.awt.event.*; import javax.swing.*; import java.text.DecimalFormat; import java.lang.Object.*;

public class Investment {

public static void main(String[] args) {

// Create JTextArea to display results JTextArea outputArea = new JTextArea(40, 80);

// Attach JTextArea to a JScrollPane so user can scroll through results JScrollPane scroller = new JScrollPane(outputArea);

// Declare variables for input values String inputDepositAmount; String inputInterestRate; String inputNumYears;

double depositAmount; double interestRate; int numYears; String result = "";

inputDepositAmount = JOptionPane.showInputDialog ("Enter amount to be deposited each month"); depositAmount = Double.parseDouble(inputDepositAmount);

inputInterestRate = JOptionPane.showInputDialog ("Enter interest rate (as a decimal)"); interestRate = Double.parseDouble(inputInterestRate);

Page 23: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

23

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 23

inputNumYears = JOptionPane.showInputDialog ("Enter number of years to invest"); numYears = Integer.parseInt(inputNumYears);

// ******* Test input values ***** Remove after testing ********** // depositAmount = 100; // interestRate = 0.06; // numYears = 40; // ******* Test input values ***** Remove after testing **********

// Create heading for output result = "\n\tRetirement Investment Results\n";

// Calculate monthly interest double monthlyInterstRate = interestRate/12;

// Prepare for formatting output DecimalFormat currency = new DecimalFormat("$##,##0.00");

// Add heading for first output result = "\tYear\tBalance";

// Initialize balance double balance = 0.0;

// Compute yearly balances for(int year = 1; year <= numYears; year++) {

for(int month = 1; month <= 12; month++) {

balance += depositAmount; balance *= (1 + monthlyInterstRate);

} result = result + "\n\t" + year + "\t"+ currency.format(balance);

}

Page 24: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

24

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 24

// Output final results

result = result + "\n\nIf you invest $" + depositAmount + "each month at " + interestRate * 100 + "% compounded monthly, after " + numYears + " years you will have " + currency.format(balance);

// Create array to hold table double table[ ][ ]; table = new double[24][9];

// Create headings for table result = result + "\n\n"; DecimalFormat percent = new DecimalFormat("#.0#%");

for (int rate = 0; rate < 9; rate++)

result = result + "\t" + percent.format(rate * .0025 + 0.05); result = result + "\n";

// Initialize values in table to 0 for (int deposit = 0; deposit < 24; deposit++)

for (int rate = 0; rate < 9; rate++) table[deposit][rate] = 0.0;

// Calculate values for table for (int deposit = 0; deposit < 24; deposit++) {

for (int rate = 0; rate < 9; rate++) {

balance = 0.00; for (int year = 1; year <= 40; year++) {

for (int month = 1; month <= 12; month++) {

balance += (deposit + 1) * 25.00; balance *= (1 + (rate * .0025 + 0.05) /12);

Page 25: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

25

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 25

} } table[deposit][rate] = balance;

} }

// Output values in table for (int deposit = 0; deposit < 24; deposit++) {

if (deposit < 100) result += " "; result = result + currency.format((deposit + 1) * 25) + "\t"; for (int rate = 0; rate < 9; rate++) {

result = result + currency.format(table[deposit][rate]) + "\t"; } result = result + "\n";

}

// Place output results in JTextArea outputArea.setText(result);

// Show output JOptionPane.showMessageDialog(null, scroller, "Results of Investment",

JOptionPane.PLAIN_MESSAGE);

// Exit system System.exit(0);

} // end method main

} // end class Investment

Page 26: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

26

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 26

Output:

Page 27: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 27

s of Investment

Year 1

Balance $1,239.72

2 $2,555.91 3 $3,953.28 4 $5,436.83 5 $7,011.89 6 $8,684.09 7 $10,459.43 8 $12,344.27 9 $14,345.36 10 $16,469.87 11 $18,725.42 12 $21,120.09 13 $23,662.46 14 $26,361.63 15 $29,227.28 16 $32,269.68 17 $35,499.73 18 $38,929.00 19 $42,569.78 20 $46,435.11 21 $50,538.85 22 $54,895.70 23 $59,521.27 24 $64,432.14 25 $69,645.89 26 $75,181.22 27 $81,057.96 28 $87,297.16 29 $93,921.18 30 $100,953.76 31 $108,420.09 32 $116,346.93 33 $124,762.68 34 $133,697.49 35 $143,183.39 36 $153,254.35 37 $163,946.46 38 $175,298.05 39 $187,349.77

!n;l »IJJBuilder 5 - A:/lnveot.. lnvestmentOutput • M•c•os.. j

Page 28: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 28

41

If you invest $100 each month at 6.0% compounded monthly, after 40 years you will have

Page 29: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

29

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 29

AP PE N DI X D

AP Co mputer S cience A Curriculum

Page 30: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

30

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 30

Brief Description of Course

The curriculum for AP Computer Science A was developed using the AP Computer Science course outline as presented in the "AP Computer Science Course Description" provided by the College Board. In addition to covering all material in the ‘A’ curriculum, after the exam in May the students will be introduced to 2-dimensional arrays.

AP Computer Science A is a course designed for the student who wants to develop skills in the design of algorithms, the techniques of object-oriented programming and the use of the Java language. Students are expected to apply problem-solving skills, mathematical reasoning, and written communication skills to the solution of problems in many application areas.

In addition to demonstrating the ability to design, implement and test solutions to computer problems, students will understand hardware and software terms as well as the responsible use of computer systems.

Main Textbook: Title: Java Concepts. 5th Edition Author: Cay S. Horstmann Publisher: Wiley, New York, NY Publish date: 2008

Additional Resources:

Title: "Advanced Placement Study Guide to Accompany Cay Horstmann's Java Concepts", 5th Edition Author: Frances P. Trees Publisher: Wiley, New York, NY Publish Date: 2008

Title: “Multiple Choice and Free Response Questions in Preparation for the AP Computer Science (“A” and “AB”) Examination”, 6th

Edition Author: Leon Schram Publisher: D& S Marketing

Page 31: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

31

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 31

Publish Date: 2007 GridWorld Case Study provided by the College Board

Additional Materials: "Sorting out Sorting" Video University of Toronto, 1981

Free response questions posted on APCentral by the College Board

Multiple Choice questions posted on APCentral in the AP Computer Science Course Description

Appropriate articles from the following websites: www.nytimes.com and www.mainfunction.com - Reality Check

Lab Setup: Labs are written in Java using the Eclipse IDE. Students work on Dell PCs with Pentium 4 processors in a networked lab of 18 workstations connected to 2 laser printers. The lab is available all periods of the day and after school. All student work is saved in their personal folder on the school server. Eclipse is also installed on 6 computers in the school's media center, which is open from 7:00 am until 4 pm daily.

Course outline:

Introduction to Java and the Eclipse IDE: (1 week) Students are introduce to the Java language and are taught how to use the Eclipse IDE by writing a simple program. Students will also learn about computer hardware and software, the development of programming languages, and the beginning of debugging, including the difference between syntax and logic errors. Also covered is converting between different number bases such as binary and octal. Text: Chapter 1 AP Study Guide: Chapter 2 D & S Study Guide: Chapter 7 Lab: Hello, World! (An introduction to the Eclipse IDE)

Page 32: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

32

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 32

Course outline: (cont’d.) Introduction to Classes: (1 week) Students are introduced to the concept of a class and how it can help the organization of their program. Also discussed are different programming methodologies such as top-down design and object-oriented programming. Topics include: variables, classes and objects, purpose and use of constructors, implementing and calling methods (including static methods), parameters and return values, and documentation. Text: Chapters 2 & 3 AP Study Guide: Chapters 3 & 4 Labs: AreaTester and PerimeterTester (text: exercises P2.1 & 2.2,pg. 69)

Project 2.1 (text page 71) including modification: find day of your birth and day you will turn 21 Text: exercises P3.1, 3.2, and 3.4 pgs 114-5

GridWorld Case Study: (2 days) Part 1 of the Case Study will be covered with students using the study guide provided by the College Board.

Fundamental Data Types: (1 week) Primitive data types, math operators, arithmetic expressions (including shortcuts (+=, -=, etc. and ++ and --)), limitations of number types and how computers store numbers, user input, constants, and the String class. Also covered are the wrapper classes Integer and Double, and required methods in the Math class. Text: Chapter 4 AP Study Guide: Chapter 5 D & S Study Guide: Chapter 11 Labs: Temperature Converter (Fahrenheit to Celsius) – several implementations (user input, rounding)

Rectangle (calculate area and perimeter) (static methods) Circle (calculate area and circumference) (Math.PI) Separate Names: Enter a name in First Middle Last format, display as three separate names

(uses String methods) Display max and min values of primitive types (using Class.MAX_VALUE and

Class.MIN_VALUE) Decision Statements: (2 weeks)

Page 33: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

33

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 33

If and switch statements are covered along with the boolean data type. Comparison of different types of data and of String objects is covered. The meaning of “flow of control” is discussed. Text: Chapter 5 AP Study Guide: Chapter 6 D & S Study Guide: Chapter 3

Course outline: (cont’d.)

Labs: Number Comparison: Enter 3 numbers, determine highest, lowest, and average

Quadrilaterals: Enter coordinates of 4 points, determine the type of quadrilateral they form Iteration: (3 weeks) While and For loops are discussed, along with nested loops and random numbers using Math.random(). Applications of loops such as sentinels and checking user input are also covered, along with determining how many times statements in different parts of a nested loop program are executed. Text: Chapter 6 AP Study Guide: Chapter 7 D & S Study Guide: Chapter 1,6 Labs: Decimal to Binary: store result in a String

Number Guess: Computer selects a number from 1 to 100, user guesses, # of guesses is counted 40 Random Numbers: stored in a file, find average, quantity above and below avg. is counted. Die Toss: toss die 60 times, tally results, display table and horizontal bar chart Vowel Count: tally number of each vowel separately in a sentence entered by the user. Diamond: (nested loops): odd # 1-19, print “diamond” of *’s

Cumulative review #1: (2 days) AP Study Guide: Cumulative Review #1

Arrays and ArrayLists: (3 weeks) Built-in arrays and the Java class ArrayList<E> are introduced to the students using the ‘A’ reference sheet as a guide to ArrayList methods that students are responsible to know. Students will be able to add items to arrays and ArrayLists, delete items, and traverse these data structures. Casting is discussed. Students are also introduced to the sequential search algorithm. Text: Chapter 7

Page 34: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

34

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 34

AP Study Guide: Chapter 8 D & S Study Guide: Chapter 5 & 8 Labs: Die Toss V2: revise to store tallies in an array

40 Random Numbers V2: revise to store the 40 numbers in an array 3 arrays: generate 10 random numbers -10 to 10, store in one of 3 arrays: neg, pos even, pos odd.; do first with arrays and counters, then redo with ArrayList. Duck Duck Goose: Array of boolean, every third player is removed until only one remains.

Page 35: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

35

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 35

Course outline: (cont’d.)

Classes: (3 weeks) Students will be able to design and implement their own classes. Included are all necessary components of classes such as constructors, mutators, observers, variable declarations and scope, and parameters. Arrays and ArrayLists of objects are also discussed. Text: Chapter 8 AP Study Guide: Chapter 9 D & S Study Guide: Chapter 2 Labs: Point Class: including distance method with Point object as parameter and a toString method

Circle Class: write class and test driver Rectangle Class: write our own and test driver Coin Class: text exercises P8.1 and P8.2 page 332 Fraction Class: write class that includes 4 basic math ops on fractions. Optional: reduce result

Interfaces and Polymorphism: (2 weeks) Students will be able to design interface and understand the concept of polymorphism. Also included is the Comparable interface. Text: Chapter 9 AP Study Guide: Chapter 10 Labs: Card Class: implements Comparable interface. Potential extension: compare poker hands.

Create GeoObject interface with area and perimeter headers; write rectangle and square classes that each implementing the interface.

Inheritance: (2 weeks) Topics covered include: subclasses and superclasses, overriding, invoking superclass constructors, overriding the toString and equals methods, as well as the Object superclass. Text: Chapter 10 AP Study Guide: Chapter 11 D & S Study Guide: Chapter 4, 13 Labs: Prism Class: extend our RectangleClass to 3 dimensions

Line Class: extends point to hold 2 points as endpoints of a segment, calc length and slope GridWorld Case Study: (2 weeks)

Page 36: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

36

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 36

Chapter 2 of the case study is covered with students using the study guide provided by the College Board as a guide.

Page 37: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

37

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 37

Course outline: (cont’d.)

File I/O and Summary of Exceptions: (1 week) Using files for input and output. Exceptions covered up to this point. Text: Chapter 11 AP Study Guide: Chapter 12 Labs: Lost Items: RecordClass holds ID# and description, ResidentClass extends RecordClass and adds

phone number, 2 files: one with lost items and Ids, the other with residents; create array lists of objects, look for matches.

GridWorld Case Study: (3 weeks) Chapters 3 and 4 of the case study are covered with students using the study guide provided by the College Board as a guide.

Software Lifecycle and Object-Oriented Design: (1 week) Overview that will bring together topics covered so far this year. Text: Chapter 12 AP Study Guide: Chapter 13 D & S Study Guide: Chapter 14

Cumulative review #2: (2 days) AP Study Guide: Cumulative Review #2

Recursion: (2 weeks) Students are introduced to the concept of recursion, the relationship between recursion and iteration, determining if a problem is easier to solve recursively, and using recursive helper methods. Text: Chapter 13 AP Study Guide: Chapter 14 D & S Study Guide: Chapter 9 Labs: Decimal to Binary V2: use recursion to convert

Reverse a Sentence: Text exercise P 13.1 page 541

Page 38: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

38

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 38

Course outline: (cont’d.)

Searching and Sorting: (3 weeks) Review of sorting (selection, insertion, and Mergesort) and searching (sorted and unsorted linear search and binary search). Informal discussion of comparison of running times including worst-case, best-case, and average-case time analysis. Video: "Sorting out Sorting" Text: Chapter 14 AP Study Guide: Chapter 15 D & S Study Guide: Chapter 12 Labs: Anagrams: Create a Word class that holds a word and a string that is the letters of the word

sorted(using Insertion or Selection sort). Driver compares Word objects to see if they are anagrams of each other. Mergesort: implement on an array of 100 integers Sort Comparison: add Selection or Insertion to Mergesort, run on same set of data, determine running times. Also run on preset data: almost sorted, reverse sorted and compare times.

Review for Exam: (2 weeks) AP Study Guide: Appropriate questions from Cumulative Review #3 D & S study Guide: 2 ‘A’ level sample exams Previously released exam, translated into Java 5 Multiple Choice questions from AP Central Previous Free Response questions on AP Central

Topics not covered as separate units: The following topics are covered over the course of the year as listed below:

Testing: Writing test drivers and creating appropriate test data for simple programs and classes is an integral part of the course.

Debugging: Students will be instructed in various methods for finding and correcting errors as well as categorizing those errors. This will be an ongoing topic, integrated where appropriate over the course of the year.

Page 39: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

39

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 39

Course outline: (cont’d.)

Exceptions: Exceptions to be tested on the APCS – A exam are covered in the unit where their appearance will occur (example: ArrayIndexOutOfBoundsException would be discussed with arrays and ArrayLists.)

Computing in Context: Responsible use of computer systems is covered as an ongoing discussion along with quarterly papers written by the students covering privacy, legal issues and intellectual property, and social and ethical ramifications of computer use. Whenever possible, topics relate to current events. Past topics include: “Are parents responsible for their children’s computer use?”, “Cyborg insects”, and “Music Piracy”.

Selection of appropriate algorithms: As each new unit is covered, we discuss applications of the material presented and discuss how to integrate it into the material already covered. Students are regularly given lab assignments where they revise an existing program to use a new statement or concept to see that there is often more than one way to write a program to do the same thing. Discussions may include the following: which is the "better" way to do something, and what can we now do that we were unable to do before without major effort.

Page 40: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

40

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 40

A P P E N D I X E

S H O W C A S E P O R T F O L I O G U I D E L I N E S

Page 41: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

41

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 41

Parsippany – Troy Hills

Secondary Math Departments

Showcase Portfolio Guidelines

All secondary math courses showcase portfolios will contain evidence of the following NJ Core Curriculum Content Standards in Mathematics:

1. Problem-Solving 2. Reasoning 3. Tools and Technology 4. Patterns, Relationships and Functions

Specifically the student’s showcase portfolio for each subject will display evidence of the following local standards:

AP Computer Science A:

1. Problem-solving ability 2. Designing frames 3. Ability to write programs using correct structure and syntax

Page 42: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

42

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 42

APPE ND I X F

ADVANC E D P L ACE ME N T CO MPU T E R S C I E NCE A T O P I C O U T L INE

Page 43: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

43

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 43

ADVANC E D P L ACE ME N T CO MPU T E R S C I E NCE A T O P I C O U T L INE

T o pic O u tli n e Following is an outline of the major topics considered for the AP Computer Science A Exam. This outline is intended to define the scope of the course but not necessarily the sequence.

I. Object-Oriented Program Design 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. A. Program design 1. Read and understand a problem description, purpose, and goals. 2. Apply data abstraction and encapsulation. 3. Read and understand class specifications and relationships among the classes (“is-a,” “has-a” relationships). 4. Understand and implement a given class hierarchy. 5. Identify reusable components from existing code using classes and class libraries. B. Class design 1. Design and implement a class. 2. Choose appropriate data representation and algorithms. 3. Apply functional decomposition. 4. Extend a given class using inheritance.

II. Program Implementation 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.

A. Implementation techniques 1. Methodology a. Object-oriented development b. Top-down development c. Encapsulation and information hiding

Page 44: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

44

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 44

d. Procedural abstraction

B. Programming constructs 1. Primitive types vs. objects 2. Declaration a. Constant declarations b. Variable declarations c. Class declarations d. Interface declarations e. Method declarations f. Parameter declarations

3. Console output (System.out.print/println) 4. Control a. Methods b. Sequential c. Conditional d. Iteration e. Understand and evaluate recursive methods C. Java library classes (included in the AP Java subset)

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. A. Testing 1. Test classes and libraries in isolation. 2. Identify boundary cases and generate appropriate test data. 3. Perform integration testing. B. Debugging 1. Categorize errors: compile-time, run-time, logic. 2. Identify and correct errors.

Page 45: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

45

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 45

3. Employ techniques such as using a debugger, adding extra output statements, or hand-tracing code. C. Understand and modify existing code D. Extend existing code using inheritance E. Understand error handling 1. Understand runtime exceptions. F. Reason about programs 1. Pre- and post-conditions 2. Assertions G. Analysis of algorithms 1. Informal comparisons of running times 2. Exact calculation of statement execution counts H. Numerical representations and limits 1. Representations of numbers in different bases 2. Limitations of finite representations (e.g., integer bounds, imprecision of floating-point representations, and round-off error)

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. A. Simple data types (int, boolean, double) B. Classes C. Lists D. Arrays

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 for analysis of program efficiency. A. Operations on data structures previously listed 1. Traversals 2. Insertions

Page 46: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

46

MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 46

3. Deletions B. Searching 1. Sequential 2. Binary C. Sorting 1. Selection 2. Insertion 3. Mergesort

VI. Computing in Context An awareness of the ethical and social implications of computing systems is necessary for the study of computer science. These topics need not be addressed in detail but should be considered throughout the course. A. System reliability B. Privacy C. Legal issues and intellectual property D. Social and ethical ramifications of computer use

Page 47: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

47

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

APPE ND I X G NEW JERSEY STUDENT LEARNING STANDARDS

Page 48: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

48

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

NEW JERSEY STUDENT LEARNING STANDARDS

4 - Mathematics

8 - Technology

9 - 21st Century Life and Careers

Page 49: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

49

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

APPENDIX H CURRICULUM MODIFICATIONS & ADAPTATIONS

Page 50: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

50

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

Page 51: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

51

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

Page 52: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

52

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

Page 53: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

53

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

Page 54: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

54

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

Page 55: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

55

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

Page 56: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

56

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

Page 57: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

57

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

Page 58: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

58

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

Page 59: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

59

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

Page 60: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

60

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

Page 61: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

61

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

Page 62: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

62

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

Page 63: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

63

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

Page 64: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

64

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

Page 65: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

65

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

Page 66: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

66

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A

Page 67: PA RS IP PA N Y – T R OY HI LLS TO W NS HI P S C HOO LS A C O …sharepoint.pthsd.k12.nj.us/ci/Approved Curriculum/MTH511... · 2017. 9. 20. · mth511 advanced palcement computer

67

MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A