Teaching Philosophy

I believe that it is my responsibility as a teacher to go beyond simply imparting facts.   I believe in engaging students as partners in developing their learning experience.  I believe that for Computer Science and Information Technology students to be successful, either in industry or in the pursuit of an advanced degree, three needs must be met: students need to be prepared to be life-long learners; students need to be able to apply what they learn in meaningful ways; and students need to be able to work both independently and collaboratively. 

The ability to be a life-long learner is necessary for anyone working with computer technology.   As Ray Kurzweil has noted, changes in technology exhibit “the phenomenon of an exponentially quickening pace.”  We cannot stop at merely teaching students about today’s technologies.   Given technology’s rapid rate of change, students must learn how to learn.   Students must be able to rapidly pick up and integrate new and emerging technologies.  

One way that I help students to become life-long learners is by providing context and history.   I help students to see how we arrived at where we are today in order for them to be able to understand the context when presented with new technologies.   For example, when I teach data communications, I bring in relays, vacuum tubes, and acoustic coupler modems in order to help bring earlier technologies to life.   These props tend to help improve student engagement and often act as a catalyst for interesting dialogs. 

According to Grace Hopper, “The wonderful thing about standards is that there are so many of them to choose from.   A second way to help students become life-long learners is by exposing them to diverse technologies.   If students learn to work with two or three different technologies to solve a particular problem, and have been given the opportunity to compare and contrast each technology’s strengths and weaknesses, then students will be better prepared to evaluate and embrace emerging technologies when they are encountered.  For example, students could be asked to create a quiz in both Perl and JavaScript to enhance a website. This assignment would demonstrate some of the differences between server-side and client-side processing, and would open up a discussion on the benefits and problems encountered by each one.

Learning must go beyond the ability to regurgitate facts on a test.   Learning needs to be relevant; students need to understand how they could apply what they learn in meaningful ways.   This is something that I lived through, and strongly believe in.   As an undergraduate, when I asked why we needed to learn calculus, all that I heard was “in order to find the area under the curve.” I found the class uninteresting and struggled with it.   In my first job after graduating, I needed to tune a phased antenna array.   Imagine my surprise when I found that I was using basic calculus in order to optimize the tuning.   I am sure that I would have found the calculus class more interesting, and would have been more motivated to learn the material, if we had been given real-world examples.  Therefore, in order to make my lessons relevant, I strive to infuse them with real-world examples culled from my personal experiences in industry.  

Learning is not a passive experience.   While relevance can help to motivate learning, the true test of success is a student’s ability to apply what they have learned.   I have found that applying the student centered Problem-based Learning (PBL) approach to my classes not only allows students to demonstrate what they have learned, but also promotes the development of critical thinking, communication, teamwork, and problem solving skills.   For example, in my undergraduate web development course, teams of students needed to develop web sites to meet curricular needs for an inner-city school district.   Throughout the semester the students met with their clients (teachers and librarians), first to determine specific needs, then to share ideas and show development progress, and finally to launch the site at the school district.   What my students liked most about this course was that they were able to see their site being used by the youngsters in elementary and middle-school classes. 

In PBL, learning occurs in small groups and builds collaboration skills.  However, PBL also acknowledges that each individual’s contribution is necessary for the team’s success.  PBL encourages students to take responsibility for their own learning and provides a safe environment for them to seek assistance from their teammates.   In this manner, students are both learners and teachers.   PBL fosters collaboration and communication, and recognizes the importance of individual contribution; all the while applying learning to real-world problems.   

Good teaching comes from years of trial and error, yet I know that my courses are works in progress.   In order to help improve my teaching, I encourage student comments and suggestions about the course through a weekly online feedback form.   The feedback form solicits information from my students about that week’s lessons, the status of their project, and their team’s dynamics.   I use this feedback to revise my lesson plans, to help keep their projects on track, and to address problems as they arise.  

My interactions with my students go beyond the time spent in the classroom.  I make myself available not only to those who are registered in my courses, but also to any student who contacts me.  When appropriate, I invite students to participate in my research activities.  These activities range from programming to annotating data to performing literature reviews, and always have a learning benefit for the student.