I'm retired now, and living in New York, but still active in the research
projects listed below.
Research
My research covers two areas: programming languages
and educational technology.
-
LOOME
(Language tOOls for Modularity
and Efficiency) - This is an NSF-funded project to study
the possibilities for optimization using run-time specialization
and auto-tuning.
We have been concentrating on sparse-matrix/vector multiplication (spMV);
follow the "Matrix Mult" link on the LOOME page.
The project is now led by co-PI Maria Garzaran and
Baris Aktemur of Ozyegin University (Turkey).
-
SLICE
(Students Learn In
Collaborative Environments) -
SLICE is a framework for building in-class interactive
applications for pen-enabled tablets.
I'm working with my former student
Wade Fagen, who graduated in the summer of 2013 and has stayed on
in the department as a lecturer.
Teaching
For the last six years before my retirement,
I taught CS 421, Programming Languages and Compilers,
in the spring semester.
This course covers a lot of material - compilers, functional programming,
dynamic and static typing, virtual machines, and more - and the problem
was to make it of practical use without its simply being a disjointed list of
topics.
I was quite happy with how I was able to combine the formal and the applied,
by making heavy use of "structured operational semantics" throughout the
semester.
You can see all the details (lecture notes, exams, videos) at the
spring, 2013 website.
Undergraduate program
I served as Director of Undergraduate Programs in CS from
1999 to 2007,
administering a program with as many as 1200 students.
I led a major revision of the undergraduate program,
which included, among other things, introduction of the
Programming Studio course
(
CS 242).
This course is a step toward teaching programing as a skill akin to
expository writing.
For most students, it is certainly
the first time their code has been subject to critical review,
and feedback suggests that it has been an important course for many.
As Director, I was also heavily engaged by
the problem of diversity - or rather,
the lack of diversity - in CS.
I have been particularly interested in getting a more
diverse undergraduate student body. More
here.
Writing
In addition to writing research papers, I wrote or co-wrote several books.
See my
publications page for details.