AP COMPUTER SCIENCE A - pitt.k12.nc.us



AP® Computer Science A

Course Overview

The purpose of this course is to assist students in developing the necessary programming skills to succeed in object-oriented programming. This course teaches students to use the standard Java library classes from the AP® Java subset delineated in Appendices A and B of the AP Computer Science Course Description. Concepts such as classes, objects, inheritance, polymorphism, and code reusability will be studied. The skills learned here should help you find success in college and in the professional programming world, should you choose to pursue programming as a career. My goal for this AP Computer Science course is to challenge students to be active learners and critical thinkers. Throughout this course, students are encouraged to seek outside resources, including the Internet and professional programmers in the area, to aid them in the learning process.

Resources

J. Liberty, K. Quirk, and S. Weiss. Introduction to Computer Science Using Java. New York: Glencoe, 2004. (Textbook and Student Workbook)

College Board. AP GridWorld Case Study. New York: College Entrance Examination Board, 2006.

Course Outline

|Chapter |Topic |Guided / Independent Practice |Tests / Projects |

|(weeks) | | | |

|1 |Introduction to Computer Science |Create Flowchart (Filling car with gasoline) |History of Computers |

|(1-2) |Hardware and Software |Explore Careers, p. 8 |Presentation |

| |Machine, Assembly, and High-Level Programming |Crossing Platforms, p. 14 |Test #1 |

| |Languages |Ethics & Computers, p. 564 | |

| |Software Design and Development | | |

|[C2] |Explain and Create Algorithms | | |

|[C4] |Do Developers Move Too Fast? | | |

|[C8] | | | |

|2 |The Java Language and Java Program |HelloWorld, p. 47-53 |HelloWorld Manipulation |

|(3-4) |Structure/Library Classes |Line by Line Analysis, p. 54-61 |Test #2 |

| |Objects, Classes, Fields |Build Java Application, p. 62-65 | |

| |State, Methods |Chapter Review, p. 67-68 | |

| |Object Relationships |Code Analysis, p. 68 | |

| |Program Creation |Workbook Review, p.7-12 | |

| |Applets / Applications |Ethics & Computers, p. 45 | |

| |Input and Output | | |

| |Copyright & Intellectual Property Issues | | |

|[C3] | | | |

|[C9] | | | |

|3 |Classes and Class Members |Create “Employee” Class, p.77 |Group Code Analysis and |

|(4-5) |Public Interface / Private Implementation |Design “FancyText” Class, p.93-101 |Modification, p.88-90, Listing|

| |Encapsulation |Chapter Review, p.105-106 |3.3 (DogTracker) |

| |Class Creation |Code Practice and Analysis, p.106-107 |Test #3 |

| |Class Fields |Workbook Review, p.13-18 | |

| |Intrinsic & User-Defined Types | | |

|[C3] |Accessor and Mutator Methods | | |

|[C4] |Constructors | | |

|[C6] | | | |

|4 |Variables |p.111 (4.1 Scope) |Test #4 |

|(5-6) |Mathematical Operators |p.117 (4.2 Concatenation) | |

| |Self-Assignment Operators |p.119 (4.3 Math) | |

| |String Concatenation |p.121 (4.4 OperatorPrecedence) | |

| |Relational Operators |p.124 (4.5 ConstantTester) | |

|[C3] |Constants |Ethics & Computers, p.123 | |

|[C4] |Precedence |Create Operator Chart | |

|[C5] |Protecting Corporate Networks |Chapter Review, p.128 | |

|[C6] | |Code Analysis, p.129 | |

|[C9] | |Workbook Review, p.19-24 | |

|5 |If, If-Else Statements |p.132 (5.1 IfStatement1) |Group Code Project – Write a |

|(6-8) |Logical Operators |p.135 (5.2 IfStatement2) |class to prompt user to enter |

| |While Loop |p.137 (5.3 IfStatement3) |number from 1-12, then class |

| |For Loop |p.140 (5.4 ComplicatedIf) |will output full name of |

| |Nested Loops |p.142 (5.5 ElseIf) |month. |

| |Do…While Loop |p.152 (5.8 Counter1) |BallBounce Project |

| |Escape Sequences |p.153 (5.9 WhileCounter) |Test #5 |

| |Netiquette |p.154 (5.10 ForCounter) | |

| | |p.164 (5.16 NestedForLoops) | |

| | |p.166 (5.17 DoWhile) | |

|[C3] | |Create Class that counts down with loops. | |

|[C4] | |Chapter Review, p.177-178 | |

|[C5] | |Code Analysis, p.178-179 | |

|[C6] | |Ethics & Computers, p. 185 | |

|[C9] | |Workbook Review, p.25-30 | |

|7 |Object-Oriented Programming |p.206 (7.1 BallBouncerApplet) |Test #6 |

|(8-9) |Factoring & Refactoring |p.210 (7.2 BallBouncerWithEncapsulatedBall) | |

| |Classes |p.218 (7.3 BallBounceOffWalls) | |

| |Encapsulation |p.235 (7.7 BallWithOverloadConstructors) | |

| |Method Overloading |Chapter Review, p.243-244 | |

|[C4] |Constructor Overloading |Code Analysis, p.244-245 | |

|[C5] | |Workbook Review, p.37-42 | |

|[C6] | | | |

|8 |Inheritance |p.250 (8.1 BallWithInheritance) |Group Project – Have students |

|(10-11) |Private vs. Protected Fields |p.264 (8.2 BallWithPolymorphism) |team teach section on |

