Course Web Pages


1 2 3 4 5 6 7 8 9 10 11 12 13 14

Adding .java files to an existing project

Unit Testing in BlueJ

Course Software

Course Textbook

Objects First With Java - A Practical Introduction using BlueJ

Course Calendar

Related Links

Online Java Courses and Study Guides in Higher Ed

Videos & Animations

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

Martin Fowler, Refactoring: Improving the Design of Existing Code

Java Honors

  • Program: Gifted Learning Links, Center for Talent Development, Northwestern University
  • For students in grades 6-12
  • Course Description: Companies of all sizes use Java as their main programming language for portable computer, mobile phone and web applications. Providing an introduction to the Java object-oriented environment, students learn techniques such as classes, objects and inheritance. The BlueJ integrated development environment and the latest Sun Java Development Kit are used to create, edit, compile, execute and explore Java applications and applets.

    High school credit: 2 semesters

  • Requirements:
    Prerequisite: Algebra I

    Out of level NUMATS test score or Admission Portfolio
    6th: EXPLORE, Math > 18
    6th - 9th: SAT, Math > 540
    6th - 9th: ACT, Math > 20
    10th - 12th: Admission Portfolio
  • Course Dates:
    Begins on the 15th of each month and runs for 36 weeks
  • Location: online
  • view syllabus for nine month option
  • view syllabus for Accelerated Summer Option (ASO)

Private Videos

The videos for this course are currently private. I want to make sure I'm honoring Pearson's copyrights on stuff I used from the BlueJ book and web site before I make anything publicly available. Students enrolled in the course will have access to the videos by the start of the course.

Course Software

This course requires Java 6 or higher and BlueJ 3.07 or higher on one of the following systems:

  • Windows 2000, XP, Vista or newer
  • MacOS X
  • Debian, Ubuntu and other Debian-based systems
  • Any other system that will run Java 6 or higher

Here's how to set up your computer with the software you need for this course:

  1. Go to
  2. Check the system requirements on that page to make sure you have an appropriate version of Java installed. 
  3. Follow the installation instructions at
  4. Download the software that goes with the book.
  5. Put the downloaded projects folder someplace reasonable (e.g., in your Documents folder on a mac or My Documents folder on a PC) so you can find it later.

Course Textbook

Objects First With Java - A Practical Introduction using BlueJ. Available to CTD students through the Center for Talent Development Online Bookstore

How to Get Help

Programming can be very time consuming. Always start your assignments as early as possible. If you do get stuck, do NOT waste hours on a single error. Instead, get help. The fastest way is to check the discussion group on the Northwestern course site. Chances are someone else has had the same problem as you and can give you a hint. Tips, clarifications and answers will also be posted by me. You may discuss the homework with other students in the discussion group as long as you never post anything that will be graded.

When you get stuck, you can send me work in progress and I'll offer you hints and useful programming tips as quickly as I can. Turnaround time will vary depending on how full my inbox is, so be patient. You may have to work on something else while you're waiting.


  1. Classes and objects
  2. Understanding class definitions: Ticket Machines
  3. Class definitions (part II): fields, constructors, methods
  4. Class definitions (part III): if statements, local variables
  5. Object structures: modularisation; modulo operator
  6. Object interaction: method calls
  7. Collections (ArrayList)
  8. Loops: for-each loop
  9. Loops: while loop
  10. Iterators
  11. Arrays and for-loop
  12. Java Class Libraries Part 1
  13. Java Class Libraries Part 2
  14. Zuul