Advanced Placement Computer Science

advertisement
Advanced Placement Computer Science Outline
INSTRUCTOR: Shanice M. White
Email: shanice.white@pgcps.org
Phone: 301-636-8000 x275
Course Description:
The Advanced Placement Computer Science course is the third course in the series of
computer science courses offered in Prince Georges County. Because the development of
computer programs to solve problems is a skill fundamental to the study of computer
science, a large part of the course is built around the development of computer programs
or parts of programs that correctly solve a given problem. The course also emphasizes the
design issues that make programs understandable, adaptable, and, when appropriate,
reusable. At the same time, the development of useful computer programs and classes is
used as a context for developing other important concepts in computer science, including
the development and analysis of algorithms, the development and use of fundamental
data structures, and the study of standard algorithms and typical application. In addition,
an understanding of the basic hardware and software components of computer systems
and the responsible use of these systems are integral parts of the course.
Course Outline:
Unit 1: Introduction to Computer Systems and Ethics
Lesson 1.1: Computer Processing
Lesson 1.2: Hardware Components
Lesson 1.3: Networks
Lesson 1.4: The Java Programming Language
Lesson 1.5: Program Development
Lesson 1.6: Object Oriented Programming
Unit 2: Data and Expressions
Lesson 2.1: Character Strings
Lesson 2.2: Variables and Assignments
Lesson 2.3: Primitive Data Types
Lesson 2.4: Expressions
Lesson 2.5: Data Conversion
Lesson 2.6: Interactive Programs
Lesson 2.7: Graphics
Lesson 2.8: Applets
Lesson 2.9: Shapes
Unit 3: Using Classes and Objects
Lesson 3.1: Creating Objects
Lesson 3.2 The String Class
Lesson 3.3 Packages
Lesson 3.4 The Random Class
Lesson 3.5 The Math Class
Lesson 3.6 Formatting Output
Lesson 3.7 Enumerated Types
Lesson 3.8 Wrapper Classes
Lesson 3.9 Components and Containers
Lesson 3.10 Nested Panels
Lesson 3.11 Images
Unit 4 Writing Classes
4.1 Classes and Objects Revisited
4.2 Anatomy of a Class
4.3 Encapsulation
Visibility Modifiers
Accessors and Mutators
4.4 Anatomy of a Method
The return Statement
Parameters
Local Data
on 4.5 Constructors Revisited
4.6 Graphical Objects
4.7 Graphical User Interfaces
4.8 Buttons
4.9 Text Fields
Unit 5 Conditionals and Loops
5.1 Boolean Expressions
Equality and Relational Operators
Logical Operators
5.2 The if Statement
The if-else Statement
Using Block Statements
Nested if Statements
5.3 Comparing Data
Comparing Floats
Comparing Characters
Comparing Objects
5.4 The while Statement
Infinite Loops
Nested Loops
5.5 Iterators
5.6 The ArrayList Class
5.7 Determining Event Sources
5.8 Check Boxes and Radio Buttons
Unit 6 More Conditionals and Loops
6.1 The switch Statement
6.2 The Conditional Operator
6.3 The do Statement
6.4 The for Statement
The for-each Loop
Comparing Loops
6.5 Drawing with Loops and Conditionals
n 6.6 Dialog Boxes
Unit 7 Object-Oriented Design
7.1 Software Development Activities
7.2 Identifying Classes and Objects
Assigning Responsibilities
7.3 Static Class Members
Static Variables
Static Methods
7.4 Class Relationships
Dependency
Dependencies Among Objects
of the Same Class
Aggregation
The this Reference
7.5 Interfaces
The Comparable Interface
The Iterator Interface
7.6 Enumerated Types Revisited
7.7 Method Design
Method Decomposition
Method Parameters Revisited
7.8 Method Overloading
7.9 Testing
Reviews
Defect Testing
7.10 GUI Design
7.11 Layout Managers
Flow Layout
Border Layout
Grid Layout
Box Layout
7.12 Borders
7.13 Containment Hierarchies
Unit 8 Arrays 379
8.1 Array Elements
8.2 Declaring and Using Arrays
Bounds Checking
Alternate Array Syntax
Initializer Lists
Arrays as Parameters
8.3 Arrays of Objects
8.4 Command-Line Arguments
8.5 Variable Length Parameter Lists
8.6 Two-Dimensional Arrays
Multidimensional Arrays
8.7 Polygons and Polylines
The Polygon Class
8.8 Mouse Events
8.9 Key Events
Unit 9 Inheritance
9.1 Creating Subclasses
The protected Modifier
The super Reference
Multiple Inheritance
9.2 Overriding Methods
Shadowing Variables
9.3 Class Hierarchies
The Object Class
Abstract Classes
Interface Hierarchies
9.4 Visibility
9.5 Designing for Inheritance
Restricting Inheritance
9.6 The Component Class Hierarchy
9.7 Extending Adapter Classes
9.8 The Timer Class
Unit 10 Polymorphism
10.1 Late Binding
10.2 Polymorphism via Inheritance
10.3 Polymorphism via Interfaces
10.4 Sorting
Selection Sort
Insertion Sort
Comparing Sorts
10.5 Searching
Linear Search
Binary Search
Comparing Searches
10.6 Designing for Polymorphism
10.7 Event Processing
10.8 File Choosers
10.9 Color Choosers
10.10 Sliders
Unit 11 Exceptions
11.1 Exception Handling
11.2 Uncaught Exceptions
11.3 The try-catch Statement
The finally Clause
11.4 Exception Propagation
11.5 The Exception Class Hierarchy
Checked and Unchecked Exceptions
11.6 I/O Exceptions
11.7 Tool Tips and Mnemonics
11.8 Combo Boxes
11.9 Scroll Panes
11.10 Split Panes
Unit 12 Recursion 583
12.1 Recursive Thinking
Infinite Recursion
Recursion in Math
12.2 Recursive Programming
Recursion vs. Iteration
Direct vs. Indirect Recursion
12.3 Using Recursion
Traversing a Maze
The Towers of Hanoi
12.4 Recursion in Graphics
Tiled Pictures
Fractals
Unit 13 Collections
13.1 Collections and Data Structures
Separating Interface from Implementation
13.2 Dynamic Representations
Dynamic Structures
A Dynamically Linked List
Other Dynamic List Representations
13.3 Linear Data Structures
Queues
Stacks
13.4 Non-Linear Data Structures
Trees
Graphs
13.5 The Java Collections API
Generics
COLLEGE BOARD MANDATED GRADING:
Labs – 10%
Classwork/Homework/Warmups – 20%
Assessments – 40%
Seasonal Packets and Projects - 30%
Additional Course Resources:
Java Software Solutions for AP Computer Science A, J. Lewis, W. Loftus, and C.
Cocking 2ndEdition, 2007, Prentice Hall
Be Prepared for the AP Computer Science Exam in Java, M. Litvin, 3rdEdition, 2008,
Skylit Publishing
AP Gridworld Case Study
http://www.allstudentscanlearn.org – Ms. White”s website and blog. A password
protected area will contain documents for download by students.
http://java.sun.com/javase/downloads/index/jsp – Sun”s website to download the latest
Java resources
Student•fs Signature_______________________________________________
Parent/Guardian Signature_________________________________________
Parent/Guardian Email Address__________________________________
Download