BlueJ with Modified Error Subsystem is a modified version of BlueJ which has had the error reporting subsystem rewritten to find common programming errors that novice programmers make, report these errors in a descriptive way to reiterate the core concepts of programming, and give advice that the student can follow to fix the problem.

Modified BlueJ