Who is this guy?

Educational background

  • Ph.D. Polytechnic University, Brooklyn, NY 1994
  • M.S. Tulane University, New Orleans, LA 1984
  • B.S. Oklahoma State University, Stillwater, OK 1978

How did this teaching thing come about?

I’ve been teaching at the college level and in industry since 1986.

When I joined IBM Research in 1984 at the Thomas J. Watson Research Center in Yorktown Heights, NY, I was struck by the broad use of FORTRAN, PL/1, 370 assembly language, and a lot of APL there. I didn’t think they were bad languages … not at all, since I used them all myself. But being a firm believer in using the right language for the job, I was surprised to see only limited C language use there.

I had been working on operating systems in C and had found it to be quite useful in that area. So when I discussed this lack of C awareness with my VP, he said "if you feel that strongly about it, teach a class!" And, 3 months later in June 1986 I did just that. I ended up teaching several hundred IBM Researchers in New York, California, and Switzerland, and more over an IBM internal education network.

As I was finishing up my Ph.D. at Polytechnic University (now part of NYU), I began teaching as an adjunct there. I taught C++ Programming, Advanced C++ Programming, Java Programming, and Evolutionary Algorithms (my dissertation topic) over several years there.

Shortly after moving to Hanover, NH in 2008, I was delighted and honored to have the opportunity to teach in Dartmouth College's Computer Science department as an adjunct. The rest is, well, history.