by Angela Chau, Bioengineering
Teaching Effectiveness Award Essay, 2007
I was the GSI for an introductory computational biology course offered by the Bioengineering department in the fall of 2005. The course aimed not only to introduce undergraduate and graduate students to current topics in computational biology, but also to teach the necessary background to pursue research in this field, including programming in PERL. After discussions with the professor of the course, we decided that I would take charge of teaching PERL programming during the lab sections.
The first two meetings of the lab sections were nothing short of disastrous. I had designed them like traditional lab sections, where I lectured at the chalkboard during the first half and then walked around helping students complete relevant exercises during the second half. However, because there were no stated prerequisites for the class, there was a dramatic range of skills within the group, ranging from novice students with no prior programming background to highly experienced programmers who used to be system administrators. I found that not only were the novice students completely lost during the lectures, but they also lacked the fundamentals to work through the lab exercises without major hand-holding.
At the end of the second week, it was obvious that I needed to revamp the lab sections completely to fix these problems. I decided to redesign the lab sections to allow each student to learn at his or her own pace. Instead of using the few days before lab to plan out the chalkboard lecture, I used that time to implement a web page for that week’s section. This web page included notes about the particular programming topic(s) of the day as well as a set of bioinformatics-related programming exercises. To cater to the novice students I included many details on basic programming concepts and techniques, much more than I would be able to cover during lectures. Some of the programming exercises were worked out step by step and the resulting code explained line by line in order to give these students an idea of how they could approach programming problems. Assuming that the experienced students would skip most of this material, I also included more advanced exercises, examples of how to apply the concepts to biological research, and links to common bioinformatics websites that they could explore. Because students were being “taught” by the web pages during labs, I was then free to spend time working one-on-one with individual students without leaving the rest of the class waiting. One side benefit I did not foresee was that this approach also allowed students to more easily revisit material from previous weeks as necessary.
At the third lab section I walked around and asked students for their feedback. Everyone told me they loved the new method! Students who were previously lost could now take their time in understanding the fundamentals. At the same time, students who were bored could now learn about bioinformatics and work on interesting programming problems. Towards the end of the semester, I could not be more proud that nearly every student in the class could code up snippets of PERL and use this skill to answer interesting biological questions in their final projects without giving it a second thought!