August 19, 1997
My approach and attitude towards teaching is typified by one of my favorite quotations:
As a teacher I feel it is my job to structure the student's learning environment such that it maintains an appropriate level of demand, richness and accommodation. I then try to take the role of the student's guide through this environment leading them towards the answers and information that they need.
My ideas and opinions about teaching have been heavily influenced by my involvement in the Workshop Physics project in the department of Physics and the Workshop Calculus project in the Math and Computer Science department at Dickinson College. The way physics and math courses are taught at the high school, college and university level is undergoing a major paradigm shift. The current emphasis is on learning environments centered around more hands-on, interactive and discovery based activities where the role of the instructor is shifted from presenter to guide. Research has shown that on average students taking courses in these new environments obtain a deeper understanding of the material than students who have taken traditional lecture based courses.
In computer science most courses already contain significant hands-on components in the form of programming projects. However, in the majority of cases these projects are presented as "here's a problem you can solve given what you have learned in class." I prefer to turn that approach around backwards and present it as "There is this problem and we would like to be able to solve it because... Now what tools do we need to solve it?" The purpose of the course is then to give the students the tools they need to solve the problem. This approach seems to create a situation where students are more motivated because the relevance of what they are learning is immediately apparent. This approach also leads to what I call a project centered course as opposed to a project augmented course.
Project centered courses can provide an effective framework for the specification of well formed but also open-ended problems. The use of open-ended problems allows students at all levels to be challenged. This is particularly relevant at the introductory level in computer science where the background of students ranges from the quite skilled to those that have never touched a computer before. Often the biggest challenge for the more advanced students at the introductory level is learning the syntax of a new programming language, and many times that isn't even true. This lack of challenge early in their studies can promote a lazy attitude towards their courses, creating problems for them and their future instructors. Using open-ended projects with base components sufficient for an entry level course and extensions that are easy to identify and are increasingly challenging allows students at all levels to find an appropriate challenge in every project.
I believe that with respect to hands-on and interactive learning computer science is a very unique case. This uniqueness results because the interactive and hands-on learning in a computer science curriculum is facilitated by exactly the same thing the students are learning about, the computer. One implication of this is that what students learn can enable them to modify and extend properly structured learning environments. Further, if the curriculum is structured appropriately students may even create their own learning environments as they progress through their studies. Student developed learning environments form the basis for curriculum spanning projects in which students develop tools and programs that are used and extended in future courses. Such curriculum spanning projects provide an opportunity to emphasize the idea of reusable code and object-oriented design, they also help make explicit the implicit relationships between courses.
In general I believe the more responsibility students are required to take for their own learning, in the form of projects, research papers or other hands-on activities, the more fully they will grasp the course material. I do not feel that this in any way lessens my responsibility as an instructor. Rather, my responsibility often increases because I must shape traditional materials around the projects so that students are able to comprehend the significance of the projects on which they are working. Ultimately what draws me to teaching is exactly this challenge of structuring the student's environment in such a way that it contains all of the tools and information that they need to teach themselves.