This page documents my teaching activities, including my approach to
undergraduate and graduate teaching and supervision and the courses I
am teaching or have taught.
Undergraduate:
I
believe that an undergraduate engineering degree serves two purposes in
the modern world: the preparation and then the professionalization of
engineers. Traditionally, this preparation includes basic sciences and
mathematics and then a specialization for some branch of engineering
practice, such as computer engineering. The key is how to interpret
this specialization. I consider it a mistake to think in terms of
teaching technology in a modern undergraduate program, since most
technologies (and especially computer technologies) have a
significantly shorter lifespan than an engineering career. Instead, it
seems that the proper approach is to concentrate on the background to technologies and a great deal of experience in learning and applying technology as required by the problem, since this is how good engineers actually work. Moreover, it seems that the kind of students attracted to engineering learn by doing, so I like to concentrate effort in my courses on hands-on learning approaches augmented by theory.
Another of the primary goals of an undergraduate engineering education is
professionalization as an
engineer. To this end, I insist that project reports be prepared as
engineering reports as if they were to be submitted to a superior or
project leader. The primary goal of such a report is to communicate to
colleagues and those picking up a project after you all of the
background they will need to continue the project efficiently.
The implications of this goal are outlined in my Project Reports
document.
Graduate:
Unlike
an undergraduate program, which is primarily preparation for practice,
I see graduate programs as preparation for extending technology. This
has a lot of different implications, but the main one is that we do
need to teach technology, and in considerable depth. So graduate
courses should really be about leading edge technology and should
concentrate on understanding that technology in context, so that one
can analyze it and begin to appreciate how it needs to be extended and
improved to achieve its goals (no technology is every 100% successful,
especially if it is successful enough to find uses beyond its original
design goals).
EECE 285: Group Project
EECE 375: Computer-Based Instrumentation Design Laboratory
EECE 478: Computer Graphics
EECE 496: Project
EECE 571W: Distributed Systems for Human Collaboration