At present, Java is the language of the CS AP exam, and hence the language of most low-level college CS classes. Partly because of this, there are many resources available for teaching Java classes.
Talks from Tapestry Workshops
|Cohoon, Jim||Chrestomathics — rethinking CS1||Various 2012||VA: Slides (pptx) Slides (pdf)
PA: Slides (pptx) Slides (pdf)
Spring CS 1112 Assignments and Examples (html)
|Reichelson, Seth||Creative Projects||Various 2012||AP Question (doc)
Codingbat Writeup (doc)
First week assignment handout (doc)
|Tychonievich, Luther||Alternative CS1||Various 2012||Slides (pdf)|
- BlueJ is a code editor with a UML-like display of classes and APIs.
- DrJava is a simple, free Java development environment. It contains an interactive console where you can test things out without compiling as well as more traditional Java development.
- DrJava with Turtle, a tweaked build of the 2012 version of DrJava that also includes a fixed version of the Turtle code originally from Georgia Tech.
- DrJava with Turtle, a public-domain rebuild with smoother-looking graphics; APIs are here; also available without DrJava as Turtle.java and World.java.
- Greenfoot is a grid-world interface that has some visual, interactive elements and access to the underlying code as well.
- Eclipse is the de facto standard Java development environment (use the “Eclipse Classic” version); probably a bit complicated for introductory classes, but very versatile.
- See also the list of Web-based Development Environments, particularly if your internet access is reliable.
- See also A page with things to install which tries to link to the correct version of various tools based on the user's operating system.
- Turtle Graphics (zip) file and related helper tools from Mark Guzdial and Barbara Ericson. Also contains libraries to simplify media computation. See also the rest of their page.
- Turtle.java and World.java, a public-domain turtle graphics implementation documented here.
- See also the DrJava builds including Turtle listed in the previous section of this page.
Example Programs and Assignments
- CodingBat, a large collection of stand-alone Java programming problems with interactive automated feedback.
- PracticeIt is another set of Java programming problems, but the link seemed dead last time I tried it.
- SIGCSE Nifty Assignments, aimed at college but many applicable to AP-level too.
- APCentral has all the part 2 questions given. They are fairly
- Problets, a collection of problems for programming; teaches as it goes.
- ICE, a variety of resources for Java and other languages.
- Part 2 questions from past AP exams.
- Introduction to Computer Science using Java, a free online textbook by Bradley Kjell.
- the Free Java Book by Daniel L. Schuster.
- Example course from Carnegie Mellon University, with an emphasis on media computation.
- Example course by James Cohoon from the University of Virginia, with an emphasis on many small assignments and examples.
- Instructional Videos by Luther Tychonievich.
- Exposure Java by Leon Schram, an inexpensive, conversational, baby-step curriculum with an AP focus.
- A+ Computer Science by Stacey Armstrong, a higher-level curriculum with an AP focus.
- Several teachers mentioned using Head Start Java, but few suggested others use it.
Several of the most successful teachers attending our workshops say they do very little lecturing, relying mostly on handouts or worksheets each student or pair of students work on at their own pace while the teacher moves about the room helping people and observing for common problems or misconceptions that can be corrected.
Processing is a very Java-like language (a subset of Java with some specialized libraries) that creates geometric designs.