ED011-04
Rubber ducks and double labs: teaching debugging strategies in a geoscience class

Tuesday, 8 December 2020: 17:40
Virtual
Alice C Bradley, Williams College, Williamstown, MA, United States
Abstract:
Modern Climate is an upper-level geoscience course focused on what models can tell us about how Earth’s climate system responds to anthropogenic forcings. In addition to learning about components of the climate system and how they interact, students are learning how climate models use energy and momentum transfer to make projections. Labs are a series of multi-week modeling projects using MATLAB, starting with a single-point energy balance model and scaling up to using GCM results from forcing experiments coordinated through CMIP6.

Many students take this class with no prior programming experience, and are learning programming fundamentals while applying them to these modeling and data analysis projects. Previously, there had been a weekly three-hour lab block where students could meet to work on these projects. For many students, the bulk of this time was spent asking for help debugging. In light of the move to online instruction, labs were rescheduled as two hour-long sessions during the week, which encouraged students to work more independently and try things before seeking help. In light of all the previous struggles with debugging, Rubber Duck Debugging (where you explain each line of code to your duck) was taught at the beginning of the term as a strategy for finding errors in code (and thinking carefully about its construction), and all students were outfitted with a rubber duck for this purpose. This talk covers the lessons learned from both of these approaches.