BETAThis is a new service – your feedback will help us to improve it.

How you'll learn

This course will begin with a lot of code examples for you to type out. Don't copy and paste these. Manually typing them will help you get used to writing code.

You may be asked to type something without being shown what it does or why it works. Don't worry - to avoid overloading you the more complicated concepts are kept back for later.

Can I learn to code?

Almost certainly.

If you:

  • have basic maths skills
  • have ever learned a language (including your first language)
  • are able to type

then you can probably learn to code!

It's just a matter of practice and motivation.

Computers weren't around for most of human history. No one is born with a talent for writing code. Everyone learns.

How are modules structured?

Each module contains two kinds of content:

Lessons will teach you new concepts. These will then be reinforced with short exercises. All the code you need to write is provided in the text of the lesson.

Project tasks show you how to apply concepts we learn to your own project. They will be shown in the sidebar like this: P

To do

If there is a project task for you to do they will appear like this.

What if I get stuck?

These lessons are intended for beginners so we don't expect you to have any existing coding knowledge.

If you get stuck go to the #ddat-codelabs channel on the cross-government digital Slack team. Your fellow learners and mentors will be in this channel.

If you can't access to that Slack team you can also email the DDaT Codelabs volunteer team.

If you are having trouble with a project task it may be useful to look at the code for an example app we built. You can copy this code if you need to - but we recommend writing your own.

Lessons last updated 12th July 2019. You can improve this lesson on Github.
Part of Get started
  1. What you'll make
  2. How you'll learn
  3. An idea for your appP
  4. Describing your ideaP
  5. Prototyping your ideaP
  6. Share your workP