ap computer science a

7

Click here to load reader

Upload: marilou-pagarigan

Post on 23-Mar-2016

217 views

Category:

Documents


1 download

DESCRIPTION

Created by Marilou P and approve by the collegeboard

TRANSCRIPT

Page 1: AP Computer Science A

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

Page 2: AP Computer Science A

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

Page 3: AP Computer Science A

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

Page 4: AP Computer Science A

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

Page 5: AP Computer Science A

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

Page 6: AP Computer Science A

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

Page 7: AP Computer Science A

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