Codehound: Helping Instructors Track Pedagogical Code Dependencies in Course Materials
Instructors of programming courses must manage a variety of pedagogical dependencies in their teaching materials. For instance, updating the code used in a single lesson can require cascading changes to other lessons in the course. Currently, they must manually maintain these dependencies across many files, which is tedious and error-prone. To help instructors track pedagogical code dependencies, we created a system called Codehound that uses static analysis to automatically detect where functions are introduced and reused through an entire course. To show how Codehound can be used, we present three usage scenarios inspired by our own experiences teaching large data science courses. These scenarios demonstrate how Codehound can help instructors create new content, collaborate with staff to refactor existing content, and estimate the cost of future course changes.
Mon 5 DecDisplayed time zone: Auckland, Wellington change
09:00 - 10:00
Morning 1SPLASH-E at Seminar Room G125
Chair(s): Molly Feldman Oberlin College
The session is hybrid, with the first talk being in-person, and the second virtual. The physical venue G125 has video equipment for online presentation via airmeet. The SPLASH 2022 airmeet page is: https://tinyurl.com/splash2022virtual. Look for the SPLASH-E sessions there and bookmark them. For issues, use the airmeet chat if you are joining online, and look for the student volunteer Jiwon Park, if you in G125.
|Codehound: Helping Instructors Track Pedagogical Code Dependencies in Course MaterialsIn Person|
Sam Lau University of California at San Diego, Philip Guo University of California at San DiegoDOI
|The Role of Abstraction in Introductory ProgrammingVirtual|
Kezia Devathasan University of Victoria, Celina Berg University of Victoria, Daniela Damian University of VictoriaDOI