The document describes COOL, a classroom object-oriented language designed to teach core OO concepts like abstraction, inheritance, and memory management in a single semester. COOL intentionally leaves out some common features like arrays, floating point numbers, and exceptions to focus on the essentials. It uses static typing and compiles to MIPS assembly code. A COOL program consists of classes containing methods and attributes. Inheritance and polymorphism are supported through subclassing. Memory is managed through automatic garbage collection of dynamically allocated objects.
Related topics: