Knowledge Requirements

Anyone can learn how to do programming, just like how in the movie Ratatouille, it’s said over and over about how “Anyone can cook!”.

Though that doesn’t mean you can immediately start teaching Programming to a 5 year old child. There’s still some things to know about before we begin.
  • You need to have good English reading and typing skills.

The reason I say this is because Programming is just a way to talk to computers. That’s why they’re called Programming Languages. The computer will obey every single command you give it, without question. In fact it will do it too perfectly. It can’t think for itself, so you have to be accurate about EVERY SINGLE COMMAND you write, otherwise the code will not work and the computer will be confused. And the language we use for talking with computers, is basically just English with specific rules.
  • You need to have good Logic skills and some Maths skills.

I wrote that Programming is a way to talk to your computer, and that’s true. But the part I didn’t mention was, the struggle doesn’t come with what to tell the computer. It’s with how to tell it. And this is the part that needs a lot of thinking with a little bit of Maths, but more importantly, Logic. What I mean by logic is how well you can understand something.

Let’s say you give me three numbers: 14, 25, 19. You want me (if I were the computer) to figure out which number among them is the biggest. The thing is, you already know that 25 is the biggest out of them, but I don’t. What would you tell me to do with those three numbers to figure out which is the greatest?

The answer is: You’d tell me to compare them.
Is 14 bigger than 19? No. Is 14 bigger than 25? No. So it’s not 14.
Is 19 bigger than 14? Yes! Is 19 bigger than 25? No. So it’s not 19.
Is 25 bigger than 19? Yes! Is 25 bigger than 14? Yes! So the answer is 25.

We can try another example that doesn’t involve numbers.

Let’s say you want to play a game of Rock, Paper, Scissors with me. But I don’t know how to play it.
You simply tell me to either choose Rock, Paper, or Scissors.
If both of us were to play the same thing, it would be a draw.
Otherwise, Rock would beat Scissors. Scissors would beat Paper. Paper would beat Rock. Depending on who played what, one side wins and the other loses.
So let’s say you played Rock and I played Scissors.
Does Rock beat Scissors? Yes!
Who played Rock? You did!
So I’d lose!

Although the example of RPS I just wrote would still have Maths involved in the code, it’s not the kind that would give you a headache. It’s just logic, and if you can master logic, you can master programming. The best programming happens away from the keyboard.
This was the reason why in Equipment Requirements I talked about the Pen and Paper.