Topic: Introducing Java Chapters: Weeks:

advertisement
AP® Computer Science A
Syllabus
Overview of AP® Computer Science A
Texts
Litvin, Maria and Litvin, Gary. Java Methods: Object Oriented
Programming and Data Structures. Skylight Publishing, 2011.
http://www.skylight.com
AP Computer Science “A” – Java
Course Objectives:










Understand the main principles of object-oriented software design and
programming
Learn to code fluently in Java in a well-structured fashion and in good style; learn
to pay attention to code clarity and documentation
Learn to use Java library packages and classes within the scope of the AP/A Java
subset
Understand the concept of an algorithm; implement algorithms in Java using
conditional and iterative control structures and recursion
Learn common sorting and searching algorithms: Sequential Search and Binary
Search, and Selection Sort, Insertion Sort, and Mergesort
Understand one- and two-dimensional arrays and the ArrayList class
Acquire skills in designing object-oriented software solutions to problems from
various application areas
Discuss ethical and social issues related to the use of computers
Experience over 100 hours of lab work including AP Comp. Sci. labs
Prepare for the A-level AP exam in computer science.
Teaching Strategies:
The course is taught in a manner which embodies the ideals behind the creation of AP
courses. Students are encouraged to explore and discover concepts beyond the basic
objectives of the course. Students are given projects which can be enhanced and
developed to any extent the student pleases past the scope of the teacher’s requirements.
Therefore, the course provides students of any ability a rewarding experience.
Exceptional students will be challenged and non-traditional computer science students
will be afforded the opportunity to learn abstract concepts in an applied setting. Spiral
learning is integrated into the program by assigning students applications which require
the use of any previously learned skills. There is a general time line for each chapter but
many of the concepts are applied throughout the entirety of the course. Each topic is
presented in a similar format. Students will preview the material through reading their
text and outlining important content. Each topic will include a teacher directed coding
sample similar to their assignment related topic. Each chapter of their text has exercises
which will be teacher selected and assigned. Each chapter will also have labs which will
be longer in nature than the sort exercises of the text. Many of the labs will be coded and
then modified throughout the course. Students will complete individual learning labs and
be a part of cooperative work groups. The AP lab components of Magpie, Picturelabs,
and Elevenlabs will be completed at the appropriate times within the class year. Students
will become familiar with the libraries and objects as the course progresses. The “black
box” approach will be used through-out the entirety of the course. The fundamental
theme for the entire course is to understand how objects communicate with each other.
The course is taught in a lab setting where students can program on a daily basis which is
necessary for the development of advanced programming skills. Every topic or chapter
will have a written exam. Exams may consist of multiple choice, true or false, short
answer or writing code by hand. The ultimate goal of the course is preparation for the
Computer Science A-level exam. However the course is not considered to be complete at
the time of the AP exam. After the AP exam, students will program a major project
which will represent the accumulation of their skills. All course content is in alignment
with the AP computer science, computer science teachers association and common core
standards. As an appendix in this syllabus, the computer science standards are mapped to
the common core standards.
Syllabus- General Time Line
General Topic
Intro to Java
Data Types, Calculations
Decisions and Conditions
Iterative Statements
Implementing Classes
Strings
Class Hierarchies
Arrays and Array List
Searching and Sorting
Graphics
GUI Components
Images
Magpie Lab
PictureLab
ElevensLabs
Review
Final Project
Chapter
1,2,3,4,5
6
7
8
9
10
11
12
13
15
16
17
7
12
Week of School Year
1-5
6-7
8-9
10-12
1-Final Exam
18-22
18-22
13-18
19-22
8-Final Exam
1-Final Exam
8-Final Exam
8-9
13-18
Throughout course
28-30
31- Final Exam
Course Organization: Organized by topics
Topic: Introducing Java
Course Planner:
Chapters: 1, 2, 3, 4, 5
C4, C5, C6, C8 (see Appendix)
Objectives:
 Hardware Overview
 Software design overview
 Representation of Information in Computer Memory
 Recognizing the strengths of the Java programming language
 Understanding the uses of Java for applets and applications
 Use the import statement to incorporated Java Packages
 Classes and objects
 Creating the Applet Class
 Using comments to document code
 Declare and add components to an interface
 Running and Applet
 Locate and correct errors in Java applet.
 Planning a project
 Properties of Algorithms
 Iterations
 Recursion
Assignments/Labs
Outline Chapters 1, 2, 3, 4, 5
Selected exercises from each chapter- text provided problems
Hello-World
Mailing Label Program
Organizing components in a grid Layout
Topic: Data Types, Variables and Constants Chapter: 6
Course Planner:
C6, C8
Objectives:
 Reserved Words
 Declaring Fields and Local Variables
 Primitive Data Types
 Scope of Variables
 Assignment Operators
 Use multiple forms of constructors
 Add buttons and text fields to an interface





Use variables to store information
Input data into a text field
Display multiple lines of output in a text Area
Capture user actions with a listener
Add event handling for a button and a text field
Assignments/Labs
Outline Chapter 6
Selected exercises from chapter 6- text provided problems
Payroll Applet
Body Mass Index
Car Rental
Topic: Performing Calculations
Chapter: 6
Course Planner: C6, C8
Objectives:
 Perform calculations using the arithmetic operators
 Calculate and assign the result using assignment operators
 Add and subtract using the increment and decrement operators
 Perform multiple calculations correctly based on the precedence of operators
 Braces and blocks
 Retrieve string data from the screen and convert to numeric for calculations
 Convert between data types both implicitly and explicitly
 Format output
 Catch input and calculation errors by using exception handling.
 Declare variables based on the numeric wrapper classes and perform operations
