• 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? How many years?
    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. Workshop Source Code archived under "References" tab
    12. Think about three things to implement after workshop (The "Big Three")
  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 Score Breakpoints
      6. Advances in AP
      7. AP Report to the Nation
      8. AP Credit Policy Who give AP Credit?
      9. AP Summary Reports 2010
    4. The "Unoffical" History of APCS (from some AP folks over the years...)
    5. The Future of Computing...AP...?
    6. The Machine that Changed the World (BBC 1992)
    7. "How I failed at programming and finally succeeded" - J. Somers
    8. CSULA "Progfest"
    9. 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!
    10. 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
    8. ArrayList of Songs
  3. ArrayList of Songs with the "for loop removal" problem
  4. Java docjar website - links to Java library source code
  5. ArrayList/Math.random() programming idea...iTunes playlist shuffle
  6. Where's Waldo? Find the ArrayList Error
  7. Array[] of Songs
  8. 2D Array[][] of Integers - Multiplication Table
  9. 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.)
    • Checksum/Parity programs (intro to binary number system)
    • Roman Numeral conversion program
  10. A Survey of AP Multiple Choice Questions (page 17)
    • List Interface (#2, #3, #20)
    • Class variables "private static int numAliens"

“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. Algorithms at work: Filtering Bubbles
  3. AP Free Response Questions (FRQ) Index xls  pdf
  4. In class project - 2004 A1 WordList
    1. Whiteboard problem definition
    2. Creation of WordListDriver
    3. toString() method
    4. Constructors
  5. 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!
  6. Excel Based Grading Rubrics (.zip)
  7. Scaling Test Scores
  8. Here is the an Excel based worksheet to convert grades received on an AP exam question to a class grade. (pdf)  (xls)
  9. Whining Rubric!
  10. Searching (sequential and binary) and Sorting Algorithms (Insertion, Selection, Mergesort)
    1. Role Plays - Let students teach the lesson
    2. Sorting Animation
    3. Lew's Searching/Sorting Project
    4. Search/Sort Rubric (pdf)  (xls)
    5. Let's role play the algorithms (research in groups of two)
    6. Sorting Algorithms Animations
    7. What time is it? (by Ben Chun) System.CurrentTimeMillis ( or System.nanoTime() )
    8. Stopwatch Questions (Ben Chun)
    9. YouTube videos
  11. Number Systems: Counting down the days until the AP Exam in dec, oct, hex, bin!
  12. Recursion - Barron's Book
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: subclasses must pass "is-a" test (Head First Java Progression)
  3. The "Big 3" for inheritance" - UML Template (.xls)   (.pdf)
  4. Abstract Classes
  5. Polymorphism
  6. Interfaces: classes implementing interface must pass "does-a" test
  7. 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)
  8. Overriding the "speak()" method...: 40:00
  9. Key teaching point: Concrete class, abstract classes, AND interfaces can be used as object references, argument types for methods, and return types for methods!
  10. Grading 2004 A2 Pet
  11. In class project 2006 A2 Item
  12. Grading 2006 A2 Item
  13. Comparable Interface: compareTo() with TaxableItem and NonTaxableItems
  14. 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
    • Preconditions and Postconditions
    • Do NOT override the act() method
    • AP Exam 2011 - AttractiveCritter
    • 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. The GridWorld Curriculum Module (Amazon Rainforest)
  4. Here are the steps that you need to follow to create your own "creature" and insert it into a working GridWorld Project. Have fun!!
  5. AP Problem 2008 A3 - OpossumCritter
  6. OpossumProject.zip (BlueJ Solution) (updated: 14 Jul 11)
  7. Grading AP Problem 2008 A3 - OpossumCritter
  8. 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.
  9. The "YourCritter" Battle Royale Project (updated: 24 Jun 2010)
  10. GridWorld Based Projects (Click on "LewTube" and scroll down to bottom)
  11. The Battle Royale Test Bench.zip (Allan R. Morales '11). Allows random placement of Critters on BattleGrid with user-defined grid dimensions
  12. The Battle Royale 2011
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. Beginning of class AP MC review problems
    • 4. Separate "thinking" and "coding" (the thinking part is the "science" in "Computer Science")
    • 3. Formative Assessment (lots of it!)
    • 2. Large-Scale Project
    • 1. HAVE FUN!!
  5. Evaluations
  6. Certificates
  7. Final words
“As to methods there may be a million and then some, but principles are few. The man who grasps principles can successfully select his own methods. The man who tries methods, ignoring principles, is sure to have trouble.”
- Ralph Waldo Emerson

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. gotJava: Head First Java Resources
  7. thecubscientist.com: Mike's class website


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)


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


USD 2011.zip
CSUSM 2011.zip

faqs   pedagogy   content   eThreads
daily schedule

*AP is a registered trademark of the College Board.
© 2008-2012 Michael Lew