We believe that introductory students are not prepared for a full
programming language with a professional compiler (and confusing error
messages). Therefore ProfessorJ presents three language levels that are
designed to gradually introduce students to a professional language.
These language levels — Beginner, Intermediate, and Advanced
— prevent students from accidentally stumbling across features not
yet seen in class.
The manuals linked to below are for the current version of DrScheme, for
other versions look at All PLT Documentation.
ProfessorJ Beginner Language ManualProfessorJ Beginner presents basic object-oriented programming, where students learn
to organize their data within class structures.
- A class must have a constructor, and may implement one
interface.
- Fields must be initialized, either in the constructor or at
their declaration site.
- Methods must return a value.
- Fields and methods of the current class must be accessed using
this.
ProfessorJ Intermediate Language ManualProfessorJ Intermediate introduces abstraction, refinement inheritance, and mutable
objects.
- Classes may be abstract, may extend other classes, and may
implement multiple interfaces.
- Fields do not require initialization and may be mutated.
- Methods may be used for effects.
ProfessorJ Advanced Language ManualProfessorJ Advanced introduces library programming, static vs. instance members, and
iterative programming.
- Methods and constructors may be overloaded.
- Classes may be grouped into new library packages.
TODO