Source Academy - A Community-Developed Environment for Teaching Programming

03/02/2023, 3pm

Speaker

Boyd Anderson and Martin Henz (co-author: Kok-Lim Low)

Abstract

In 2012, the authors took responsibility for the first-semester computer science course CS1101S with 45 students. This talk reviews the subsequent 10-year learning process of engaging undergraduate students to facilitate small-group teaching and to design and develop the online learning environment Source Academy to conduct the course. CS1101S currently enrols around 800 students per year with three academic staff and around 110 student facilitators. Source Academy was conceived, designed, and implemented by students of the course and provides the glue for building a sustainable and scalable community of learners, educators, and budding software developers. Source Academy includes transpilers, virtual machines, type checkers and interpreters to run JavaScript and course-specific sublanguages of JavaScript and TypeScript in the browser and on LEGO Mindstorms robots. The talk features demo sessions of Source Academy and an analysis of the impact of the system and the course over the last four years. We give a preview of Python and Scheme support in Source Academy and would like to explore its potential for PLSE teaching and research beyond CS1101S with you.

Bios

Boyd Anderson

Boyd Anderson is a Lecturer in the Department of Computer Science at the School of Computing at the National University of Singapore (NUS). He received his PhD from the NUS Graduate School for Integrative Sciences and Engineering in association with School of Computing in 2019. He received a Masters and Postgraduate Diploma of Science in Statistics and Operations Research, a Graduate Diploma of Science in Computer Science and a Bachelors of Science in Physics from Victoria University of Wellington. His research interests are in the fields of Embedded Systems, Body Sensor Networks, and the Internet of Things. His doctorate research focused on human gait measurement and analysis using Ultra Wideband sensor systems.

Martin Henz

The guiding motivation for Martin's work is the scalability of experiential learning. With his colleagues at the NUS School of Computing (SoC), he has scaled the experiential introductory course CS1101S from 48 students in 2012 to 750 students in 2022. He is also teaching the experiential course CS4215 Programming Language Implementation, and subscribes to SoC's project-based course CP3108 for experiential learning projects. The work on CS1101S culminated in the textbook Structure and Interpretation of Computer Programs, JavaScript Edition, by Harold Abelson and Gerald J. Sussman, adapted to JavaScript by Martin Henz and Tobias Wrigstad, with Julie Sussman, published by MIT Press in April 2022. CS1101S also motivated the development of the Source Academy, an immersive online experiential environment for learning programming used in CS1101S, at University of San Francisco, and at Uppsala University.

Additional Links