• raspberry pi
  • National Centre for Computing Education logo

Introduction to Programming with Scratch

Discover the fundamentals of programming using the block-based programming language Scratch.

3,177 enrolled on this course

A illustrated collage showing various parts of the course, including: coding blocks and video game characters
  • Duration

    4 weeks
  • Weekly study

    2 hours

Learn how to program your own animations and games

Scratch is a powerful, visual programming language that provides a great introduction to the world of programming. By snapping blocks together, you can create amazing animations and games.

Over this four-week course, you’ll learn how to navigate the Scratch programming environment, create your own programs, and share your creations.

Explore the key programming concepts

You’ll start this course with an introduction to the Scratch programming language and the fundamentals of working with sprites, costumes, and backdrops.

As you progress, you’ll build your knowledge of core programming concepts and how best to use them, from sequencing and repetition to selection and variables. Throughout the course, you’ll create your own animations and games to test your new skills.

Become part of the Scratch community to share and remix Scratch projects

A key benefit of working in Scratch is the community, which can be used for support, collaboration, and inspiration.

You’ll become part of the Scratch community, exploring the website and its many features. At different points across this course, you’ll be encouraged to share your work with the wider community and you’ll learn how to view and remix other people’s work.

Create Scratch programs with user interactions built in

As you work towards your final Scratch project of this course, you’ll learn how to produce Scratch programs that allow the user to interact with them with keypresses, text answers, and motion. Using Scratch extensions, you’ll also learn how to create programs that draw shapes, play music, and even sense the user’s movements using a webcam.

Then, you’ll bring all of your new programming knowledge and skills together to build your own game or animation using the tools and concepts you’ve learnt throughout this course.

Download video: standard or HD

Skip to 0 minutes and 0 seconds UPBEAT MUSIC How can you create your own animations, games, and interactive stories with programming? What is Scratch, and how can you use it to learn about the fundamentals of programming and computational thinking? This free course will give you an exciting introduction to block-based programming, and help you start your journey into the world of coding. You’ll learn about key programming concepts, such as sequence and repetition. You’ll also use selection and variables to make your projects engaging and interactive. And you’ll share your projects with people from all over the world, connecting with a global community of digital makers. This four week course also contains peer led discussions, trainer interaction, and practical activities to help you embed your new knowledge.

Skip to 0 minutes and 49 seconds So whether you are an educator with students of your own, or simply curious about coding, this course will give you an introduction to programming with Scratch. Sign up now at


  • Week 1

    Sequencing in Scratch

    • Welcome to the course

      Meet our educators and your fellow participants, and start to explore how you can give computers instructions so that they do what you want.

    • Getting to know Scratch

      Set up and familiarise yourself with Scratch, and program your first project.

    • Sequencing in programming

      Discover the importance of the order of your instructions in Scratch programs.

  • Week 2

    Iteration, abstraction, and the Scratch community

    • Using repetition in Scratch

      Learn about the different ways you can repeat commands in your Scratch programs.

    • Creating your own blocks

      Discover how to create your own Scratch blocks and use them in your code.

    • The Scratch Community

      Find out about the Scratch community and other sources of inspiration to help in your programming journey.

  • Week 3

    Using conditions, selection, and variables in your projects

    • Conditions – true or false

      Learn what 'conditions' mean in programming and see how you can use a statement being either true or false to change what a program does.

    • Selection

      Discover how to trigger actions in a program by using 'if … then …' statements.

    • Variables

      Learn about variables and how they can be used in programming to do things like personalise a user's experience, keep a score in a game, or work with values from sensors, such as temperature.

  • Week 4

    The power of lists and extensions

    • Lists

      Learn about lists — ordered sets of data in programming — and how you can take advantage of them in Scratch.

    • Extensions

      Discover how to use an extension to expand what you can do in Scratch. Draw objects, create music, and use video in your Scratch projects.

    • Your Scratch project

      Use all the programming concepts and Scratch programming skills that you have learnt to complete a final project.

When would you like to start?

  • Date to be announced

Add to Wishlist to be emailed when new dates are announced

Learning on this course

On every step of the course you can meet other learners, share your ideas and join in with active discussions in the comments.

What will you achieve?

By the end of the course, you‘ll be able to...

  • Explain how to use the Scratch programming environment
  • Describe a range of Scratch commands and what they do
  • Produce Scratch programs that allow the user to interact with them with key presses, text answers, and motion
  • Demonstrate the key programming concepts of sequence, repetition, selection, and variables in Scratch programs

Who is the course for?

This course is designed for anyone with an interest in programming and who wants to learn to program using Scratch, a block-based programming language.

Who developed the course?

Raspberry Pi Foundation

The Raspberry Pi Foundation works to put the power of digital making into the hands of people all over the world, so they are capable of understanding and shaping our increasingly digital world.

National Centre for Computing Education

This course is part of the National Centre for Computing Education (NCCE). Funded by the Department for Education and partners, we aim to change the way computing is taught in schools across England, and enable more young people to benefit from studying this important subject.

If you are a teacher in England you can get free upgraded access to this course, and use it towards NCCE certification. To do this, you must join the course through the Teach Computing website

Learning on FutureLearn

Your learning, your rules

  • Courses are split into weeks, activities, and steps to help you keep track of your learning
  • Learn through a mix of bite-sized videos, long- and short-form articles, audio, and practical activities
  • Stay motivated by using the Progress page to keep track of your step completion and assessment scores

Join a global classroom

  • Experience the power of social learning, and get inspired by an international network of learners
  • Share ideas with your peers and course educators on every step of the course
  • Join the conversation by reading, @ing, liking, bookmarking, and replying to comments from others

Map your progress

  • As you work through the course, use notifications and the Progress page to guide your learning
  • Whenever you’re ready, mark each step as complete, you’re in control
  • Complete 90% of course steps and all of the assessments to earn your certificate

Want to know more about learning on FutureLearn? Using FutureLearn

Learner reviews

Learner reviews cannot be loaded due to your cookie settings. Please and refresh the page to view this content.

Do you know someone who'd love this course? Tell them about it...