"I not only use all the brains that I have, but all that I can borrow."
- Woodrow Wilson
- Introduction (interview your neighbor)
- School (name of school, location, demographics)
- Have you taught APCS or any programming class before? How many years?
- Goal(s) for the workshop
- Your favorite ice cream?
- Daily Schedule (start/end, breaks, lunch)
- Daily sign-in sheet / certificates
- College credit/units
- Cell phones
- Books from publishers (sets and singletons)
- Handouts - AP FRQs, Rubrics, Sample Exam Questions, & AP Labs
- Sharing files via Dropbox
- Workshop Source Code will be archived under "References" tab
- Think about three things (or less) to implement after workshop...
- What do we want to teach? - Seinfeld...
- Intelligence Model: "Crystallized" and "Fluid" Intelligence
Let's start here...
- APCentral (for all things AP)
- Course Home Pages
- Released Exams
- The NEW AP Labs
- Audit Online
- AP Scores Online
- Score Breakpoints
- Advances in AP
- AP Report to the Nation
- AP Credit Policy Who gives AP Credit?
- AP Summary Reports 2010
- AP Computer Science Principles Course
- Stanford Rethinks CS Core Curriculum
- Why study Computer Science?
- Project 2020: A study on the future of Computational Science
- Teaching Methodologies / Strategies (a link to the "Pedagogy" page)
“I hear, I know. I see, I remember. I do, I understand.”
- What Most Schools Don't Teach : code.org
- "The Magnificent Seven" (The "Big Ideas")
- Class Design
- Class Methods (algorithms)
- Class Composition
- 2D Arrays
- AP Programs
- Starting BlueJ
- Big Idea 1: Fundamentals (HW Set 1)
- Let's write our first program
- Primitives (int, double, and boolean)
- Strings and the "new" operator
- "lew" recommends "new"
- It reinforces that String is an object
- It reinforces that String has methods (API) that can be used
- 1D Array of ints
- 1D Array of Strings
- "How low can you go..?" Testing the bounds of primitives and the "clock effect"
- if statements and the "password program"
- for loops
- Big Idea 2: Class Design (HW Set 2)
- Big Idea 3: Class Methods (HW Set 3)
- (The Class Model)
- The "MySong" class
- The "Big 3" (instance variables, constructors, toString()
- The "Dynamic Duo" (getter and setter methods)
- The "Brain" (processor methods)
- "Where's Waldo?" Where's the class design error?
- AP Exam problem: 2010 #2 - APLine
- Grading 2010 #2 - APLine
- Checkpoint 1: Mid-October
- Primitives: int, double, boolean, String
- 1D Arrays
- if statements/for loops
- The "Class Model"
“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
- AP Summer Institute Workshop Survey by Fran Trees
- Algorithms at work: Filtering Bubbles
- Big Idea 4: Class Composition (The Class Composition Model)
- Creating ArrayLists of Integers (Wrapper Classes - Ironman!)
- Introduce "for-each" loops
- Creating ArrayLists of Strings
- The ArrayList "for loop removal problem"
- MySong with Arrays and ArrayLists
- Arrays of MySongs
- ArrayList of MySongs
- MyPod of MySongs
- How'd they make an ArrayList anyway? (docjar website)
- In class project - 2011 FRQ1 Sound
- Whiteboard problem definition
- Creation of SoundDriver
- Grading 2011 FRQ1 Sound
- AP Lab 1: Magpie (Strings and Algorithms)
Magpie Chatbot Lab Student Manual (pdf)
Magpie Chatbot Lab Teacher Manual (pdf)
Magpie Chatbot BlueJ Project (zip COMING SOON)
Activity 1: Getting started with Chatbots
Activity 2: Intro to Magpie Class
Activity 3: Better Keyword Detection
Activity 4: Responses that Transform Statements
Activity 5: ArrayLists of repsonses
"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"
- Big Idea 5: 2D Arrays (HW Set 5)
- Creating 2D Arrays: RC Cola! (row, column; not x, y)
- Traversing 2D Arrays with "nested for loops"
- 2D Multiplication Table MultiplicationTable.html Solution (updated: 30 Nov 13)
- 2D Array of MySongs - "Jukebox"
- 2D Memory Game
- 2D WordSearch Filler
- 2D Tic-Tac-Toe
- QR Codes (encoding/decoding)
- Warehouse Robots...2D Array of Robots?
- AP Program 2013 FRQ4 - SkyView
- Grading 2013 FRQ4 SkyView
- "Nine Algorithms That Changed The Future"
- Big Idea 6: Putting it all together...Solving AP Problems (HW Set 6)
- In class project - 2010 A1 CookieOrder
- Whiteboard problem definition
- Creation of WordListDriver
- Grading 2010 A1 CookieOrder
- The grading or "reading" process
- Applying to be a reader
- Reflections of an AP Reader
- Rubrics/Canonical (standard) solutions @ APCentral!
- AP Free Response Questions (FRQ) Index
- AP Exam format
- 4 Free Response Questions (FRQ): 1:45 min
- 40 MC questions: 1:15 min
- No deduction for guessing on MC
- FRQ and MC equally weighted
- Excel Based Grading Rubrics (.zip)
- Scaling Test Scores
Here is the an Excel based worksheet to convert grades received on an AP exam question to a class grade.
- Checkpoint 2: Mid-November
- 2D Arrays
- Class Composition
“Only those who are asleep make no mistakes”
- Ingvar Kamprad, founder of IKEA, world’s largest furniture brand
- Big Idea 7: Inheritance - Abstract Classes and Interfaces (HW Set 7 and 8)
- Let's review what we know so far...
- The "Class Model"
- The "Class Composition Model"
- Inheritance Project Progression "MyDevice" BlueJ Project (zip)
- The next model: The "Inheritance Model"
- Key Teaching Points
- "factor out" common elements
- "extends", "super", "super.MethodCall()"
- Subclasses must pass "is-a" test (MyDevices progression)
- Abstract Classes (classes that act as "placeholders" in the inheritance hierarchy)
- Polymorphism (refering to a subclass object with a superclass reference)
- Interfaces (a collection of abstract method(s) that a class MUST implement; classes implementing interface must pass the "does-a" test)
- In class project 2004 A2 Pet
- Whiteboarding problem
- Teaching Points
- super() call in constructors (must be first line in constructor)
- Constructor call order (top-down)
- Method call order (bottom - up)
- Abstract classes / abstract methods
- AP Grading: 2004 A2 Pet
- Key teaching point: Concrete class, abstract classes, AND interfaces can be used as object references, argument types for methods, and return types for methods!
- Checkpoint 3: Early Mid-December
- Abstract Classes
- Project Proposals
“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)
- AP Lab 2: Picture (Focus: 2D Arrays with Inheritance/Interfaces)
Picture Lab Student Manual (pdf)
Picture Lab Teacher Manual (pdf)
Picture Lab BlueJ Project (zip COMING SOON)
Activity 1: Pixels and the binary number system
Activity 2: Color addition!
Activity 3: Graphics coordinate system
Activity 4: 2D Arrays (of Pixels)
Activity 5: Modifying Pictures
Activity 6: Mirroring Pictures
Activity 7: Mirroring parts of Pictures
Activity 8: Creating collages
Activity 9: Edge Detection
"Make things as simple as possible, but no simpler."
- Albert Einstein
- AP Lab 3: Elevens (Inheritance and Abstract Classes)
Elevens Lab Student Manual (pdf)
Elevens Lab Teacher Manual (pdf)
Elevens Lab BlueJ Project (zip COMING SOON)
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
- Searching (sequential and binary) and Sorting Algorithms (Insertion, Selection, Mergesort)
- Sorting Animation
- Role Plays - Let students teach the lesson
- Lew's Searching/Sorting Project
- Search/Sort Rubric (pdf) (xls)
- Search/Sort Project Samples (zip)
- What time is it? (by Ben Chun) System.CurrentTimeMillis ( or System.nanoTime() )
- Number Systems: Counting down the days until the AP Exam in dec, oct, hex, bin!
- Recursion/Exceptions - Barron's Book
- The Top Ten (Pedagogy / Content) List
10. Daily Planner
9. APCS Subset
8. Major test areas (Class Design, Algorithms with ArrayList / 1D & 2D arrays, Inheritance/Polymorphism)
7. Acorn Book (AP Computer Science Teacher reference)
6. Emphasize Fundamentals!
5. Separate "thinking" and "coding" (the thinking part is the "science" in "Computer Science")
4. Formative Assessment (lots of it!)
3. Large-Scale Project
2. Mind, Body, Soul
1. HAVE FUN!!
- Final words
- Thanks for coming!!