Recent Posts

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here:
Cookie Policy

Steps to Learning Programming

There are lots of programming languages designed to make learning programming easier. In my experience they are a waste of time for most students. Many of the languages will allow students to make apparent progress and to produce what appear to be impressive applications, but if students don’t understand what they’re doing, they’ll quickly lose interest.

Here are the things that students need to learn, and the rough order in which they need to learn them.

Imperative commands such as PRINT “hello”

Variables and types, particularly the difference between strings and numbers

Simple arithmetical operations e.g. a = 3, b =4, c = a+b

Branch commands such as IF answer = “Paris” THEN PRINT “Correct”

More complicated branch commands – IF THEN ELSE

For loops or equivalent

While loops or equivalent

Nested branch commands

Nested loop commands

Arrays

Traversing Arrays using for loops and while loops

Functions and Procedures, or equivalent

And that’s it. Everything else in programming can be achieved using the above. The rest is just readability, convenience and elegance

The problem with some languages, particularly the visual ones, is that students produce results without understanding the above. If students don’t understand the above, they don’t understand programming.

Python allows you to teach all of the above. And then once the student has learned, they can build on what they know, replacing the pieces of their Python toolkit with more advanced constructs as they learn. And as programmers, they’re always learning…