Tuesday, November 15, 2022

Computer programming-- an optimal pedagogy

It has long struck me that the most suitable courses for online learning are programming courses.

Not only that, but programming itself provides optimal learning, even without a human instructor. Quoting from one of my earlier posts:

  • Programming exercises provide immediate feedback: as soon as you run your code you see whether it works, and if not, where the problems are.
  • Learning is active: it's still up to you to figure out how to fix the problems. 
  • Standards are high: Computer programming is unforgiving--even of tiny errors. The program simply won't run if you make any mistakes. 
  • In particular, you must express things clearly and logically, without any syntax mistakes, missing steps, inconsistencies, or undefined terms.
  • There's consistent, effective reinforcement: when you get it right, the gratification is immediate and intrinsic (your program works!) 

Can't we make all learning this way--and stop saying it's bad to have high standards, unforgiving feedback, and the ever-present authority of an absolute truth that won't let you get away with anything?

An absolute Truth, indeed, that is Out There: when a program doesn't behave as it should, there generally *is* a solution, and if you persevere systematically and scientifically (generating and testing hypotheses), you'll eventually find it.

No comments: