ProfessorJ is an extension of the DrScheme development environment that supports variants of Java suitable for education and research.

The pedagogic variants provide student-friendly subsets of Java with error messages based on the expected knowledge of an introductory programmer.

From the research side, ProfessorJ has served as the vehicle for exploring two additions to the Java programming language. The first supports interoperability between Scheme and Java. The second provides linguistic support for unit testing, with an integrated test reporting mechanism.

System Requirements: