pa rs ip pa n y – t r oy hi lls to w ns hi p s c hoo ls a c o...
Post on 04-Sep-2020
0 Views
Preview:
TRANSCRIPT
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
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.
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.
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.
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.
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.
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.
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
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
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
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
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
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
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)
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
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.
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
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
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
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:
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
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);
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);
}
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);
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
26
MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 26
Output:
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
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
29
MTH511 ADVANCED PALCEMENT COMPUTER SCIENCE A 29
AP PE N DI X D
AP Co mputer S cience A Curriculum
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
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)
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)
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
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.
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)
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.
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
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.
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.
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
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
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
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
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.
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
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
47
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
APPE ND I X G NEW JERSEY STUDENT LEARNING STANDARDS
48
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
NEW JERSEY STUDENT LEARNING STANDARDS
4 - Mathematics
8 - Technology
9 - 21st Century Life and Careers
49
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
APPENDIX H CURRICULUM MODIFICATIONS & ADAPTATIONS
50
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
51
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
52
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
53
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
54
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
55
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
56
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
57
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
58
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
59
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
60
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
61
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
62
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
63
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
64
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
65
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
66
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
67
MTH511 ADVANCED PLACEMENT COMPUTER SCIENCE A
top related