David Toman's Teaching Statement

Teaching Statement

David Toman


Teaching Experience:

Associate Professor
D.R.Cheriton School of Computer Science, University of Waterloo, Canada (2003-).

Assistant Professor
Department of Computer Science, University of Waterloo, Canada (1998-2003).


Motto:
"As a high school English teacher I only have one (sad thing) to contribute here. We're strongly discouraged from teaching grammar... since the administration "knows" it is boring and cannot hold student interest. If a subject or lesson cannot (or does not) keep every child in the classroom entertained, no matter how diverse the population, then the teacher is faulted." (anon.)
luckily, we're at a University here... but the pressure is on, make no mistake:
"There are two models of quality assurance in catering. One is fast food, where everything is standardized. The other is like Zagat and Michelin restaurants, where everything is not standardized, they're customized to local circumstances. And we have sold ourselves into a fast-food model of education, and it's impoverishing our spirit and our energies as much as fast food is depleting our physical bodies." (Sir Ken Robinson, TED2010)


  • CS234 Algorithms Data Structures (sophomore class; Fall 2000, Fall 2001),
  • CS448 Introduction to Database Systems (senior class; Winter 1999, Spring 2000 (x2), Spring 2002 (x2)),
  • CS748M Topics in Database Systems (graduate seminar; Fall 1998),
  • CS748M Topics in Database Systems (graduate seminar; Fall 2000)
    Publications: Optimizing Temporal Queries: Efficient Handling of Duplicates (with Ivan T. Bowman). Proc. TIME 2001, International Symposium on Temporal Representation and Reasoning, Cividale del Friuli, Italy, 93-100, 2001. Invited to special issue of DKE (Elsevier Science).
  • CS740M Database Engineering (tier II graduate class, Fall 2001)
    Publications: Efficient Handling of Nested XML Queries using Relational Technology. (with Mariano P. Consens and David DeHaan). TR-CS-2002-12, University of Waterloo.
  • Visiting Professor
    DAIMI, Department of Computer Science, University of Aarhus, Denmark (Fall 1997, Fall 1999, Spring 2001).

    During my visits to BRICS, Centre for Basic Research in Computer Science, I taught the following classes at BRICS PhD School and DAIMI:

  • Temporal Databases (BRICS PhD Mini-course). BRICS Newsletter 7, 3-4, 1997.
    Publications: Temporal Logic in Information Systems (with Jan Chomicki). In Logics for Databases and Information Systems (Chomicki and Saake eds.), Kluwer Academic publishers, 31-70, 1998.
  • Introduction to Database Systems (senior course).
  • The introductory database class also offered the students the possibility of becoming a certified IBM DB2 Application Developer.

    Teaching Assistant
    Department Computing and Information Sciences, Kansas State University (1993-1995). Duties associated with the assistantship included grading papers and examinations (in most cases I was solely responsible for the grading of the class) and occasional lecturing.

    Teaching Philosophy:

    I believe that teaching and supervising students is an integral part of academic life. Moreover, supervising students and, in general, interaction with the students often leads to exploring new and unforeseen topics and research directions.

    While training students to be good programmers is an important aspect of every computer science curriculum, I believe that a computer science and computer engineering degrees need to offer more than mere training of programmers: they must promote the understanding of principles on which computing is based, many of which are deeply rooted in mathematics. This way the graduates should be able to understand not only the immediate functions and features of their programs but also the long-term ramifications of their design decisions and tradeoffs that they will be often making after they get into the ``real world''. It is also my belief that while the practical up-to-date skills, hands-on experience, and familiarity with the cutting-edge technology play an important and irreplaceable role in the computer science and engineering curriculums and may give graduates immediate chance to get a job (a common measure of the quality of a degree), the thorough understanding of the foundations of computing may help them to keep their jobs later, when the technology moves on and the skills tied to particular tools of today cease to be relevant.

    Teaching Interests:

    I would feel comfortable teaching most introductory courses in computer science and a variety of advanced courses, including but not limited to:


    March 2002