Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I am involved in a first year programming and algorithms course. In a recent lec

ID: 654520 • Letter: I

Question

I am involved in a first year programming and algorithms course. In a recent lecture, I decided to present the material using live coding, which essentially meant that I sit behind the keyboard and write code and evaluate it, using emacs to facilitate the process.

This was quite successful and students commented on how much they appreciated the more (inter)active format. As this was my first attempt using this teaching format, I know that it did not run perfectly. Some of the problems were related to being not as savvy with emacs as I should be, and others were to do with allowing student questions to take me too far from my script. I know I can do better.

What are some guidelines for giving lectures (and other demonstrations) using live coding lectures?
What are the pitfalls to avoid?

Explanation / Answer

Here are some tips and pitfalls I've collected after using live coding for a week, and from talking to a colleague.

DOs

Prepare a script to follow and try to stick to it.
Clear the buffers frequently to focus on relevant part.
Start afresh for each new topic.
Use a bigger font.
Master the tool you are using, to avoid wasting too much time on trivialities.
Have background functions precoded. If not particularly relevant, ensure they can be imported, rather than appearing in the working file.
Ideally work in a language that give you immediate feedback. Languages with an interactive shell are best in this regard.
When using a typed, give the expected type of the function you are writing. This provides a guiding light for the students.
Freely make mistakes (though not too many). Step through how these should be fixed.
Don't forget