• Methodology
  • Setup
  • References
  • Projects
  • Grading / Rubrics
  • Links
1. Teaching Methodology
  • First things first: What do we want to teach? Seinfeld...
  • Why require Computer Science? Matt Brenner
  • Cognitive Neuroscience: Crystalized vs. Fluid Intelligence: Push the Envelope...
    John Medina: The Brain Rules
  • Top Down vs. Bottom Up
  • Lew’s Philosophy & Lew’s Plan
  • “Guide on the side, not the sage on the stage”
  • Read “good” code (Master and apprentice)
  • Frequent formative assessments: WATCH them code, no penalty (Be a coach!)
  • Cheating and Computer Science
  • Searching / Sorting Role Plays (with compareTo)
  • Long-Term Project and "manicured grounds"
2. Lew's Syllabus and Planner
3. What's new for 2010/2011 Exam?
  • 2D Arrays (read code AND write code with 2D arrays)
  • Integer.MAX_VALUE and Integer.MIN_VALUE
  • Static variables (aka class variables)
  • List interface (know how to write concrete methods in classes that implement List interface...POLYMORPHISM)
4. Establish project / file naming rules
  • Always have "Project" at end of names of project (e.g. ArrayListProject, MyCritterProject)
  • Always have students use directories to organize projects for quick retrieval
5. Variable / Method / Class naming rules
  • Always begin with a letter
  • Use a-z, A-Z, 0-9 ONLY (no underscores)
  • Use camelNotation for variable and method names
  • Use "final" whenever possible
  • Use MEANINGFUL NAMES!!
  • Begin class names with a capital letter with CamelNotation
  • Brace spacing and indentation - ALL THE TIME with if, for, while statements
  • ( Parenthesis spacing ) all the time!
  • Use spacing liberally…memory is CHEAP!

6. Commenting rules
  • Comment end curly brace of classes, methods, loops( while, for), and if statements
    while( ... )
       {
       } // end while loop
  • Comment purpose of methods using Javadocs with @param and @return
  • Comment purpose of loops (while, for)
  • Comment purpose of if-else statements

7. Good OOP Programming Guidelines
  • Do NOT replicate code that is already written somewhere else (CODE REUSE!)
  • You are NOT coding only for yourself!! – Comment code and NO tricky stuff, please!!

1. Java SDK
If you are using a Mac, you already have Java installed on your system with hte Mac OS, you will NOT need to perform this step. Otherwise, you can follow the instructions below to install Java on your system.

Go to the Sun website and download the Java SDK. The latest version as of 1/22/2010 is JDK Version 6 Update 18. Save it to your computer (the desktop is fine), then run the installation program. Installing the SDK will give you the Java "compiler" and other useful tools.

2. JCreator
Go to jcreator and download the "classic" version of the JCreator development environment (third choice from bottom). Download to your system and run the installation program. The first time you run JCreator, it will run you through a wizard...just click OK along the way and you will be ready to create your first program.
Maria and Gary Litvin's have detailed instructions for this installation process.
Here's the link... Getting started with Java at skylit.com

3. BlueJ
Go to BlueJ and click on Download. You will then be able to download either a Windows or Mac version of the program. Download to your system and run the installation program.

4. Now what?
If you have JCreator up and running, then try some of the sample programs in either of the above recommended books (or any book that you may have). Here's how:
  1. Click File | New Project. Type the name of the project. A project will keep all of your .java file(s) together for easy management.
  2. Click File | New File. Type the name of the file (jcreator will add the required .java extension automatically).
  3. Click OK to save the file. Now we can start typing in our Java program!
  4. Type in the source code for you Java program.
  5. Press F7 to compile your file(s).
  6. Press F5 to run your program!

If you are running BlueJ, view the following LewTube tutorial video (coming soon).

5. The Javadoc commenting convention
Javadoc comments



6. How to create Javadocs in JCreator.
Javadoc Tutorial



7. Eclipse
Eclipse (educational version)




1. APCentral
Here is the AP Central link at the College Board website (sample syllabi, EXAM QUESTIONS/RUBRICS, Audit, teaching strategies, and much more...)

2. APCS Course Description 2010 - 2011 NEW!!
Here is the College Board Course Description (aka Acorn book) from the AP Central College Board website. Here you will find the list of AP Computer Science subset (aka "what do I need to teach?)

3. APCS Teacher's Guide
Here is the College Board Teacher Guide from the AP Central College Board website. Here you will find teaching strategies and sample syllabi.

4. Quick References
5. Books
1. Fall Project
2. Spring Project
1. Scaling AP Test Scores
Here is the an Excel worksheet to convert grades received on an AP exam question to a class grade.

Excel worksheet in PDF format

2. Grading Rubrics
Excel-based grading rubrics for AP Exam (updated 30 Jul 09) (.zip)

faqs   pedagogy   content   gridworld   eThreads
daily schedule

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