There is currently a great deal of interest in the teaching of coding. This has brought forth any number of opinions on the best way to teach students how to code. Frequently, this advice comes from those who are supplying a solution, often a piece of hardware or software.
This is not intended to be a cynical observation. Devices such the Raspberry Pi and languages such as Scratch have been developed with the best of intentions in mind. The trouble is, like many things developed for education, they have been done so with minimal consultation of the people who will deliver those resources in the classroom. Or perhaps it would be fairer to say that once a project starts it develops a momentum that will not be shifted by the voice of the classroom.
If this section had a motto it would be this: the way that you learned to program isn’t necessarily the best way for everyone to learn to program.
If you’re an IT professional, if you’re someone who’s been coding for years, it probably means that you’re someone who likes programming. You probably liked it because you found programming structures natural and logical. But not everyone thinks like you do. Even people who have opted to study Computing don’t always think like you do.
Everyone has an opinion on how things should be taught, and the methods they suggested are usually excellent for the person offering the advice. People learn at different rates, they benefit from experiencing different styles of teaching and learning.
What follows are examples and advice gleaned from 20 years in the classroom…
- Steps to Learning Programming
- Air Force Collaboratory
- Emacs Tutorial
- Coders or Priests?
- What’s Wrong with the Raspberry Pi?
- Why We Need to Define the Difference between Coding and Programming
- HTML, DOT and Non Turing Complete Languages
- The Turtle System
- British Informatics Olympiad: Format
- British Informatics Olympiad: Breaking Down Problems
- Microbits. Really?
- Functional Programming in Haskell for A level teachers
- Code is Poetry
- Writing Better Code 1
- The Best Programming Language