• Monday
  • Tuesday
  • Wednesday
  • Thursday
  • References

Morning
"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 of school, location, demographics, public/private)
    3. Have you taught APCS or any programming class before?
    4. Goal(s) for the workshop
    5. Your favorite ice cream!
  2. Administrative Items
    1. Daily Schedule (breaks, lunch, dismissal)
    2. Daily sign-in sheet / certificates
    3. Parking
    4. Printing
    5. Restrooms
    6. Cell phones
    7. Books from publishers (sets and singletons)
    8. Handouts - AP FRQs, Rubrics, Sample Exam Questions, & GridWorld Roleplay
    9. Computers / Personal laptops
    10. College credit/units
    11. Think about three things to implement after workshop
  3. What do we want to teach? - Seinfeld...
  4. Let's start here...
    1. Why require Computer Science? Matt Brenner
    2. Project 2020: A study on the future of Computational Science
    3. APCentral (for all things AP)
      1. AP Course Home Pages
      2. AP Released Exams
      3. AP Audit
      4. AP Scores Online 
      5. AP Report to the Nation
      6. AP Credit Policy Who give AP Credit?
    4. The "Unoffical" History of APCS (from some AP folks over the years...)
    5. The Future of Computing...AP...?
    6. What's new in 2010-2011?
      1. 2D Arrays (read and write code with 2D Arrays)
      2. List Interface (ArrayLists and more!)
      3. Java constants (Integer.MAX_VALUE and Integer.MIN_VALUE)
      4. Static variables (aka class variables)
      5. No more 1/4 point deduction on multiple choice for incorrect answers! New grading scale? Stay tuned for details!
    7. Teaching Methodologies / Strategies (a link to the "Pedagogy" page)
Afternoon
“I hear, I know. I see, I remember. I do, I understand.”
- Confucius
  1. Content Summary (a link to the APCS Course Description ("Acorn Book"). Page 57 in pdf.
  2. Our first program
    1. Starting BlueJ
    2. Primitives (int, double, and booleans)
    3. "How low can you go..?" Testing the bounds of primitives and the "clock effect"
    4. Wrapper classes
    5. Strings (always use "new" when writing code, else String pooling problem). Programming ideas: Star Wars Name, Harry Potter Name, Pig Latin, etc)
    6. Array of Strings
    7. ArrayList of Strings
  3. ArrayList of Cars with the "for loop removal" problem
    Cars.html Solution (updated: 08 Jun 10)
  4. Java docjar website - links to Java library source code
  5. ArrayList/Math.random() programming idea...iTunes playlist shuffle
  6. Array[] of Cars
    Cars2.html Solution (updated: 21 Jun 10)
  7. 2D Array[][] of Integers - Multiplication Table
    MultiplicationTable.html Solution (updated: 30 Jul 09)
  8. Review Program
    • Create a 2D Array class (e.g. "public class My2DArray") and initialize using random numbers using Math.random()
    • Design your own algorithm (count number odd/even numbers, sum of numbers, matrix arithmetic, etc.)
  9. A Survey of AP Multiple Choice Questions (page 17)
    • List Interface (#2, #3, #20)
    • Class variables "private static int numAliens"

Morning
“An expert is a person who has made all the mistakes that can made in a very narrow field.”
- Neils Bohr, Danish Physicist and Nobel Prize winner
  1. AP Summer Institute Workshop Survey by Fran Trees
  2. AP Free Response Questions (FRQ) Index xls  pdf
  3. In class project - 2004 A1 WordList
    1. Whiteboard problem definition
    2. Creation of WordListDriver
    3. toString() method
    4. Constructors
  4. Grading 2004 A1 WordList
    1. The grading or "reading" process
    2. Applying to be a reader
    3. Rubrics/Canonical (standard) solutions @ APCentral
    4. Let's read some student samples!
  5. Excel Based Grading Rubrics (.zip)
  6. Scaling Test Scores
  7. Here is the an Excel based worksheet to convert grades received on an AP exam question to a class grade. (pdf)  (xls)
  8. Whining Rubric!
  9. Searching (sequential and binary) and Sorting Algorithms (Insertion, Selection, Mergesort)
    1. Role Plays - Let students teach the lesson
    2. Lew's Searching/Sorting Project
    3. Search/Sort Rubric (pdf)  (xls)
    4. Let's role play the algorithms (research in groups of two)
    5. Sorting Algorithms Animations
    6. What time is it? System.CurrentTimeMillis ( or System.nanoTime() )
    7. YouTube videos
Afternoon
"The first 90% of code is responsible for the first 90% of debugging, the last 10% of code is repsonsible for the other 90% of debugging"
- Unknown
  1. April Fool's Day Joke! (pdf | doc)
  2. Inheritance (Head First Java Progression)
  3. Abstract Classes
  4. Polymorphism
  5. Interfaces
  6. In class project 2004 A2 Pet
    1. Whiteboarding problem
    2. Super constructor calls - super()
    3. super.super.methodCall()...NOT!
    4. super() must be the FIRST line in a constructor!
    5. Constructor call order (top-down)
    6. Method call order (bottom - up)
  7. Overriding the "speak()" method...: 40:00
  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. Grading 2004 A2 Pet
  10. In class project 2006 A2 Item
  11. Grading 2006 A2 Item
  12. Exceptions...Head First Readings

Morning
“Only those who are asleep make no mistakes”
- Ingvar Kamprad, founder of IKEA, world’s largest furniture brand
  1. What is GridWorld?
  2. How much of the exam is GridWorld related?
  3. Setting up GridWorld
  4. A link to the AP Central College Board GridWorld site
  5. Let's try the GridWord Role Play
  6. Role Play Part I - Object Construction
  7. Role Play Part II - RolePlayBugRunner
Afternoon
“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. Role Play Part III - RolePlayCritterRunner
  2. The GridWorld inheritance hierarchy
  3. GridWorld Code walkthrough ( "instanceof" and "this" )

Morning
"Make things as simple as possible, but no simpler."
- Albert Einstein
  1. GridWorld FRQs
    • AP Exam 2010 - GridChecker
    • AP Exam 2009 - StockPileCritter
    • AP Exam 2008 - OpossumCritter
    • AP Exam 2007 - PounceFish (Marine Biology Simulation) can be converted to GridWorld
    • AP Exam 2006 - DropGame (Marine Biology Simulation) can be converted to GridWorld
    • AP Exam 2005 - ZigZagFish (Marine Biology Simulation) can be converted to GridWorld
    • AP Exam 2004 - PondStocker (Marine Biology Simulation) can be converted to GridWorld
    • XBug and DropGame (see Sample GW question link below)
    • AP Audit - TimidCritter
    • AP Audit - GrubCritter
    • Barron's APCS Review Book
      • HungryChameleon
      • Bug
    • Litvin APCS Review Book
      • MazeBug
      • Dahlia
      • BeeClover
  2. Sample GridWorld MC and FRQ questions from the CB website
  3. Here are the steps that you need to follow to create your own "creature" and insert it into a working GridWorld Project. Have fun!!
  4. In class project - AP Problem 2008 A3 - OpossumCritter
  5. Grading AP Problem 2008 A3 - OpossumCritter
  6. Teaching point: always end if statements with else when "return"ing (or use a flag) to avoid "unreachable code" error. Common mistake in OpossumCritter when addressing the three cases of dead, playing dead, or alive.
  7. The "YourCritter" Battle Royale Project (updated: 24 Jun 2010)
  8. The Battle Royale.zip (APSI Las Vegas 2010)
  9. GridWorld Based Projects (This will take you to my class website...click "back" on your browser to return to the APSI site...)
  10. The GridWorld Curriculum Module (Amazon Rainforest)
Afternoon
“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. Design your own "Critter" (inherit from Critter)
  2. Share Time: YourCritter
  3. What to do after the AP Exam?
  4. The Top Ten (Pedagogy / Content) List
    • 10. Daily Planner
    • 9. Stick to AP Subset
    • 8. GridWorld Project (spend lots of time on role-play)
    • 7. Acorn Book (AP Computer Science Teacher reference)
    • 6. Major test areas (Algorithms (ArrayList / 1D & 2D arrays), Class design, Inheritance/Polymorphism, GridWorld)
    • 5. Whiteboard activity with AP Problems
    • 4. Separate "thinking" and "coding" (the thinking part is the "science" in "Computer Science")
    • 3. Resources (Barron's AP Review Book)
    • 2. Snippet Quizzes
    • 1. HAVE FUN!!
  5. Evaluations
  6. Certificates
  7. Final words
Links
  1. APCentral site
  2. APCS API (What they get on exam)
  3. Java AP API (html)  (.zip)
  4. The complete Java API (html)
  5. AP Computer Science Course Description (aka Acorn Book)
  6. Head First Java Resources


AP FRQ Solutions
  1. WordList.html Solution (updated: 22 Jun 10)
  2. Pet.html Solution (updated: 22 Jun 10)
  3. Item.html Solution (updated: 30 Jul 09)
  4. OpossumCritter.html Solution (updated: 30 Jul 09)


Summer Institute Source Code
CSUSM 2010.zip
USD 2010.zip

faqs   pedagogy   content   eThreads
daily schedule

*AP is a registered trademark of the College Board.
© 2010 Michael Lew