Introduction to programming

Beginning your journey towards learning to code

Abstract

Our world is becoming increasingly controlled by computers, and you will come into contact with code and computer systems every day, most of the time not even realising it! For many of us, code is like voodoo, or black magic, and this is partially true - complex computer systems require complex code to control them. But understanding the basic principles and building blocks that underpin pretty much all programming languages is well with the grasp of all of us: really! In this course, I will take you gently through all the programming fundamentals you'll need to grasp a working understanding on how code and computer systems work, and even write some simple programs yourself.

Introduction

This is a basic course, aimed at people with no previous development/programming experience, which aims to teach the fundamentals of how systems work, and the very basics of how to program. The course uses JavaScript — the programming language that powers the Web — as the language for demonstrating all the taught concepts, but these concepts are shared across most programming languages.

To take part in this course, you just need access to a computer with a web browser and a text editor installed on it.

Note: if you have any feedback or change requests you want to give about the course, send pull requests/comments to the Introduction to programming Github repo, or send us a message on Twitter.

Resource checklist:

Assumed knowledge

No previous knowledge is assumed beyond the basics of general computer/web usage, but having some basic HTML and CSS knowledge would also be helpful.

Table of contents

  1. Lesson 1: There's a lot of code. Everywhere
  2. Lesson 2: Variables
  3. Lesson 3: Conditions and loops
  4. Lesson 4: Doing useful things
  5. Lesson 5: Have fun drawing: HTML5 canvas basics
  6. Lesson 6: Functions and events
  7. Lesson 7: Further improving our guessing game with events
  8. Lesson 8: More challenges
  9. Lesson 9: Objects and going further

Further resources

Once you've worked your way through this beginner's course, we would advise you to go on to the following:


Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License. Share it, make it better, use it for good.