- Methodology
- Setup
- Links
- Ralph Waldo Emerson
1. Teaching Methodology
- Top Down vs. Bottom Up
- Lew’s Philosophy & Lew’s Plan
- APCS Example Textbook List
- “Guide on the side, not the sage on the stage”
- "Early and often..."
- Read “good” code (Master and apprentice)
- Frequent formative assessments: WATCH them code, no penalty (Be a coach!)
- Ten Effective Study Habits (and six not so good ones...)
- Cheating and Computer Science
- Brain Research
- Crystallized vs. Fluid Intelligence
- John Medina: The Brain Rules
- Multitasking...how many balls can you juggle...?
- Taking roll and MRI's
- Are you sleeping again...?
- Who left the brain scanner on..?
- Paired Programming and cooperative learning
- Role Plays (GridWorld and Searching/Sorting (with compareTo)
- Long-Term Project - Creativity !! Design!!
- Ten reasons not to use a debugger by Gary Litvin
- Syllabus
- Fall Daily Planner
- Spring Daily Planner
- Homework List
- Fall Project
- Fall Project Rubric (xls) Press Ctrl-k to add new student
- Spring Project Ideas (updated: 29 Jul 09)
- APCS API (What they get on exam). This is given to students on the first day of class.
- AP Audit Syllabi
- Always have "Project" at end of names of project (e.g. ArrayListProject, MyCritterProject)
- Always have students use directories to organize projects for quick retrieval
- 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!
5. 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. How do I get Java up and running on my system?
If you have a Mac, you already have Java installed on your system, so you do not need to install Java. You can skip to step 2 below. If you have a Windows system you will need to install the Java SDK. Follow the steps below or watch the following video (.mov) that demonstrates the process.
- Step 1: Go to the BlueJ website and download the Java JDK 6 (Java Development Kit). Save it to your computer, then run the installation program. Installing the JDK will intall the Java "compiler" and other useful tools. Remember, this is only needed if you are running a Windows system.
- Step 2: Go back to BlueJ and download the version of BlueJ for your system (Windows or Mac). Run the installation program and you are ready to go!
2. How do I create a project, java file, compile, and run a program?
If you have BlueJ up and running, then try some of the sample programs in either of the above recommended books (or any book that you may have). Follow the steps below or watch the following video (.mov) that demonstrates the process.
- Click File | New Project. Type the name of the project. A project will keep all of your .java file(s) together for easy management.
- Click "New Class" in the BlueJ window. Type the name of the file (BlueJ will add the required .java extension automatically).
- Click on a "Class Type". The simple "Class" is sufficient to start.
- Click OK to save the file.
- Double click on the icon for the class that you just created.
- Type in the source code for you Java program.
- Press "Compile" (or press Apple-K) to compile your file(s).
- Close window that holds your java program
- Right click on the file that contains "main" and click on "void main(String [] args)"
- Click OK to run program!
3. The Javadoc commenting convention
Javadoc comments
4. JCreator
JCreator
Here are some useful APCS links...
Books
Head First Java by Sierra and Bates
How to Program: Java by Deitel and Deitel
Big Java by Horstmann
Java Concepts Study Guide by Trees and Horstmann
Blue J by Kolling
Java Methods by Litvin
Barron's AP Computer Science by Teukolsky
Five Steps to a Five by Larson and Levine
The Structure and Interpretation of Programming (MIT) by Abelson and Sussman
CS Unplugged - Teaching CS concepts without a computer
CS Unplugged
Policy
Educational Policy - CS Job Projections
Reality Check - CS Jobs (U of Texas Austin)
Computer Jobs Data
Bill Gates CNET
Bill Gates YouTube
Educational Organizations
Computer Science Teachers Assn (CSTA)
Association for Computing Machinery (ACM)
Instructor Sites
Robert Glen Martin
Stacy Armstrong
Maria Litvin
Dave Reed - AP Chief Reader
Chris Nevison - Former AP Chief Reader
Art Simon
Ben Chun
The "Exploring Computer Science" syllabus
Alternate Programming Environments
Processing
Sketchpad
Alice
Dr. Scheme
MIT Scratch
Karel the Robot
Processing
Javabat
Parallax Basic and Java Bots
YouTube TankBot
YouTube MazeBot