using the methods of the classes
Assignments/Labs
Selected exercises from chapter 6- text provided problems
Payroll Applet
Body Mass Index
Car Rental
Book Sales Program
Leap Year Program
Test Score Program
Topic: Creating Classes, OOP Concepts and Design Chapters: 3, 11
Course Planner: C6, C8
Objectives:
 Understand more thoroughly the characteristics of object-oriented programming
 Know when to appropriately use public and private variables and methods
 Creating Classes




Writing Methods that return values and accept input values
Inheritance and class hierarchies
Encapsulation and Information Hiding
Polymorphism
Assignments/Labs
Outline Chapters 3, 11
Selected exercises from each chapter- text provided problems
Payroll Applet
Body Mass Index
Car Rental
Book Sales Program
Leap Year Program
Interest Applet /Lab
Test Score Program
T-Shirt program
Dice program
Topic: Decisions and Conditions
Course Planner:
Chapter: 7
C5
Objectives:
 Use if-else statements to control the flow of logic
 Boolean Expressions
 Understand and use nested ifs
 Evaluate conditions using the relational operators
 Combine conditions using the logical operators
 Perform validation on numeric fields
 Understand the precedence and relationship of assignment, arithmetic, logical and
relational operators.
 Short-Circuit Evaluation
 Switch statement
Assignments/Labs
AP Magpie computer science labs – minimum 4hours labs
Outline Chapter 7
Selected exercises from chapter 7- text provided problems
Truth Table Assignment
Dice program
Craps Program
N! Program
Topic: Iterative Statements
Course Planner:
Objectives:
C4, C5
Chapter: 8








Create program loops using do, while, and for statements
Use the increment and decrement operators
Break and return in loops
Detect and correct common errors with iterative statements
Creating task controlled loops
Nested loops
Preventing infinite loops
Logic errors in loops
Assignments/Labs
Outline Chapter 8
Selected exercises from chapter 8- text provided problems
T-Shirt program
Dice program
Craps Program
N! Program
Shapes Program
Topic: Arrays and ArrayLists
Chapter: 12
Course Planner: C3, C4, C5, C6
Objectives:
 One-dimensional arrays
 Establish an array of variables and refer to individual elements in the array with
variable subscripts
 Use a “for” loop to step through an array.
 Use a loop to look up a matching value in an array.
 Accumulate totals using array elements.
 Store data in multi-dimensional arrays.
 Create and use and array of objects
 The ArrayList Class
 ArrayList’s Constructors and Methods
Assignments/Labs
AP Picturelabs computer science labs – minimum 6 hours labs
Outline Chapter 12
Selected exercises from chapter 12- text provided problems
Histogram with test scores
Test Score Program re-done with Arrays
Aquarium Simulation 1-D
Tic-Tac-Toe 2-D
Aquarium Simulation 2-D
Knight’s Tour
String Program using string methods
Black Jack
Chess
Topic: Searching, Sorting and other Array algorithms
Course Planner: C3, C4, C5, C6
Objectives:
 Sequential and Binary Search
 Inserting a new element into an array
 Selection sort
 Insertion sort
 Mergesort
Assignments/Labs
Outline Chapter 13
Selected exercises from chapter 13- text provided problems
Palindrome sort
Fruit and vegetable merge and sort
Mailing Label Sort
Topic: Multimedia in Java
Chapter: 15
Course Planner: C3, C6
Objectives:
 Load an image file into a project
 Create animation using multiple images and moving images
 Paint, paintComponent, repaint
 Coordinates
 Colors
 Drawing Shapes
 Keyboard Events
Assignments/Labs
Outline Chapter 15
Selected exercises from chapter 15- text provided problems
Slot Machine
Aquarium Simulation
Chess
Ball Bounce
Tank
Final Project Video Game
Topic: Interfaces
Chapter: 11
Course Planner: C3, C4, C5
Chapter: 13
Objectives:
 Using interfaces
 Intercommunicating Object
 Inheritance
 Creating interfaces
Assignments/Labs
Outline Chapter 11
Selected exercises from chapter 11- text provided problems
Bouncing Ball Program
Appendix A Course Planner
C2— The course includes all of the topics listed in the “Computer Science A” column of the Topic Outline in the AP
Computer Science Course Description
C3— The course teaches students to design and implement computer-based solutions to problems in a variety of
application areas.
C4— The course teaches students to use and implement commonly used algorithms and data structures.
C5— The course teaches students to develop and select appropriate algorithms and data structures to solve problems.
C6 - The course teaches students to code fluently in an object-oriented paradigm using the programming language Java.
The course teaches students to use standard Java library classes from the AP Java subset delineated in Appendices A
and B of the AP Computer Science Course Description. (Note: Students who study a language other than Java in AP
Computer Science must also be taught to use Java, as specified in the AP Java subset.)
C7— The course teaches students to read and understand a large program consisting of several classes and interacting
objects, and enables students to read and understand the current AP Computer Science Case Study posted on AP
Central®.
C8— The course teaches students to identify the major hardware and software components of a computer system, their
relationship to one another, and the roles of these components within the system.
C9— The course teaches students to recognize the ethical and social implications of computer use.
Download