This series of essays present some of my ideas and opinions on research and education topics. My primary research goal is to explore study the nature of program design and to translate this understanding into an introductory computing curriculum, which is how I combine the two topics. I have chosen to express this curriculum as a series of text books and, with the help of friends and colleagues, supportive software. The development of software is cause for many secondary research ideas. One long-standing investigation concerns the addition of types or type inference to (PLT) Scheme, my favorite programming language.

This site is not a blog, and there is no room for replies. Just in case one of these essays is so intriguing to you that you must respond – do so. Write down the response, put it on the web, link to the essay, and send me your link. If I believe it is a valid criticism of my essay, an appealing refinement, or just a nice confirmation, I will link back to our response. I consider this mutual linking a much more effective form of discourse than what I currently encounter on the web.

Enjoy! – Matthias Felleisen