Project assignments

Due to the formal background needed, the project assignments listed below have the flavor of research projects and must be considered for advanced students only. Possible assignments are

  • designing a language incorporating both knowledge representation features and objects,
  • the development of a type calculus for a concrete programming language, such as Smalltalk, Eiffel, C++, or Java
  • the development of a type checker for a variety of polymorphic constructs.

Since some of this work has already be done (see below), one may simply advise students to study these efforts.