Computer Vision I (fall 1992, fall 1993, fall 1995): The traditional model for mid-level computer science courses---pen and paper exercises plus programming projects---is not appropriate for teaching computer vision. I developed a course using teaching methods from the physical sciences: supervised laboratories, proper experimental method, laboratory notebooks, and written reports. I adapted these techniques to a computer science setting and established an organized curriculum for the course, accessible to undergraduates as well as graduate students. With the aid of my teaching assistant, I devised a series of experiments that could be finished by a pair of students in a 2 1/2 hour lab period, wrote the laboratory handouts, and coded a substantial package of supporting utilities in a combination of Common LISP and C.
To support our two-term computer vision sequence, and also assist more advanced students, I wrote and maintain an HTML-based handbook for graduate students in computer vision.
Discrete Structures (fall 1991--fall 1996): I taught this course three times using the traditional pen-and-paper exercises. The fourth and fifth times, I developed a series of LISP-based computer labs to supplement the mathematical curriculum in this course. I'm teaching this course for a sixth term in fall 1996, replacing the lisp exercises with supplementary materials on the world-wide web (partly to cope with a sudden increase in enrollment).
I was actively involved in advising student research projects, both graduate and undergraduate. I was a PI on our NSF Site REU grant to support undergraduate research projects and have advised seven REU projects. I also wrote our department's successful proposal to the U. Iowa Computing Fee Committee (1993), which gave us the funds to build our first laboratory for undergraduate computer science teaching.
I have been somewhat pinned down by childbearing and childcare. I've been teaching the following courses:
While teaching the compiler course, it became obvious that none of the current textbooks does a good job of serving the needs of the students. So I'm trying to assemble notes on the worst-served areas, especially compilation of high-level languages (e.g. scheme into C).
This page is maintained by Margaret Fleck.