My name is Alisdair Tullo and I work in the school of Philosophy, Psychology and Language Sciences
I hope to convince you that immediate visual feedback (or other perceptual equivalent?) is important in teaching beginners
I realise that “immediate” and “visual” are two seperate things but I think they’re useful for similar reasons
I’ll bring in other important stuff along the way
I will undoubtedly talk about some unimportant things too
Unflinching honesty about the drawbacks too
First question anyone every asks is what do you use / recommend, so here we go ….
The Old Days when I started, learning C and having to deal with compiler stuff before you even got any feedback (though even 1st year Computer Science in 1999 had a “washing machine problem” with visual feedback)
I wrote a boring programming course: https://github.com/alisdt/python-intro
How to add numbers, write comments, …. BORING
Errors disappearing is visual feedback, but I bet what you thought I meant is drawing pictures (I did)
also do HTML/CSS/JS for online expts. which is application focussed and more naturally visual / interactive! https://softdev.ppls.ed.ac.uk/online_experiments/
Series of assertions with no evidence other than my own experience, brace yourself
Immediate feedback improves the student's mental model of what the computer is doing
Visual feedback in particular is inherently more interesting and engaging than just fiddling with text and numbers
biggest problem in teaching beginners is getting stuck / frustration / “I can’t do this”
biggest problem in writing a course to teach beginners is what to teach first
when and what do I teach about flow and control?
with visual feedback, pick a goal (something to draw) and that will lead through concepts
“what to teach first” isn't everything
biggest factor in retention in my classes is the amount of sunlight / windows in the room!
Students have to feel like they are being supported to learn (have enough tutors, teach in person if you can)
I should really go and find out what studies have been done on teaching programming