![]() |
MIT Electrical Engineering and Computer Science
Spring 2001 Catalogue Supplement |
TR 1-2:30, Room 26-322 (NEW ROOM)
Dr. Jonathan Bachrach, Room NE43-802, 2-2852, Dr. Greg Sullivan, NE43-802, 3-5807, et al
Prereq.: 6.035 or equivalent, 6.001 or equivalent
3-0-9
This course covers language design principles and implementation techniques for advanced object-oriented dynamic languages (OODL). OODL's address the increasing demands for quick time to market by attempting to narrow the gap between conception and realization through a higher level of abstraction, clean semantics, automatic memory management, incremental development, and reflection. We will cover a series of compiler and runtime implementation techniques which permit the efficient delivery of these language / development environment features. This course is meant to complement a traditional compiler course (e.g., 6.035) through the presentation of cutting edge compilation techniques such as dynamic compilation, type inference, partial evaluation, feedback guided compilation, automatic inlining, class hierarchy analysis, object layout, proof-based techniques, etc. Going beyond compilers runtime system techniques such as fast multimethod dispatch, generational garbage collection, dependency tracking, virtual machines, etc will be covered. Rounding this out we will discuss techniques for supporting advanced development environments such as dependency tracking, function/class redefinition, remote debugging, browsing/compiler databases, profiling feedback, etc. Throughout the course relevant language design principles will be discussed. Furthermore, students will be able to explore a large number of these concepts with the actual implementation of a Prototype based language, called Proto, as well as other systems.
TARGET AUDIENCE
The target audience is graduate students that have taken at least one compiler course (e.g., 6.035) and who are familiar with object-oriented and dynamic language concepts (e.g., 6.001). Attendance will be limited to 25 students.
PROJECTS AND SUPPLEMENTAL MATERIAL
Students will be expected to research and present one topic in the field during the course of the semester. In addition, students will complete one final project, which will be chosen from a number of suggestions.
INSTRUCTORS
Jonathan Bachrach, Post Doctoral Fellow, MIT AI Lab
Greg Sullivan, Research Scientist, MIT AI Lab
Kostas Arkoudas, Post Doctoral Fellow, MIT AI Lab and bleeding-edge guest lecturers
SPONSORS
Tom Knight, Senior Research Scientist, MIT AI Lab
Martin Rinard, Assistant Professor, MIT LCS
CONTACT
Name: Jonathan Bachrach Email: jrb@ai.mit.edu Phone: 617-452-2852 Web: www.ai.mit.edu/~jrb/seminar