History:

Electrical and Computer Engineering:
-- I taught ECE 475 Computer Architecture in the Spring and Fall of 1998.
-- During July 2011 I participated in a week-long CURIE Academy with projects related to biology and ECE.
-- Fall 2011 I taught ECE 1810 covering basic electronics with application to cardiac function and mesurement.
-- 2009, 2013, and 2014 I taught ECE5030 Electronic Bioinstrumentation
-- Spring 2015 and 2016 I was lab instructor for ECE3400 Introduction to Design: Two pages: FPGA introduction and Using timer 1 on the Arduino
-- Proposed board-level design course. Proposed course.
--Recent courses:
ECE4760 1997 to 2019. -- microcontroller design using AVR and PIC32
ECE5760 2006 to 2019. -- system-on-chip design using Verilog and Linux
ECE4920 2016 to 2020. -- writing seminar
Student Designs 1994 to 2018 -- MEng and undergrad projects

Neurobiology:
-- Alternate years from 1997 to 2005 I taught BioNB 440, Electronics for Neurobiology
-- Alternate years from 1998 to 2006 I taught BioNB 441, Computer programming for Neurobiology.
-- In 2007 BioNB 440 and BioNB 441 were merged to form BioNB 442 which covered instrumentation and computing in biological research.
-- During the spring 2008 semester I ran a computational section for BioNB 222
-- Some Hardware/software

Cornell Theory Center:
From Jan 1987 until June 1998 I worked at the Cornell Theory Center. Most of the time I was project leader of the graphics group. Many of the still images and animation done at the CTC in the 1990's were done by Martin Berggren, Catherine Devine, Chris Pelkie, Wayne Lytle, and Richard Gillilan.
-- The graphics group published about a dozen magazine covers during the 1990s.
-- One of my projects there was supporting IBM Data Explorer. One of the larger animations I did in DX was for Farid Abraham who worked at IBM Almaden Research Center until 2004. A Nature cover shows a still from the project.
-- I wrote a crude shadowcaster, which was fun.

Computer Science:
-- I taught CS 417, Computer Graphics, from 1992 to 1998 with an emphasis on the mathematical methods used to produce computer images.
-- The associated lab course, CS 418, used a block-diagram, data-flow language called IBM Visualization Data Explorer to illustrate course concepts.
-- I taught CS718, Topics in Computer Graphics, in the fall of 1995.
-- From 1993 until 1998, I advised about 70 masters of engineering and undergraduate independent study students in Computer Science.
Student projects from the following school years are available, although some of the links are broken and can be fixed by request.
Projects: 1994-95, 1995-96, 1996-97, 1997-98

List of courses taught at Cornell:
-- Brain Models and Mechanisms, Neurobiology -- TA for Frank Rosenblatt, 1968-1970
-- Mammalian Neurobiology, Neurobiology -- TA for Ed Gasteiger, ~1971
-- Sensory Functions, Neurobiology -- TA for Bruce Halpern and Dan Tapper ~1972
-- Electrophysiology Lab, Neurobiology -- ~1973-1975, 1979-1986
-- Bio-Electronics, Electrical Eng -- 1983
-- Junior Electronics lab, computer instrumentation sections, Electrical Eng -- 1983
-- Bio-Electronics, Neurobiology -- 1984-1986
-- Computer Graphics lecture, CS, 1992-1997
-- Computer Graphics lab, CS, 1992-1997
-- Computer Graphics Special Topics, CS, 1995
-- Progamming for biologists, Neurobiology, 1997-2005
-- Bio-Electronics, Neurobiology -- 1998-2006
-- Bio-instrumentation, Neurobiology -- 2007-2008
-- Introduction to Neurobiology, Computational Section, 2008
-- Computer Architecture, ECE475, 1998
-- Microcontroller design, ECE4760, 1997-2019
-- FPGA design, ECE5760, 2006-2019
-- Bio-instrumentation, ECE5030, 2009, 2013, 2014
-- Bio-electronics for freshmen, ECE1810, 2011
-- Introduction to Design, ECE3400 lab instructor, 2015-2016
-- Technical writing seminar, ECE4920, 2016-2020

Technical stuff