Archive for June, 2011

Reflecting on Student Teaching Evaluations

June 8, 2011 Leave a comment

I have recently received my student teaching evaluations for the spring semester. During that semester, I taught two sections of an introductory class with an overall enrollment close to 110 students. In my department, currently I am the only pre-tenure faculty who is assigned to teach introductory classes on a regular basis. Of course, I take this as a recognition of my teaching abilities. ūüôā

It looks like I must have done something right this time. Out of the 69 students who chose to take this online survey, 64 rated me as good or excellent. So my students ranked my overall teaching effectiveness at 3.36 on the scale of 1 to 4. At first, I was a little disappointed. When I teach more advanced undergraduate classes, my score rarely goes below 3.6. However, as I was informed by a senior colleague, the score of 3.36 in an introductory course is considered unusually high.

I can certainly see why. Teaching introductory courses is not easy, particularly for a research faculty. Some students are still transitioning from high school to college, and are trying to figure out what to expect from their instructors. One thing that some students do not seem to understand is that in a research university, their instructors are active researchers who also teach. I personally do not consider this a detriment to the education quality and always try to mention the latest research developments  even when discussing the most rudimentary topics. While some students appreciated this as some of the most effective facets of my teaching, others thought that I should not have mentioned anything not directly related to the curriculum.

Although I received a lot of compliments on my ability to explain complex concepts clearly, some students thought that my teaching style was at times dry. Well, as hard as one may try, it is not easy to present the fundamentals of programming in an entertaining fashion all the time. Usually, I do much better in that regard in more advanced courses.

This semester, I have tried to introduce some educational innovation into the curriculum. My department generously assigned me an extra TA, and I was fortunate to hire a member of the VT Bus Tracker team whose dedicated task was to expose some real-time Web data through convenient APIs that can be used in introductory student projects. Thus, in addition to canned programming projects, we offered students an opportunity to create their own projects that used live Web data. Some of the students took this opportunity and impressed us with their creativity and technical prowess. This option effectively solved the problem of some advanced students being bored with standard projects. I was also able to recruit some students for research projects.

Overall, I had an amazing TA team that deserves a lot of credit for making this class a success. All of the TAs were highly competent, professional, and motivated. And it was nice to see that many students appreciated this fact in their evaluations. For classes with large enrollments, effective TAs are as important as the instructor.

OK, what am I going to do differently next time I teach an introductory class? I’ll try to use the Socratic method even to a greater extent than I used this time. Regularly, I’d pose programming problems to the class and let students come up with a solution. After that, I’d ask for volunteers to present their answer. Next time, I’ll try to minimize the amount of time when I lecture at the students and use such in class problem solving more.

In addition, I plan to use real-time Web data in all programming projects. Modern day introductory CS students are sophisticated consumers of real-time Web-based data; they find a world without e-mail, instant messaging, smart phones, etc. hard to imagine. And yet programming projects assigned in introductory courses often have little to do with students’ perceptions of what computing is about and why they became interested in it. To address this problem, I am currently exploring how more real-time Web-based data can be used in introductory programming projects. Examples of real-time data accessible over the Web include stock values, traffic information, weather, public transit, flight information, inventory overviews, and many others. Using real-time data provided by real-world Web-based systems will contextualize programming projects and will also introduce some of the most exciting computing technologies to introductory students. This should  increase student engagement and to expand the content that students traditionally learn. And these positive developments perhaps will also be reflected in the student teaching evaluations!