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:
- A computer. Internet access is useful, as there are a number of resources linked from these notes that aren't accessible when you are offline, but it isn't essential for you to follow along with this course.
- At least one decent web browser installed: Any of the following are ok:
- Recommended text editor: Any text editor is ok, as long as it is a pure text editor (Word and Open Office are not appropriate) that supports UTF-8 (NotePad is not ok). Sublime Text has a free trial available, for all platforms, and is excellent. Other free alternatives include:
- NotePad++ for Windows
- TextWrangler for Mac
- Gedit for Linux.
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
- Lesson 1: There's a lot of code. Everywhere
- Lesson 2: Variables
- Lesson 3: Conditions and loops
- Lesson 4: Doing useful things
- Lesson 5: Have fun drawing: HTML5 canvas basics
- Lesson 6: Functions and events
- Lesson 7: Further improving our guessing game with events
- Lesson 8: More challenges
- 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:
- Sign up to Codecademy and work through all the JavaScript Fundamentals courses. This is a great way to get the basics into your head.
- Work through some of the other courses on codecademy such as the Web fundamentals, jQuery, Python and Ruby courses.
- Have a look Code School's training videos
- Download and read the rather excellent free book, Eloquent JavaScript.
- Look at lots of other people's code! Go on to your favourite web sites and view source, go to Github and search for some interesting code.
This work is licensed under a Creative Commons Attribution 4.0 International License. Share it, make it better, use it for good.