How to Read the Guide
A Map for the Journey Ahead
Our goal with this guide is to help you on your journey to learn programming. As we have already mentioned, our focus is not on teaching you to master a specific programming language. Instead, we want to help you learn the concepts that underpin all programming languages, so that you acquire the tools to pick up any language you might need. This means you will be much better equipped to adapt to the changing landscape of computing than someone who has just focused on learning whatever language is currently popular.
Every chapter in the guide covers one topic, beginning with an overview and then a breakdown of the concepts related to it. For each concept we will explain what it is, when to use it, and provide examples. When appropriate, we will also explore how the concept works “underneath” — what the computer is actually doing.
Once we have introduced the concepts, we will then take you on a guided tour of how to think about them. For this tour, we will introduce a program we wanted to build, and describe in detail the steps we took to do so. This isn’t just what we did, but why and how we approached the problem. Our hope is that by following along with our thought processes you will learn how to think as well.
The way we have approached this guide is with a philosophy that it is what you do that matters. Reading about concepts and trying out other people’s code is great, but nothing is better than time spent practicing. This is how you avoid tutorial hell, and is why every chapter in the guide includes activities for testing your knowledge. These activities ask you to build something using the concepts that were covered in the chapter. Only an overall description of a program is given, and from there it is up to you.
Using this site
- Bookmark your current page, so you can easily return to it later and pick up from where you left off!
- Use the search bar! Our search is quite powerful, and can help you find information on specific topics, or help you find that page you were reading earlier.
- Use the table of contents to navigate to different parts of the guide.
- Find something that’s not quite right? That’s entirely possible! Use the “Edit this page” link at the bottom of each page to suggest changes to the content.
Map Markers
Throughout your journey we might feel it’s necessary to highlight some information. We will do this with one of the following callouts:
Preparing
Programming is fun, but it can be challenging. They key thing is practice, but there are other things you can do to make the journey easier whether you are travelling alone or with friends. Some of our tips are:
- Take notes
Try different strategies — some people like to write summaries, others like to draw concept maps. Find out what works for you.
- Write out the code
We will give you a lot of code snippets and examples, and it will be tempting to copy-paste them into your own projects. Try to avoid the temptation! It might sound silly, but just the act of writing out the code yourself will help you solidify your understanding.
- Try things
Whenever you think “I wonder what happens if…”, try it! Experimenting is a great way of learning. Challenge yourself further by trying to guess what will happen, then see if you’re right.
You might find some parts of this journey challenging or downright frustrating. This is all a normal part of the learning process. Take breaks, ask for help when you need it, and keep persisting — you’ll get there. Remember, in the wise words of Jake the Dog: “Sucking at something is the first step toward being sort of good at something”.
Enjoy the journey!