Learn to Code in 2017 for Free

There’s something great about the spirit of wanting to improve ourselves and January seems to be the right month to kick start some life changing habits. If you’re looking for something a little different this year, learning to code could be the right choice.

Programming is becoming one of the most coveted skills to have in the workplace. While it’s not everyone’s cup of tea, having a basic understanding of how programming works will enrich your experiences with technology, both in the workplace and at home. One of the great things about programming is that there are tonnes of resources online that can help you teach yourself at your own pace. What’s even better is that the majority of them are completely free, all year round.

So if you’re sick of the ‘New Year, New Me’ mantra, there’s no pressure - these support tools allow you to dip in and out when it suits you.

There are a lot of different programming languages you can learn, each of which can be used to do different tasks - build a website, solve equations, create games. However, since we love apps so much, we’ve compiled a list of the most useful tools to get you on the app development bandwagon.

iOS Development


iOS development means creating apps specifically for iPhones or iPads. While native apps can be developed using Objective C or Swift, learning Swift, Apple’s own programming language released in 2014, is probably a wiser choice as it has more support in it’s forums.


What you need

XCode, the development environment, and a Mac.


Online Resources


Developing iOS 9 apps with Swift on iTunes U

This lecture style series is a great way to learn by doing - each lesson comes with an assignment, and means you can practice as you go. The fact that it is laid out in hour long videos that progress with difficulty means you can schedule it into your week, just like a gym class or language lesson. (It also means you can pause and rewind if you need to).


Ray Wenderlich Blog

This blog has some great support for when you’re comfortable enough with iOS development to get stuck in some common pitfalls.


Swift Playground for iPad

If you have an iPad, this tool is excellent for playing with Swift in an engaging way. The app comes with preloaded lessons to help you learn the basics and progress with difficulty, allowing you to tackle real life iOS development problems. Playground also has a real-time compiler which makes it easy to catch any mistakes you make sooner rather than later.


And some more...

lrn AppMimo AppThe Swift Programming Language ebook.

Android Development

Java is an object oriented programming language which is used to develop native Android applications. While it can be quite intimidating to learn, there are a lot of support forums which will make your life a lot easier. On top of this, Android uses a lot of libraries which have some great documentation explaining when and how to use each method.


What you need

Android Studio (learn how to set up you computer to support Android development here) and a PC.


Online Resources


New Boston on Youtube

New Boston tutorials are a great aid in learning Java programming. Not only will you get to know ‘Bucky’ better, but it’ll give you the perfect base knowledge of Object Oriented programming that you need to get going with Android development. New Boston also has Android specific tutorials which assume a level of certain level of prior Java knowledge.


Ray Wenderlich

Just like with iOS, Ray’s blog gives step by step guides out of those common pitfalls which occur when you reach a certain standard of Android development.


Android Tutorials

The Android developer website provides a great path to learning app development, from setting up your environment to creating your first application. It also keeps up to date with development for the newest versions of Android and has links to the most common libraries.


And some more...

Udacity, Code Academy, Head First Java ebook.


And finally, Stack Overflow is a great support forum for beginners learning to code in any language. Generally speaking, most problems you encounter will be common enough to have been asked and answered on this before. SO also gives you the option to ask specific programming questions and get answers from the community.


Let us know how you get on on Twitter or Facebook. If you get stuck, be sure to get in touch - we'd love to hear from you.