W10: Going Live: Live Coding as an (Incredibly) Effective Tool for Teaching Programming


Mine Çetinkaya-Rundel (Duke University, RStudio)


Abstract

Just like staring at a slide with a fully derived proof is not an effective way of learning theory, staring at a script with complete code is also not an effective way of learning programming. Live coding (writing and running code while learners follow along) slows the instructor down (in a good way), motivates active learning, and highlights workflows. As evidenced by research, it’s the most effective way of teaching programming. Additionally, live coding inevitably causes instructors to make mistakes, which provides opportunities for teaching debugging, students to correct the instructor, and demonstrating that it's ok to make mistakes.

In this workshop, we will present best practices, tips, and tooling solutions for running effective live coding sessions for in-person and remote teaching and discuss potential drawbacks of live coding and how to avoid or work around them. We will start with a live coding session where the audience will get to participate as learners who are guiding the instructor through data exploration. We will also use breakout rooms to give participants a chance to practice live coding in smaller groups. Participants will have the option to use RStudio Cloud or their local R and RStudio install. We anticipate that most participants at USCOTS who teach programming know and teach R with RStudio, but a majority of the tips we provide would be applicable to teaching with other tools or in other languages as well.