- Methodology
- Setup
- References
- Projects
- Grading / Rubrics
- Links
- 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"
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)
- 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!
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:
- 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 File | New File. Type the name of the file (jcreator will add the required .java extension automatically).
- Click OK to save the file. Now we can start typing in our Java program!
- Type in the source code for you Java program.
- Press F7 to compile your file(s).
- 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
- APCS A Quick Reference (PDF) Give to students day one!
- Java "AP" API (Zipped)
- The complete Java 5 API (URL)
- 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
- Fall Project
- Fall Project Rubric (xls) Press Ctrl-k to add new student
- Spring Project Ideas (updated: 29 Jul 09)
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)
Here are some useful APCS links...
Teaching the binary number system.
Counting Octopus on YouTube
Ten Effective Study Habits (and six not so good ones...)
Study Habits
CS Unplugged - Teaching CS concepts without a computer
CS Unplugged
Ten reasons not to use a debugger by Gary Litvin
No Debugger
Who gives AP Credit?
AP Credit Policy
The Future of Computer Science
What's new with AP...2011-2012 and beyond...
Educational Policy - CS Job Projections
Reality Check - CS Jobs (U of Texas Austin)
Computer Jobs Data
A study on the future of Computational Science - Project 2020
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
The "Exploring Computer Science" syllabus
Alternate Programming Environments
Alice
Dr. Scheme
MIT Scratch
Karel the Robot
Processing
Javabat
Parallax Basic and Java Bots
YouTube TankBot
YouTube MazeBot