Teaching Philosophy

The core of my teaching philosophy provides students with an education that couples a solid theoretical foundation with practical implementation for effective student learning. I shape this core philosophy through the application of active learning classroom techniques and utilize modern technology to reflect the information age that we live in today.

Through the Internet and other global knowledge bases, I believe that today's students learn as much, if not more, outside of the classroom than within it. As educators, I believe that our role is to supplant this existing knowledge base with our own insights and experiences and subsequently transfer these insights to our students.

My classes are therefore a mixture of lecture with supplemented readings that are done outside of the class. Rather than summarize assigned textbooks, my goal, instead, is to provide worthwhile information to students above what can be gleaned from textbooks alone. As an example, in a course on Object-Oriented Languages and Systems, I spend little time describing the commands and functions (facts) available in a particular version control software tool, since these can easily be looked up online or in reference manuals. Instead, I focus my lecture on the best practices and rationale behind why these tools exist at all (insight). Similarly, in a course on Software Engineering as Human Activity, I spend very little time describing the reading itself, leaving this task for the student to pursue at home. Instead, the class time is spent analyzing and reflecting on material through active learning activities, such as think-pair-share, and informal discussions.

My approach to student assessment parallels my teaching philosophy. For theoretical knowledge, I use exams and traditional homework assignments, all of which are open book, open notes, open Internet, and even open computers. The only restriction is that students may not communicate with other students. My exam philosophy is largely influenced by MIT faculty member Dr. Winston, who states, "guided by our desire to test subject understanding rather than general intelligence, we decided to resist the temptation to be so clever that our quizzes test the students on how well they can penetrate our cleverness, rather than their understanding of the material." In my classes students should never be surprised about the material that appears on the exam. In fact, I explicitly mark potential exam topics at key points in my lectures, though the actual question that appears on the exam may vary to some degree. 

For the practical knowledge dimension of my teaching philosophy, I use class projects that require students to apply the theoretical concepts that they have learned in class to actual systems. These projects tend to be more complex than homework assignments, and often integrate multiple concepts in a course to reflect the reality that industrial projects do not exist in isolation; they are often an amalgam of many disjointed topics that form a unified whole. To assist students in these activities, I provide sample output of the final product and intermediate stages that the student can use as milestones.

In recognition of the fact that students have different learning preferences, I try not to limit resources or techniques that are available for the students. For instance, students are allowed to use laptops in class if that assists in their learning process. I do not restrict the use of particular texts nor do I prohibit students from utilizing Internet resources. I encourage students to look at multiple sources of information when learning about a topic. Whenever possible, I try not to enforce a particular operating system or programming language for the student. I do not prohibit communication with other students on homework or projects, though the student work must be their own. Finally, if a distance version of the course is offered, the recorded lecture is also made available to the live version of the course.

As a Teaching Assistant at North Carolina State University, the majority of my teaching experiences stem from graduate courses in the Computer Science department. As I continue to grow as an educator, I hope to generalize the teaching philosophy that I have developed for the graduate classroom setting and apply it to other educational contexts.