|
I am now Professor Emeritus. I'm available for
consultation, but come to campus irregularly.
If you would like to set up a meeting, please
telephone for an appointment.
I'm no longer maintaining the material at the above link; Google
Scholar does a more thorough job. You can also find
most of my more recent papers in my institution's
research repository.
- I'm not currently holding in-person office hours
- For the duration of the COVID-19 emergency, I can meet by Zoom, Skype, Facetime, Google Hangouts, or POTS.
- Please telephone to set up a time. This is much more efficient than emailing back and forth.
- If you must email, please suggest a few times that work for you.
Title | Course number | When taught |
Principles
of Programming Languages |
CS 320 | Most recently taught Spring 2020 |
Algorithms & Complexity | CS 350 | Most recently taught Winter 2019 |
Introduction to Programming and Problem-solving | CS 161 | Most recently taught Spring 2017 |
Object-Oriented Programming | CS 420/520 | Most recently taught Spring 2019 |
Scholarship Skills | CS 669 | Most recently taught Winter 2020 |
Ethical, Social & Legal Implications of Computing | CS 305 | Most recently taught Winter 2019 |
Computer Science for Beginners | CS 199 | Most recently taught Summer 2009 |
Computational Structures | CS 311 | Most recently taught Spring 2010 |
Extreme Programming: Principles & Practice | CS 410/510XP | Most recently taught Summer 2006 |
Advanced
Programming (with Mark Jones) |
CS 410/510AP | Most recently taught Winter 2009 |
Distributed Computing | CS 410/510 | Most recently taught Spring 2005 |
Courses previously taught at OGI/OHSU
My research interests are in the area of programming languages,
operating systems, object-oriented systems and distributed
computing, and more specifically in the region where they overlap
(such as language design for distributed Object-oriented
computing.)
I'm currently involved in developing a new, very simple,
object-based language called Grace,
named after Rear
Admiral Grace Hopper. Grace is intended for teaching novice
computer scientists to program in the object-oriented style, but
is a full-featured language that can be used for almost any
purpose, including its own compiler. You can try out Grace on the web; see
the documentation
After Grace, my favorite system for trying out ideas is Smalltalk. I have written a few Squeak goodies that I believe are generally useful. I have worked on Traits with the folks from SCG in Bern; see Nathanael Schärli's Traits page for details.
I'm a co-author of two books on Smalltalk programming, Squeak by Example, and Pharo By Example.
My hobbies include cycling, cross-country skiing, hiking, mending houses.
Take a look at some not-so-recent photographs