"I not only use all the brains that I have, but all that I can borrow."
- Woodrow Wilson
  1. Introduction (interview your neighbor)
    1. Name
    2. School (name/location of school)
    3. How long have you taught? Subject(s) taught?
    4. Goal(s) for the workshop?
    5. Your favorite food?
  2. Download for the week...
    1. Greenfoot download
  3. Administrative Items
    1. Daily Schedule (start/end, breaks, lunch)
    2. Daily sign-in sheet
    3. Certificates (reduced hour certificates if necessary)
    4. College credit/units
    5. Parking
    6. Restrooms
    7. Books from publishers (sets and singletons)
    8. Handouts - AP FRQs and Sample Exam Questions+Rubrics
    9. Laptops/WiFi
    10. Sharing files via Dropbox
    11. Questions/sharing ideas
  4. What do we want to teach? - Seinfeld says...
  5. Intelligence Model ("Crystallized" and "Fluid" Intelligence)
  6. Let's start here...
    1. APCentral (course home pages, exam questions, and more!)
      1. What's new for APCS in 2016 and beyond...
        1. New AP API Quick Reference (what students get during the exam)
        2. New Released APCS MC Exam (1 hr 30 min as of May 2016 exam)
        3. AP Audit
          1. Attest to knowledge of AP Labs and download AP Labs (from audit site), OR
          2. Resubmit Audit Syllabus (can "adopt" a colleague's syllabus - minor changes are OK)
      2. AP Audit Online
      3. AP Teacher Community (EDG) (login using AP Audit username/password)
      4. Advances in AP
      5. AP Report to the Nation
      6. AP Credit Policy Who gives AP Credit?
      7. Equity in AP...
        1. Equity Issues in Computer Science
        2. Raising Awareness
    2. Why study Computer Science?
    3. Project 2020: A study on the future of Computational Science
  7. Teaching Methodologies / Strategies
“I hear, I know. I see, I remember. I do, I understand.”
- Confucius
  1. Why is "x" the unknown variable?
  2. "Pick Six" (The 6 Big Ideas)
    1. Fundamentals
    2. Class Design
    3. Class Methods (algorithms)
    4. Class Composition
    5. Inheritance (featuring Abstract Classes/Interfaces)
    6. 2D Arrays
  3. Starting Greenfoot
  4. Big Idea 1: The Fundamentals  (blank) (HW Set 1)
    1. Example Program 1 (primitives: int, double, boolean & class String)
    2. Strings and the "new" operator
      1. "lew" recommends "new"
      2. It reinforces that String is an object
      3. It reinforces that String has methods (API) that can be used
    3. "How low can you go..?" Testing the bounds of primitives and the "clock effect"
    4. if statements and the "password program"
    5. for loops
    6. 1D Array[] of ints
    7. 1D Array[] of Strings
    8. Budget Array Manipulatives
  5. Big Idea 2: The Class Model  (blank) (HW Set 2)
    1. The "MySong" class
    2. The "Big 3" - instance variables, constructors (initialArtist, initialTitle), toString()
    3. The "Dynamic Duo" (getter and setter methods)
  6. Example Program 1: MySong class with one/multi-arg constructor (artist = initialArtist)
  7. Example Program 2: MySong with getters/setters (artist = newArtist)
  8. Example Program 3: MySong with toString()
  9. Checkpoint 1: Mid-October
    1. Primitives: int, double, boolean
    2. Class String
    3. if statements/for loops
    4. Relational Operators (>,<, >=, <=, ==, !=)
    5. Boolean Operators (&&, || )
    6. 1D Arrays (declaration and traversal)
    7. The "Class Model"

“An expert is a person who has made all the mistakes that can made in a very narrow field.”
- Niels Bohr, Danish Physicist and Nobel Prize winner
  1. Algorithms at work: Filtering Bubbles
  2. Big Idea 3: The Class Method Model  (blank) (HW Set 3)
  3. MySong Example (minutes & seconds to totalSeconds)
  4. AP Exam Question: 2010 FRQ2 - "APLine" (Class Design)
  5. Teaching point: What instance variables do we really need?
  6. "Where's Waldo?" Where's the class design error?
  7. The AP Exam
  8. APCS Exam Index (pdf)   (xls)
  9. AP Exams 1999-2016
  10. AP Score Breakpoints
  11. APCS Excel-based Grading Rubrics (.zip)
  12. AP Grading Scale Converter (pdf)   (xls)
  13. AP Lab 1: Magpie: Strings and Algorithms: conditionals/iteration
    (see gotJava link at bottom of page)
  14. Activity 1: Getting acquainted with Chatbots
    Activity 2: Introduction to the Magpie Class
    Activity 3: Better Keyword Detection
    Activity 4: Responses that Transform Statements
    Activity 5: Arrays and the Magpie
  15. Algorithmic Programming ideas: Project Euler
  16. Algorithmic Programming ideas: Project Rosalind
  17. "Nine Algorithms That Changed The Future"
  18. Big Idea 4: The Class Composition Model  (blank) (HW Set 4)
  19. ArrayLists
    1. Creating ArrayLists of Strings
    2. Introduce "for-each" loops
    3. ArrayLists and the "for loop removal problem"
  20. MySong with Arrays and ArrayLists
    1. Arrays of MySongs
    2. ArrayList of MySongs
    3. MyPod of MySongs
  21. AP Exam Question: 2015 FRQ3 - "SparseArray" (Class Composition)
"The first 90% of code is responsible for the first 90% of debugging, the last 10% of code is responsible for the other 90% of debugging"
- Unknown
  1. Big Idea 5: Inheritance and Abstract Classes
  2. The next model: The "Inheritance Model"  (blank)
  3. Inheritance Project Progression (  (
  4. Key Teaching Points
    1. "factor out" common elements
    2. "extends", "super()", "super.methodCall()"
    3. Constructor call order (top-down)
    4. Method call order (bottom - up)
    5. Subclasses must pass "is-a" test (MyDevices progression)
    6. Abstract Classes (classes that act as "placeholders" in the inheritance hierarchy)
    7. Polymorphism (reference to a subclass object using a superclass reference)
    8. Key teaching point: Concrete class, abstract classes, AND interfaces can be used as object references, argument types for methods, and return types for methods!
    9. Class Composition("has-a"), Inheritance("is-a"), Interface ("does-a")
  5. Checkpoint 2: Mid-December
    1. Class Composition
    2. Inheritance
    3. Abstract Classes
    4. Interfaces
    5. Polymorphism
    6. Project Proposals

“Only those who are asleep make no mistakes”
- Ingvar Kamprad, founder of IKEA, world’s largest furniture brand
  1. AP Exam Question: 2014 FRQ4 - "MenuItem" (Interfaces)
  2. AP Lab 3: Elevens: Inheritance and Abstract Classes
  3. (see gotJava link at bottom of page) Activity 1: Design and create Card Class
    Activity 2: Initial Design of a Deck Class
    Activity 3: Shuffling Cards in a Deck
    Activity 4: Adding a Shuffle method to the Deck Class
    Activity 5: Testing with Assertions (optional)
    Activity 6: Playing Elevens
    Activity 7: Elevens Board Class Design
    Activity 8: Using an Abstract Board Class
    Activity 9: Implementing the Elevens Board
    Activity 10: Thirteens Board (optional)
    Activity 11: Simulation of Elevens (optional)
“Perfection is not when there is no more to add, but no more to take away.”
- Antione De Saint-Exupery, pioneer of international postal flight and author of Le Petit Prince (The Little Prince)
  1. Aussie School Voicemail...
  2. Big Idea 6: 2D Arrays (HW Set 6)
  3. The 2D Array Model  (blank) (HW Set 6)
    1. 2D Array "LewTube" Tutorial
    2. 2D arrays are "arrays of arrays" (use for-each loop with 2D arrays)
    3. Creating 2D Arrays: RC Cola! (row, column; not x, y)
    4. Traversing 2D Arrays with "nested for loops"
    5. 2D Multiplication Table MultiplicationTable.html Solution (updated: 30 Nov 13)
    6. 2D Array of MySongs - "Jukebox"
    7. 2D Parity Check - Data Error Detection/Correction
    8. 2D Car Simulation - traversing rows in reverse
    9. 2D WordSearch Filler
    10. 2D Tic-Tac-Toe
    11. QR Codes
    12. 2D Memory Game
    13. Warehouse Robots...2D Array of Robots?
    14. AP Exam Question: 2014 FRQ3 - "SeatingChart" (2D Arrays/Class Composition)

"Make things as simple as possible, but no simpler."
    - Albert Einstein
  1. Teaching Center
  2. AP Lab 2: Picture: 2D Arrays with Inheritance/Interfaces
  3. (see gotJava link at bottom of page) Activity 1: Introduction to digital pictures and color
    Activity 2: Picking a color (
    Activity 3: Exploring a picture (
    Activity 4: 2D Arrays in Java (
    Activity 5: Modifying a picture (
    Activity 6: Mirroring pictures (
    Activity 7: Mirroring part of a picture (
    Activity 8: Creating collages (
    Activity 9: Simple edge detection (
  4. Brainstorming time: Picture Project extension ideas? Data compression?
  5. Exam Analysis 2010-2015: Algorithmic Analysis Model  (blank)
“The first rule of any technology used in a business is that automation applied to an efficient operation will magnify the efficiency. The second is that automation applied to an inefficient operation will magnify the inefficiency.”
- Bill Gates
  1. Searching and Sorting Algorithms
    1. Sequential Search - Brute Force: traverse array element by element
    2. Binary Search - Array must be sorted
    3. Sequential Sort - "Triple S" ("Search for the smallest and swap")
    4. Insertion Sort - Insert the smallest and "bump"
    5. Merge Sort - Recursive Sort
  2. Sorting Animation
  3. Role Plays - Let students teach the lesson!
  4. Lew's Searching/Sorting Project
  5. Search/Sort Rubric (pdf)  (xls)
  6. Search/Sort Project Samples (zip)
  7. What time is it? (by Ben Chun) System.CurrentTimeMillis ( or System.nanoTime() )
  8. Number Systems: Counting down the days until the AP Exam in dec, oct, hex, bin!
  9. Recursion/Exceptions - Barron's Book
  10. A review of the 2016 APCS Exam...
  11. The Top Ten (Pedagogy / Content) List
  12. 10. Daily Planner
    9. APCS Course Description (P.61)
    8. Major test areas (Class Design, Algorithms with ArrayLists / 1D & 2D arrays, Inheritance/Polymorphism)
    7. Stick to the AP API
    6. Emphasize Fundamentals!
    5. Crystallized vs. Fluid Intelligence (Java syntax vs. algorithmic analysis)
    4. Formative Assessment (lots of it!)
    3. Large-Scale Project
    2. Mind, Body, Soul
    1. HAVE FUN!!
  13. Evaluations
  14. Certificates
  15. Final words
  16. Thanks for coming!!

apcentral   ap quick reference   curriculumstudents   gotjavateachers

*AP is a registered trademark of the College Board.
© 2003-2015 Michael Lew