Login

Please fill in your details to login.





a.4 programming paradigms & languages

This is where theory comes to life. Programming is the art of using specialized tools and different
page icon
Learn the structured 'blueprints' and professional processes used to plan, build, and maintain complex software systems from start to finish.
page icon
Master the ecosystem of professional software and digital tools - like code editors and debuggers - that help programmers write, test, and fix their work efficiently.
page icon
Get to grips with the universal building blocks - like variables, data types, and operators - that are the foundation of almost every programming language in existence.
page icon
Master the three essential 'control structures' - sequence, selection, and iteration - that allow you to dictate exactly how and when a computer executes your instructions.
page icon
Learn to conquer complexity by breaking your code into small, named, reusable sections that make your programs more organized and much easier for others to understand.
page icon
Develop the vital skills needed to manipulate text-based data and save information permanently to files so it isn't lost when your program closes.
page icon
Explore the different 'ways of thinking' or styles of programming—such as modeling the world as objects or focusing on mathematical functions—to choose the best approach for any problem.
page icon
Understand the 'behind-the-scenes' process of how human-readable code is converted by compilers and interpreters into the binary machine code that a CPU can actually execute.
page icon
Go beyond 'just making it work' by applying professional techniques like defensive design and rigorous testing to ensure your software is robust, secure, and easy for people to use.

Before you start to learn to code, you need a reason! That could be because you are studying it at school, you have a family member who works in the industry or you are simply interested. The normal route for learning to program runs through...

STATIC programming environments like Scratch, Code Studio, LightBot, Hour of Code and Robozzle where challenges are set and completed using a limited instruction set;
CONTROLLED programming environments like CodeCombat where the development is more open ended but still takes place in a controlled environment like a game;
OPEN programming environments like Coderbyte where open challenges are set to be solved in a variety of different ways in different languages (but in this case requires a paid subscription);
TRADITIONAL desktop programming environments like Python, Java and C++ where all you get is an Integrated Development Environment and a book. Challenges come later.

I'd suggest that you start with a static programming environment. Indeed, you might have already used one in school to help you learn to code without having to worry about typing instructions. I'll assume that you have had a play with Scratch and that you've tried some of the Code Studio courses (like the Hour of Code) before we carry on.

  
  
  
  
  

At some point, if you are serious about programming, you will have to learn a text based languages like Python. Block based languages are OK if a) the designer provided the blocks you need and b) you aren't trying to get the language to do something it's not designed to do. As Brian Kernighan once said ...

image
Brian Kernighan wrote one of the first popular programming books 'The C Programming Language' which contained the first reference to 'Hello World', reportedly from a cartoon of a chick emerging from an egg saying 'Hello World!'

Cool places to learn to program on the web
🌐
www.codecademy.com
🌐
🌐
www.lexaloffle.com
🌐
lightbot.com
LightBot is a puzzle game based on coding; it secretly teaches you programming logic as you play!
🌐
🌐
🌐
www.w3schools.com

Last modified: February 10th, 2026
The Computing Café works best in landscape mode.
Rotate your device.
Dismiss Warning