I take the opportunity of my status as "retired" (emeritus) to summarize my academic activities in science and mathematics education in general, and computer science education in particular. The list is quite long because I have a short attention span -- I can work on a topic for about five years, before I need to move on to something new. The exception is that I have never lost interest in mathematical logic and its applications in computer science.

Use the links at the left to browse through my textbooks, educational software and other learning materials.

- Mathematical logic.
- Concurrency.
- Programming languages.
- History and philosophy of science.
- Program animation.
- Robotics.
- Secondary-school mathematics.

My work has been recognized by the ACM SIGCSE Award for Outstanding Contributions to Computer Science Education and I was named an ACM Distinguished Educator.