Teaching Statement

c
There is an important overlap between teaching and advising. Teaching is largely concerned with the communication of content, but like advising, it must also concern itself with the development of student character. In my own teaching, I try to structure lectures, assignments and tutorials to achieve both of these goals.

Teaching Philosophy

In teaching content, my goals are to help students clearly understand intuitions and formal mathematical models and be able to comfortably move back and forth between them. For this reason, I like to emphasize definitions and relationships between concepts to ensure students have an accurate vocabularly to understand problems and talk about difficulties before getting into specific proofs or algorithms. I also like emphasize organizing principles and the evaluative norms that allow students to understand various approaches to a problem such as sorting or search in an organizing framework. Given a good understanding of the important dimensions, students can always look up the details of specific approaches and be ready to understand new approaches in the context of a broad framework. Finally, I try to give a perspective on content that emphasizes its usefulness while acknowledging its true nature: a product of human beings, imperfect, idiosyncratic and evolving.

While content is the primary goal in teaching, it is also important to address student character, as students need good habits and a clear understanding of where they are going as computer scientists. I keep these goals in mind as I plan lessons and talk to students. First off, its important to keep classes in perspective. I encourage students to attend research talks, go to career workshops and participate in student groups so that they see their coursework in the context of a larger picture. I also encourage reading of lighter articles such as AI magazine pieces to promote a broader understanding and to give students the opportunity to encounter computer science in a more relaxed popular format. Norms are also part of perspective. We often talk of professional norms such as a committment to safe and correct code, or the careful consideration of copyright issues in the use of libraries, but personal norms are also important: it is helpful to let students know how much time assignments are likely to take; that a paper will require several drafts to get right; that you may need to read something several times and play with the ideas in order to understand it; and that when professionals are stuck, they ask someone who does understand to explain it to them. I like to encourage students to reflect on their experiences with past assignments, tests or lectures and be open to insights they might have about getting more out of them and also to be aware of the habit bound nature of humanity and how we can use rehearsal, creativity and external committments to change our habits. I try to demonstrate character by being prepared, attempting to meet each student briefly but sincerely over the term and treating students respectably if not always agreeably!

Often, a lecture is the best way to present new material - it need not be overly formal. Once the content is prepared, I like to preplan a number of questions at various points to indirectly get feedback on understanding. I also try to plan some variety in the lecture if possible, often incorporating one apsection, near the middle, requiring extensive interaction from students to fill in details or walk through steps of an algorithm. There are also considerable supplemental materials available to enrich the learning experience including animations of algorithms, application specific packages and on-line tutorials and these can now easily be incorporated through projection technologies. While I don't explicitly draw attention to gender, age, orientation and culture issues, I try to avoid anecdotes with biased assumptions and attempt to promote fairness in class discussion. Of course, the type and degree of interaction will vary somewhat from a first-year ``introduction to programming'' to a graduate seminar on an advanced topic and to some degree with the nature of the students in the class. Finally, I regularly ask myself why am I teaching this material and make sure I have an answer ready if someone asks: why are we learning this?

Of course, lectures are only part of the learning experience. There is no surer way to test your understanding than to apply it. Regular assignments are invaluable in this respect. A web-page based project can be a useful cooperative project which students take seriously knowing it will be publicly viewed. In between lectures and assignments, we have tutorials. In tutorials, I try to emphasize more hands-on activities and group-problem solving. I discovered the technique some years back of having students work on problems in small groups and receive credit for effort. I find it useful to interact with students while they are problem solving to find out where their thinking is. In a tutorial context, one can then reflect this back to the group. Social problem solving can play an important part in course work, but does require the instructor to clearly indicate when co-operation is appropriate and when it is not.

Advising Philosophy

In advising, its important to tailor the approach to the individual student's goals and capabilities. At the graduate level, I think it is important to encourage groups of students to pursue related interests in order to build up shared resources, promote cross fertilization and provide mutual support over the course of a degree. It is also helpful to point students to useful books on completing degrees such as Bloom, Karp and Vojens, The Ph.D. Process: A Student's guide to Graduate School in the Sciences, or the MIT Memo on doing AI research. It is also helpful to explicitly communicate the structure of scientific research and interaction including concepts such as: reading for inspiration, developing a niche, formalizing a scientific question, understanding the relevant norms and expectations of a field, the discipine of seeing a project through, and cocktail party skills (such as handling questions about one's interests and drawing out the interests of others). A good perspective on future academic expectations about publishing, research networks, etc. is also useful.

Professional Experience and Development

I have had a variety of experiences in lecturing and teaching over the years. I have designed courses in computer literacy for middle school students, given numerous seminar talks at the University of British Columbia and the University of Toronto, lectured internationally on a variety of topics, and independently developed materials and exercises as a teaching assistant over two years at the University of Toronto. I have received a number of complements on my lectures for their clarity. I am particular gratified by complements on my presentations given at the multi-disciplinary AISB conference and the encouragement of my students to continue in the field of teaching. I worked on teaching programs as part of my Master's degree at the University of Saskatchewan and did controlled studies with instructional methods such as scaffolding in this context. In more recent research I have been studying human memory models and continue to have an interest in computer-based teaching systems. I continue to study and improve my teaching skills. I completed a six-part program in teaching skills which included video taping to facilitate self critique and units on effective commenting, mutli-cultural awareness, and effective use of audio-visual technologies.