by Nicholas Knight, Electrical Engineering and Computer Science
Teaching Effectiveness Award Essay, 2014
I vividly remember taking Computer Science 267 prior to serving as a GSI: it was like drinking from a firehose. The curriculum was immense, the pace was furious, and the requisite technical background for the assignments was not taught in lecture — further exacerbating the learning curve. Although I first hesitated when offered the GSI position, I am glad I accepted: the course proved to be a rewarding teaching experience.
The two biggest difficulties I faced as an instructor were the diversity of the students’ backgrounds and the large class size, involving remote participants at other UC campuses. The diversity was quite unusual for a graduate-level CS class: I taught students from neuroscience, nuclear engineering, business, mathematics, astronomy, and many other fields, often in the same office hours. And while the enrollment had nearly doubled with about 70 students, the number of GSIs (2) had remained fixed. The GSIs also had to address the unique teaching challenge presented by the remote participants. My goal was to ensure that the larger class size would not diminish the students’ ability to get help, especially the non-CS students who faced a steeper learning curve and the remote students who could not physically attend office hours.
After surveying the class in the first week, I learned that about half the students had little or no computer programming experience. Unfortunately, the CS267 homework involved a great deal of programming and familiarity with certain software tools that were not taught in lecture. So I identified the biggest technical hurdles and provided students with books, papers, and example codes in anticipation of their questions. I also set up an online forum so that all students, including the remote participants, could benefit from the questions raised in office hours. The online forum proved to be a huge success: students had their questions answered without having to wait for office hours and shared other resources they had discovered and found helpful. I was surprised how frequently students answered each other’s questions; moreover, I was impressed at the quality of their answers. I believe that the knowledge that their words were public to the entire class (and instructor team) motivated students to take the time to give well researched responses. The online forum also made office hours much more efficient: I had very few redundant questions because the common difficulties were usually already addressed on the forum, often within hours of the homework being distributed.
However, I knew it would be completely infeasible to teach half of the class how to program during office hours or via a forum. So for the first homework, I designed teams that each had a member with computer programming experience. As a result, every team completed the assignment, and the collaborative write-up ensured that each team member understood the material, even if one team member did the majority of the programming. I was explicit with the class about our strategy to combine programmers and non-programmers, and I believe this knowledge helped the team dynamics: the students with more programming experience enjoyed the opportunity to take on a leadership role within their teams, and the students with less programming experience were motivated to contribute in other ways, like researching background material, running experiments, and writing up the final report. I had initially feared that one team member would do the entire assignment, but this was not the case; on subsequent assignments, when given the choice to pick their own teams, most students decided instead to remain in their original teams.
For me, the biggest victory was having students with non-technical backgrounds get hands-on experience with cutting-edge technology usually reserved for experts. Due to the success of this course, the videotaped lectures and curriculum have since been incorporated into the NSF’s XSEDE program, to train scientists and researchers worldwide in the use of advanced digital resources like supercomputers. To date, hundreds of students have participated in this online version of CS267. This success story has involved a large team of collaborators from universities, government labs, and industry, and I am proud to have played a role.
I believe that giving students the ability to help each other, and stating this intention clearly, was instrumental to the success of the course. An online forum perfectly complemented lectures and office hours: it offered students immediate feedback, fostered a collaborative learning experience outside of the classroom, and was vital for interacting with remote participants. It was crucial to level the playing field with assigned teams from the outset; otherwise many students would have dropped the class from frustration. Students are well aware of their different backgrounds; seeing that the instructors were also cognizant of this fact, the students were less concerned about competing over their individual grades and more excited to help out their peers.