Java Courses

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

Speaker Tile Workshop Material
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)

External Resources

Programming Environments

  • 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 and
  • 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.

Helpful Libraries

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.

Curricular Material

Classroom Styles

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.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License