The Carpentries is a global non-profit initiative to help build foundational skills in coding and data science. For example, Software Carpentry contains lessons about the shell, git, R and Python, while Data Carpentry and Library Carpentry teach more domain-specific knowledge.
I took part in a two-day remote workshop to learn how to become a badged Carpentries instructor. There was a strong focus on understanding how people learn and how best to teach them to maintain motivation.
The schedule and materials from the workshop are available openly online. I encourage you to take a look and consider becoming an instructor yourself.
I learnt a lot from the part of the workshop about live coding and wanted to share the experience.
The Carpentries use a specific workshop format with an emphasis on using participatory live coding. This means people follow along with the instructor who is sharing their code on a screen at the front of the room. There are no slideshows to sit through, so no ‘death by PowerPoint’.
There are some features of live coding that make it conducive to learning:
I recommend looking at The Carpentries top ten tips for participatory live coding, which is a short but excellent resource to make sure people get the most out of your session.
You can probably remember a workshop that you enjoyed and learnt a lot from. Maybe you can think of one that didn’t go so well. What was the difference? How can you, as an instructor, engage with participants and motivate learning?
In the ‘live coding is a skill’ lesson we watched two contrasting videos staged by Lex Nederbragt that show an instructor live-coding in front of a class.
These videos are linked in the sections below. Pay attention to whether they follow the top tips for live coding in particular.
First, take a look at this video of an instructor who has room to improve. What did you notice? What would make it difficult for you to engage?
For example, the instructor didn’t:
These are all behaviours that can be improved upon given feedback and reflection.
The second video demonstrated more positive behaviours. For example, the instructor:
This time the instructor considered the needs of the audience and kept them engaged.
We then did short, three-minute, live-coding demos of Carpentries materials in small groups. We provided feedback to help each other improve and engage better with learners.
We ran the demo twice each: the first time was relatively cold with little preparation, but for the second attempt we had a chance to react to the feedback and to think about the teaching demo assessment rubric.
I chose to do the ‘exploring data frames’ episode of the R for Reproducible Scientific Research lesson of Software Carpentry.
Positive feedback from my first attempt included that I:
Some points to improve upon where that I:
c()function was for ‘concatenating’ elements into vectors, which is a word that some people may not be familiar with
I reacted to the feedback to help improve things for my second live-coding demo. For example, I:
c()function means to ‘combine’ rather than to ‘concatenate’
I also did a couple of extra things:
The second attempt was well-received, thanks to feedback and a greater appreciation of the audience’s needs,
I got a lot out of the workshop and will be continuing the checkout process to get badged as a Carpentries instructor.
Do take a look at the workshop materials, particularly the top ten tips for participatory live coding, and consider becoming an instructor yourself.
This post was originally published on Matt Dray’s personal blog