|[C4] |Super Keyword |p.270 (8.3 BallWithBaseWallClass) |Polymorphism. |

|[C5] |Polymorphism |Chapter Review, p.277-278 |Test #7 |

|[C6] |Abstract Base Class |Code Analysis, p.278-279 | |

|[C7] |PCs and the Environment |Ethics & Computers, p. 256 | |

|[C9] | | | |

|9 |Declaring Interfaces |p.283 (9.1 BallWithColorable) |Test #8 |

|(12-13) |Multiple Interfaces |p.293 (9.2 BallWithColorableAndDebuggable) | |

| |Interfaces vs. Abstract Class |Discuss Interfaces vs. Multiple Inheritance | |

| |Extending Interfaces |p.304 (9.3 BallWithDebuggableLogging) | |

| |Polymorphic Interfaces |p.312 (9.4 BallWithDebugSetup) | |

| | |Chapter Review, p.322-323 | |

| | |Write & Analyze Code, p.323 | |

|[C3] | |Workbook Review, p.49-54 | |

|[C6] | | | |

|[C7] | | | |

|10 |Declare & Instantiate Arrays |Read Sections 1 & 2, then write code to declare and define |Write code necessary to |

|(13-14) |Pass by Value |an array of String objects that will hold 25 elements |implement a progress “spinner”|

| |Pass by Reference |p.330 (10.1 SimpleArray) |instead of ellipsis |

| |Pass Arrays to Methods |p.333 (10.2 SimpleArrayInitialization) |Test #9 |

| |Use Polymorphic Objects in Arrays |p.339 (10.3 SumOfDice) | |

| |Create Arrays using Interfaces |p.341 (10.4 SumOfDiceHistogram) | |

| |Implicit & Explicit Casts |p.346 (10.5 HistogramTwoDie) | |

| |Software Ownership |p.350 (10.6 DoubleInts) | |

| | |p.352 (10.7 ByReference) | |

| | |p.354 (10.8 DoubleArray) | |

| | |p.356 (10.9 DoubleArray2) | |

| | |p.361 (10.11 ArrayofDebuggables) | |

| | |Chapter Review, p.369-370 | |

|[C4] | |Code Analysis, p.370-371 | |

|[C5] | |Workbook Review, p.55-60 | |

|[C6] | |Ethics & Computers, p. 338 | |

|[C9] | | | |

|11, 12, 18 |Declaring Two-Dimensional Arrays |p.375 (11.1 DieArray2D) |Map out the Array as explained|

|(14 - 15) |Iterating Two-Dimensional Arrays |p.379 (11.2 DieArray2DWithTotals) |in the text. Include values |

| |ArrayList |Chapter Review, p.420-421 |in the first portion of the |

| |Computer Viruses |Code Analysis, p.421-422 |array. |

| |Implement and Compare Sorting Algorithms |Workbook Review, p.61-66 |Modify 11.2 to show average, |

| |(Insertion, Selection, Shell, Bubble, Quick) |Ethics & Computers, p. 434 |range, median, and mean |

| | |p.429 (12.1 ObjectArrayList) |values. Add row labels to |

| | |p.435 (12.2 HeterogeneousArrayList) |identify each item in the |

| | |p.440 (12.3 InsertInMidArrayList) |output. |

| | |Chapter Review, p.447-448 |Use an ArrayList to store and |

| | |p.637 (18.1 ComparableDemo) |display objects. |

|[C4] | |p.640 (18.2 ArraysSortDemo) |Test #10 |

|[C5] | |p.646 (18.3 InsertionSort) |(Possibly 2 tests) |

|[C6] | |p.649 (18.4 Sortable) | |

|[C9] | |p.655 (18.5 SortList) | |

| | |p.659 (18.7 SortAlgorithm) | |

| | |p.662 (18.9 ShellSort) | |

| | |p.666 (18.11 SelectionSort) | |

| | |p.670 (18.14 BubbleSort) | |

| | |p.676 (18.17 QuickSort) | |

| | |Chapter Review, p.686-687 | |

|GridWorld |Experimenting with a Large Program |Chapter 1, Do You Know – Set 1 | |

|Chapters |Using Classes |Chapter 1, Exercises 1-4 | |

|1 & 2 |Modifying Classes |Chapter 2, Do You Know – Set 2 | |

|(15) | |Chapter 2, Exercises 1-5 | |

|[C6] [C7] | | | |

|GridWorld |Experimenting with a Large Program |Chapter 3, Do You Know – Set 3 |Chapter 3 Group Activity |

|Chapter 3 |Using Classes |Chapter 3, Do You Know – Set 4 | |

|(16) |Extending Classes |Chapter 3, Do You Know – Set 5 | |

| |Interfaces |Chapter 3, Do You Know – Set 6 | |

|[C4] | | | |

|[C5] | | | |

|[C6] | | | |

|[C7] | | | |

|GridWorld |Experimenting with a Large Program |Chapter 4, Do You Know – Set 7 |Chapter 4 Group Activity |

|Chapter 4 |Interacting Objects |Chapter 4, Do You Know – Set 8 | |

|(17) |Inheritance |Chapter 4, Do You Know – Set 9 | |

| | |Chapter 4, Exercises 1-6 | |

|[C4] | | | |

|[C5] | | | |

|[C6] | | | |

|[C7] | | | |

|Review |Review AP Computer Science A Topics |Review Material from Textbook and GridWorld Case Study | |

|(18) | |Utilize previous Free-Response Questions found on AP Central| |

| | |Take Practice Exams | |

| | | | |

|[C2] | | | |

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download