"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. Downloads for the week...
    1. BlueJ
    2. Greenfoot
  3. Administrative Items
    1. Daily Schedule (start/end, breaks, lunch)
    2. Daily sign-in sheet / certificates
    3. College credit/units
    4. Parking
    5. Restrooms
    6. Cell phones
    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 2014 and beyond...
        1. New AP API Quick Reference (what students get during the exam)
        2. "Out with GridWorld, in with AP Labs" (content tested, not lab specifics)
        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)
        4. Clarification: 2D arrays are "arrays of arrays" (use for-each loop with 2D arrays)
      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. AP Summary Reports 2012
      8. Equity in AP...
        1. Equity, Access, Recruitment, and Retention
        2. Raising Awareness
        3. Computer Science
    2. Stanford Rethinks CS Core Curriculum
    3. Why study Computer Science?
    4. 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. "The Super Eight" (The "Eight Big Ideas")
    1. Fundamentals
    2. Class Design
    3. Class Methods (algorithms)
    4. Class Composition
    5. 2D Arrays
    6. AP Programs
    7. Inheritance and Abstract Classes
    8. Interfaces
  2. Starting BlueJ
  3. Big Idea 1: Fundamentals (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
  4. Big Idea 2: The Class Model (HW Set 2)
    1. The "MySong" class
    2. The "Big 3" - instance variables, constructors, toString()
    3. The "Dynamic Duo" (getter and setter methods)
    4. The "Brain" (processor methods)
  5. Example Program 2: MySong class with zero-arg constructor
  6. Example Program 3: MySong class with two-arg constructor + "this.color = initialColor"
  7. Example Program 4: MySong with getters/setters (this.color = newColor) and "The Brain"
  8. AP Exam problem: 2010 FRQ2 - APLine
  9. Grading 2010 FRQ2 - APLine
  10. Teaching point: Which instance variables do we really need?
  11. Why is "x" the unknown variable?
  12. The grading or "reading" process
    1. Applying to be a reader
    2. Reflections of an AP Reader
    3. Rubrics/Canonical solutions available on APCental
  13. AP Exam format
    1. 4 Free Response Questions (FRQ): 1:45 min
    2. 40 MC questions: 1:15 min
    3. No deduction for guessing on MC
    4. FRQ and MC equally weighted
  14. APCS Exam Index (pdf)   (xls)
  15. AP Score Breakpoints
  16. AP Scores Online (use audit login)
  17. APCS Excel-based Grading Rubrics (.zip)
  18. AP Grading Scale Converter (pdf)   (xls)
  19. "Where's Waldo?" Where's the class design error?
  20. Checkpoint 1: Mid-October
    1. Primitives: int, double, boolean, String
    2. 1D Arrays
    3. if statements/for loops
    4. 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. AP Summer Institute Workshop Survey by Fran Trees
  2. Algorithms at work: Filtering Bubbles
  3. AP Lab 1: Magpie (Strings and Algorithms: conditionals/iteration)
  4. 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
  5. Algorithmic Programming ideas: Project Euler
  6. "Nine Algorithms That Changed The Future"
  7. WebPageIndexing Project (adapted from "Nine Algorithms")
  8. Big Idea 3: Class Methods (HW Set 3 - Focus: Algorithmic Processing - "The Brain" )
  9. Static Methods on LewTube
  10. Big Idea 4: The Class Composition Model (HW Set 4)
  11. ArrayLists
    1. Creating ArrayLists of Integers (int:Integer -> TonyStark:Ironman)
    2. Introduce "for-each" loops
    3. Creating ArrayLists of Strings
    4. ArrayLists and the "for loop removal problem"
  12. MySong with Arrays and ArrayLists
    1. Arrays of MySongs
    2. ArrayList of MySongs
    3. MyPod of MySongs
  13. How'd they make an ArrayList anyway? (docjar website)
  14. In class project - 2011 FRQ1 Sound
  15. Grading 2011 FRQ1 Sound
"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. Aussie School Voicemail...
  2. Big Idea 5: 2D Arrays (HW Set 5)
    1. 2D Array "LewTube" Tutorial
    2. Creating 2D Arrays: RC Cola! (row, column; not x, y)
    3. Traversing 2D Arrays with "nested for loops"
    4. 2D Multiplication Table MultiplicationTable.html Solution (updated: 30 Nov 13)
    5. 2D Array of MySongs - "Jukebox"
    6. 2D Parity Check - Data Error Detection/Correction
    7. 2D Car Simulation - traversing rows in reverse
    8. 2D WordSearch Filler
    9. 2D Tic-Tac-Toe
    10. QR Codes
    11. 2D Memory Game
    12. Warehouse Robots...2D Array of Robots?
  3. Big Idea 6: Putting it all together...Solving AP Problems (HW Set 6)
  4. In class project - 2014 FRQ3 "SeatingChart"
  5. Grading 2014 FRQ3 "SeatingChart" (page 7)
  6. Checkpoint 2: Mid-November
    1. Class Composition
    2. 2D Arrays

“Only those who are asleep make no mistakes”
- Ingvar Kamprad, founder of IKEA, world’s largest furniture brand
  1. Algorithms, milliseconds, and the US Stock Market (aired: March 2014)
  2. AP Lab 2: Picture (Focus: 2D Arrays with Inheritance/Interfaces)
  3. 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. Brainstormming time: Picture Project extension ideas? Data compression?
  5. Let's review what we know so far...
    1. The "Class Model"
    2. The "Class Composition Model"
  6. Big Idea 7: Inheritance and Abstract Classes
  7. The next model: The "Inheritance Model"
  8. Inheritance Project Progression "MyDevice" BlueJ Project (zip)
  9. Key Teaching Points
    1. "factor out" common elements
    2. "extends", "super", "super.MethodCall()"
    3. Subclasses must pass "is-a" test (MyDevices progression)
    4. Abstract Classes (classes that act as "placeholders" in the inheritance hierarchy)
    5. Polymorphism (reference to a subclass object using a superclass reference)
  10. In class project 2004 A2 Pet
    1. Teaching Points
      1. super() call in constructors (must be first line in constructor)
      2. super.methodCall()
      3. Polymorphism
    2. super.super.methodCall()...NOT!
    3. Constructor call order (top-down)
    4. Method call order (bottom - up)
    5. Abstract classes / abstract methods
  11. AP Grading: 2004 A2 Pet
“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. Big Idea 8: Interfaces
    1. Interfaces (a collection of abstract method(s) that a class MUST implement; classes implementing interface must pass the "does-a" test)
    2. Key teaching point: Concrete class, abstract classes, AND interfaces can be used as object references, argument types for methods, and return types for methods!
  2. Class Composition("has-a"), Inheritance("is-a"), Interface ("does-a")
  3. Checkpoint 3: Early Mid-December
    1. Inheritance
    2. Abstract Classes
    3. Interfaces
    4. Polymorphism
    5. Project Proposals
  4. Reflection: How what we have done today confirmed your thinking? Extended your thinking? Challenged your thinking?

"Make things as simple as possible, but no simpler."
    - Albert Einstein
  1. In class project 2014 A4 MenuItem
  2. Grading 2014 FRQ4 "MenuItem" (page 12)
  3. AP Lab 3: Elevens (Inheritance and Abstract Classes)
  4. 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)
“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. The Top Ten (Pedagogy / Content) List
  11. 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!!
  12. Evaluations
  13. Certificates
  14. Final words
  15. Thanks for coming!!

apcentral   ap subset   curriculumstudents   gotjavateachers

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