Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Learn to Code

Government Digital Service is a diverse organisation, with lots of people with lots of different skills. Some people who work at GDS are professional software engineers, but many have never written any code.

This repo contains tutorials that are intended to take an absolute beginner through the basics of writing code.


πŸ‘©β€πŸ’» Under active development πŸ‘¨β€πŸ’»

Following a successful ✈️ pilot ✈️ of three 1 hour sessions in the first quarter of 2019, we have continued developing these sessions based on feedback from students and retrospectives with coaches.

The second iteration involved three 2 hour sessions in the third quarter of 2019.

The current format is four 2 hour sessions, which will run in the first quarter of 2020.

Rough plan

Since we've only got three sessions we're going to stick to the basics. Initially I'm thinking something like the following:

Introduction to HTML and CSS

In which we build and style a little webpage

Can maybe use design system so it feels like more of an achievement?

Introduction to the command line and ruby

Introduce using the terminal and ruby

irb for testing ruby expressions

Writing Ruby scripts

ruby blah.rb will run scripts

More advanced Ruby functionality

Introduction to HTTP and running code on the web

little webrick server that serves HTML / CSS etc. Webrick is nice because we can do it without installing any dependencies.

Can build a form that takes input and does the same thing as the previous exercise.

Out of scope

  • git
  • any terminal things beyond the essential (ls, cd, irb, ruby)?



πŸ• πŸ“‡ Learn to Code at GDS


Code of conduct

Security policy





No releases published


No packages published