ap computer science a
DESCRIPTION
Created by Marilou P and approve by the collegeboardTRANSCRIPT
Subject: AP COMPUTER SCIENCE A syllabus 2010
COURSE OVERVIEW This course allows students to investigate the math and logic of computers, explore the basic and advanced features of software development, and understand the concepts of object oriented paradigm using the Java programming language. The course also intends to lead students to gain familiarity of using the AP CS Java Subset particularly the Java language features and the library methods outlined in the Java API. At the end of the course study, students are expected to demonstrate mastery of skills in programming and problem solving using the Java language. Since this is offered on its first year, students’ background knowledge and skills in computing will be analyzed to determine the appropriate phasing in covering the course content. With the right attitude and work ethic, I believe students who intend to study this course will achieve their maximum potential. Students will be engaged in critical thinking exercises, problem solving, and program analysis as the program progresses. This syllabus outlines and covers the theories, concepts and skills described in the AP Computer Science A guide. MAJOR TEXTS Beth Brown, A Guide to Programming in Java, Java 2 Platform Standard Edition 5, Lawrenceville Press (2005) Andrew Meyenn and Richard Jones, Computer Science Enabled 2nd Edition, 2004 College Board. AP GridWorld Case Study. New York: College Entrance Examination Board, 2006. Alice and Alice Publications http://www.alice.org/index.php http://www.alice.org/index.php?page=publications/publications
Revised November 2010 Page 1 of 7
Subject: AP COMPUTER SCIENCE A syllabus 2010
Time CONTENT/TOPICS OBJECTIVES TEACHING/ASSESSMENT ACTIVITIES,
References and Assignments
1.5 wks 1 wk 1 wk
I. Introduction to Computers
• Desktop Computing
• Operating Systems and Environment
• Programming Languages
• Networks
• Number Systems
• Input, Output and storage Devices
• Intranet, Extranet, Internet
• Internet Privacy Issues
• Protecting Computer Software and Data
II. Applets and Web Programming
• The World Wide Web
• Creating an HTML Document
• JavaScript
• Creating Java Applets
• Style Sheets
III. Introduction to Java • Objects, Classes, and Packages
• Executing a Java Application
• Displaying Output
• Formatting Output
• Code Conventions
• Algorithm Design
• Compare and contrast the functions of various input, output, and
storage devices.
• Demonstrate knowledge of operating systems.
• Differentiate the levels of programming languages.
• Describe communication and networking components.
• Demonstrate skills in converting binary, hexadecimal, decimal number
systems.
• Discuss social and ethical issues associated with computer use.
• Discuss the impact of programming on the World Wide Web
community.
• Create HTML documents.
• Use JavaScript to demonstrate how scripts can enhance a website.
• Create simple Java applets.
• Apply a style sheet to an HTML document.
• Define terminology associated with object‐oriented programming.
• Create Java applications.
• Describe the process involved in executing a
• Java application.
• Display and format program output.
• Annotate code properly with comments, formatting, and indentation.
• Explain the importance of using code conventions.
• Demonstrate algorithm design as a problem‐solving strategy
Beth Brown, A Guide to Programming in Java, Java 2 Platform Standard edition 5 Applies to all chapters:
• Lecture and Discussions (Teacher led or Group) for all chapters
Chapter 1 – Introduction to Computers 1. Review Questions and Exercises – students answer a
number of questions and do some exercises on networks and operating systems.
Chapter 2 – Applets and Web Programming 1. Lecture and Group Discussions – On the significant
impact of the World Wide Web and a brainstorm on the use of some specific web applications
2. Exercises on creating basic web applets and basic JavaScript codes and applications
Chapter 3 – Introduction to Java 1. Students are introduced to the Java Programming
Language through detailed lectures, discussions and demonstration.
2. Students work on basic programming problems and made to answer a set of Critical Thinking questions at the end of the chapter.
Revised November 2010 Page 2 of 7
Subject: AP COMPUTER SCIENCE A syllabus 2010
1.5 wks 2 wks 2 wks
IV. Variables and Constants • Declaring Variables
• Understanding Data Types
• Java Packages
• Obtaining a Value from the User
• Type Casting
• Formatting Numeric Output
• Assignment Statements
• Identifiers and Keywords
• Programming Errors
V. Conditional Control Structure • The if Statement
• Nested Statements
• The if‐else if Statement
• The switch Statement
• Generating Random Numbers
• Compound Boolean Expressions
• The Math Class
VI. Loop Structures and Strings • The while Statement
• The do‐while Statement
• Infinite Loops
• Counters and Accumulators
• The for Statement
• Debugging Techniques
• The String Class
• Comparing Strings
• Declare and initialize variables and constants using the appropriate
data type.
• Differentiate between primitive and abstract data types.
• Apply type casting.
• Format numeric output.
• Understand run‐time exceptions.
• Read and understand a problem description, purpose, and goals.
• Demonstrate skills in using of decision structures to control the flow
of a program.
• Generate random numbers.
• Write compound Boolean expressions.
• Develop code with correct and efficient use of conditional control
structures.
• Select appropriate test data.
• Create and modify solutions to problems.
• Demonstrate the use of repetition control structures.
• Explain how infinite loops can occur.
• Differentiate between counters and accumulators.
• Use various tools and techniques to debug an application.
• Manipulate and compare strings using the String class and its
methods.
• Develop code with correct and efficient use of repetitive control
structures.
• Apply problem solving strategies
Activities that apply to all chapters • Lecture and Discussions (Teacher led or Group) • Reviews (Solving Programming Problems) after
each topic. • Critical Thinking Questions and Programming
Exercises at every end of the chapter.
Chapter 4 – Variables and Constants Chapter Case Study: BirthdayGame Application – Students analyze and investigate the algorithm of the program, the use of java.util package
Chapter 5 – Conditional Control Structure Chapter Case Study –RockPaperScissors‐Analyze and investigate the use of the Random Class, Math Class and etc.
Chapter 6 – Loop Structures And Strings Chapter Case Study: WordGuess – Analyze and Investigate the use of looping structures, different debugging techniques and the methods of the String Class
Revised November 2010 Page 3 of 7
Subject: AP COMPUTER SCIENCE A syllabus 2010
CONTENT/TOPICS OBJECTIVES TEACHING/ASSESSMENT ACTIVITIES
References and Assignments
2 wks 2 wks
VII. Methods
• Program Development Using
• Methods Writing Methods
• Method Parameters
• The return Statement
• Documenting Methods
VIII. Classes and Object Oriented
Development
• What is an Object?
• Designing and Writing a Class
• Writing Constructors
• Instance and Class Members
• The Object Class
• Classes Using Classes
• Object‐Oriented Development
• Use top‐down development and procedural abstraction to develop
problem solutions.
• Write methods.
• Use method parameters.
• Write appropriate method documentation, including pre‐ and post‐
conditions.
• Identify boundary cases and generate appropriate test data.
• Describe code conventions that apply to methods.
• Understand and instantiate objects.
• Design and implement a class.
• Apply functional decomposition.
• Apply appropriate naming conventions to a class.
• Explain the difference between accessor, modifier, and helper
methods.
• Write constructors
• Compare and contrast instance and class members.
• Understand class specifications and the relationships among the
classes.
• Understand and implement a given class hierarchy.
• Apply encapsulation.
• Identify reusable code from existing code.
Activities that apply to all chapters • Lecture and Discussions (Teacher led or Group) • Reviews (Solving Programming Problems) after
each topic. • Critical Thinking Questions and Programming
Exercises at every end of the chapter.
Chapter 7 – Methods Chapter Case Study: GradeConverter – Students Analyze and Investigate the use of Methods, Parameters and return statement in a program.
Chapter 8 – Classes and Object‐Oriented Development Chapter Case Study: Modified RockPaperScissors – Analyze and Investigate how object oriented development is shown in the application
Revised November 2010 Page 4 of 7
Subject: AP COMPUTER SCIENCE A syllabus 2010
2 wks 2 wks 2 wks
IX. Inheritance and Polymorphism
• Extending a Class
• Implementing a Subclass
• Polymorphism
• Abstract Classes
• Interfaces
Introduction to the GridWorld
Case Study (Part 1 and 2)
X. Arrays • Declaring Arrays • Using Arrays • Array Parameters
• Characters and Arrays • Searching an Array • Two‐Dimensional Arrays
• The ArrayList Class • Wrapper Classes
• Extend a class using inheritance.
• Explain the is‐a relationship.
• Implement a subclass.
• Define and demonstrate polymorphism in a program.
• Understand abstract classes.
• Declare and implement an interface.
• Extend existing code using inheritance.
• Create projects and run the GridWorld Application • Black Box Testing • Test and Debug the program (different possible bugs) • Describe types of problems that benefit from the use of arrays.
• Create one and two dimensional arrays.
• Include array parameters in a method declaration.
• Understand how to implement arrays with meaningful indexes.
• Apply offset array indexes.
• Manipulate characters in a string.
• Understand the digital code, Unicode.
• Apply search algorithms to an array.
• Use methods in the ArrayList class.
• Demonstrate the use of the Wrapper classes.
A. Beth Brown, A Guide to Programming in Java, Java 2 Platform Standard edition 5
B. College Board. AP GridWorld Case Study. New York: College Entrance Examination Board, 2006.
Activities that apply to all chapters • Lecture and Discussions (Teacher led or Group)
for all chapters) • Reviews (Solving Programming Problems) after
each topic. • Critical Thinking Questions and Programming
Exercises at every end of the chapter.
Chapter 9 – Inheritance and Polymorphism (Analyzing SalesCenter Case Study– Students Investigate the concepts of Extending Classes, Abstract Classes and Polymorphism in a bigger program. The GridWorld Case Study
1. Synthesizing Objects and Classes from a bigger program
2. Debugging and testing a program built in different classes and objects
Chapter 10 ‐ Arrays LocalBank Case Study –Students Analyze how arrays work in a program (arrays, two‐dimensional arrays and Arraylist) and testing the program with array searching .
Revised November 2010 Page 5 of 7
Subject: AP COMPUTER SCIENCE A syllabus 2010
1.5 wks 1.5 wks 1.5 wks 2 wks
The GridWorld Case Study (Part 3 and 4)
XI. GUIs, Event‐Driven Programming and 3D
Programming • The GUI • Handling Events • Controlling Layout • Getting Input from the User • Combo Boxes • Changing Colors • Nested Classes to Handle Events
XII. Files and Exception Handling • File Classes • Handling Exceptions • The File Streams • File Writer and Buffered Writer Classes • Processing Numeric Data • Object Serialization
XIII. Recursion and Advance Algorithms • Selection Sort • Sorting Objects • Insertion Sort • Recursion • Mergesort • Binary Search • Depth‐First Searching
Review of The GridWorld Case Study Part 3‐4
• Test and analyze objects, classes and methods in the GridWorld program
• Design Similar Classes based on the material presented in the program
• Design graphical user interfaces.
• Use component classes in the Java swing package.
• Create event‐driven applications.
• Control the layout of an interface using layout managers.
• Use text fields and combo boxes to obtain user input.
• Apply color and add images to an interface.
• Create 3D Applications • Use the File class to create objects that represent a file.
• Write exception handlers.
• Understand file streams.
• Read the contents of an existing file.
• Process numeric data.
• Create an output file stream. • Explain the object serialization and de‐serialization processes.
• Implement the selection sort algorithms.
• Sort objects using the Comparable interface.
• Implement the insertion sort algorithm.
• Define and demonstrate recursion.
• Implement the mergesort algorithm.
• Implement the binary search algorithm.
• Explain the recursive technique, depth‐first searching.
• Analyze algorithms for efficiency. • Design and document sequential search algorithms.
The GridWorld Case Study –
1. Testing the program 2. Further analyze the objects, classes and
methods used in the application
Chapter 11 – GUIs and Event‐Driven Programming BreakAPlate Case Study– Students analyze how events are handled in applications with GUIs. Investigate on some 3D programming concepts and applications in http://www.alice.org/index.php Chapter 12 – Files and Exception Handling LocalBank Part II Case Study –Students analyze the advanced features and functions of using (arrays, two‐dimensional arrays and Arraylist) and testing the program with array searching .
Chapter 13 – Recursion and Advance Algorithms Students will work on algorithm analysis using the GridWorld Casetudy and DetectColonies program.
Revised November 2010 Page 6 of 7
Revised November 2010 Page 7 of 7
Subject: AP COMPUTER SCIENCE A syllabus 2010
1.5 wks 2.5 wks
XIV. Data Structures • Stack Data Structure • Stack Class • Queue Data Structure • Queue Class • Linked List Data Structure • Linked List Class Exam Review
• Explain how data structures, such as stacks and queues, can be used
to organize data. • Use and implement well known data structures. • Describe standard operations associated with data structures. • Choose appropriate data structures. • Differentiate between a LIFO and FIFO structure. • Answer some exam questions from (Old AP Exams) • Review different Case studies while giving special focus on the
GridWorld Case Study
Chapter 14 – Data Structures Students further investigate how data structures organize data. Students have the final review of the GridWorld CaseStudy