(This course can be taken alone or in conjunction with Computer Science Principles, which is offered July 24-27) 
Reg Hahne
Starting his teaching career in Australia, Reg Hahne immigrated to America and continued his career in the Howard County Public School System in Maryland, where he retired in 2013. He now shares his expertise continuing as a consultant to the College Board* and the Howard County Public School System. With 37 years' experience as a classroom teacher, Reg's expertise covers the gamut of instructional levels and disciplines from kindergarten through college. Reg has been an AP* reader and College Board* consultant for over a decade. He was also a member of the AP* Computer Science Development Committee from 2002 to 2006.
AP* Seminars Silicon Valley 2019 
Advanced Placement Computer Science A
This course will provide an overview of the content and structure of the AP Computer Science A (AP CSA) curricula. Teachers will focus on object-oriented programming methodology, with emphasis on problem solving and algorithm development. Participants will explore how the development and analysis of standard algorithms and the use of fundamental data structures within the AP CSA framework can support their classroom instruction in preparing their students for the AP CSA exam. Focus also will be placed on both multiple-choice and free-response aspects of the exam, including the introduction of Magpie, Picture and Elevens, the newest lab components to support hands-on lab experiences. It is advisable that participants be familiar with Java.

Course Objectives

• Develop object-oriented programming methodology consistent with AP* CSA curricula
• Develop an understanding of the selection of fundamental data structures and algorithms in a problem
solving environment
• Become conversant with AP* CSA grading mechanisms
• Develop an understanding of Magpie, Picture and Elevens Labs in respect to their application as a
vehicle of learning for the AP* CSA curriculum
Day 2
• Picture Lab
• Activity 1 – 4
• Class Definitions
• Encapsulation
• Method Declarations
• Method Invocation and Parameter Passing
• Method Overloading
• Object Relationships
• Reference aliases
• Object References – Passing as Parameters
• Array Definition (1D Arrays)
• Passing Arrays as Parameters
• List Interface
• ArrayList Class
• Sequential and Binary Search
• Class Hierarchies
• Class Relationships
• Assignments
• Self-Adjusting Lists (for us to do)
• Bowlarama
• Deletions (E/H)
• Pick Me
• Road Race
• Sum of Pairs
• Triangles: Getting to the Point
• Coding Self-Adjusting Lists
• A look at our resources
• Open Session
•Work on various assignments
Course Syllabus
Day 1
• Introductions
• Magpie Lab
• Activity 2 - 4
• Introduction to Algorithms 
• Input/Output
• Arithmetic Operators
• Primitive Data Types
• Variable Declaration
• Object Use
• Math, Random and String Classes
• if Statements
• Decision Making
• While Statements
• for and for each Statements
• Strings
• Assignments
• ACSLland – A journey into OOP
• Alphabet Distances
• Brilliant Numbers
• Eleven Rules
•Farmer Ryan
• Get It Into Gear
• Golf (easy/medium)
• Next Prime
• Palindrama
• Palindromic Numbers
• Pension
• Special Words
• String Transformations
• Wild Character
• Grading the AP* Exam
• A look at the 2018 A Free Response
• Open Session
• Work on various assignments
Day 3

• Grading the AP Exam
• A look at the 2018 A Free Response
• Elevens
• Activity 1 – 4, 9
• Generic Classes
• Wrapper, Autoboxing and the enhanced for loop (again)
• Common Array Algorithms
                 – traversals, insertions, deletions, iterators
• Abstract Classes
• Subclass Design and Modification
• Interfaces – Comparable and Iterator
• Recursive methods
• Appropriate uses of Recursion
• Relationship between recursion and iteration
• Recursion and Efficiency
• 2D Arrays
• Sorting (Selection, Insertion and Mergesort)
• Class interaction, Interfaces and Inheritance

Day 3 (Continued)
• Assignments
• Binary Time Method
• Hanjie
• Mowing
• Number Please
• Old MacDonald
• Pinewood Derby
• Scrabble
• Summit
• Time2 +- Time2
• Tumor Detection
Day 4
• Best Practices
• Resources (again)
• Exam hints
• Committee organization
• Principles (a quick look)
• Material organization