Scratch Game Programming for Young Adults

A fun guide to programming for kids & teens or adults who want to help kids learn to code.
4.4 (50 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
4,577 students enrolled
100% off
Take This Course
  • Lectures 32
  • Length 6.5 hours
  • Skill Level Beginner Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 12/2016 English

Course Description

Scratch is the best educational programming software for kids available today. With Scratch, you can create games and interactive art projects all while having lots of fun!

Designed by the MIT Media Lab’s Lifelong Kindergarten Group for 8 to 16 year olds, Scratch is a free programming environment that runs in your web browser. But Scratch users consist of people of all ages, including younger children with their parents. The software makes it easy for anyone to start developing their programming and problem-solving skills.

I’m Al Sweigart, the author of several programming books for kids and beginners. This course follows the content of my latest book Scratch Programming Playground, which you can read for free online under a Creative Commons license. This is my second Udemy course following my highly-rated "Automate the Boring Stuff with Python Programming".

This course (and supplemental book) covers the creation of several classic games like brick Breaker, Snake, and Fruit Ninja. Instead of memorizing a list of programming concepts, you’re guided through making these games and picking up programming concepts on the way. The lectures follow the 6 game and computer art projects, along with additional content on debugging and experimenting with Scratch.

This course won’t make you a software engineer or app developer, but it can provide kids with fun activities and give parents and K-12 teachers the training they need to help children learn to code. By the end of this course, you’ll have a solid understanding of Scratch and its community of millions of users.

What are the requirements?

  • How to use a mouse (right-clicking, dragging).
  • Typing proficiency is helpful but not required.
  • No previous programming experience is needed.

What am I going to get from this course?

  • Program 6 different video games and interactive art projects.
  • Figure out how to experiment with Scratch to continue learning.
  • Share and show off their projects to others in the Scratch community.
  • Help others discover and learn programming techniques in Scratch.

Who is the target audience?

  • Kids ages 8 to 16 who want to make fun programming projects.
  • Parents who want to help their kids learn to program.
  • Teachers, including non-technical instructors, who want to guide afterschool coding clubs.
  • This is not an introduction to becoming a app developer or professional software engineer.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Getting Started

In this lecture, you'll sign up for a free Scratch account, download the course content files, and optionally install the offline editor. You'll learn how to upload your programs from the offline editor to the Scratch website. If you choose to not use the offline editor, you can use the browser-based Scratch editor. Either way, you'll be able to share your Scratch games with others over the Internet.

6 questions

Covers details about the Scratch Editor


In this lecture, you'll learn about the basics the Scratch editor and it's pieces: the Stage, the Scripts Area, the Code Blocks, the Sprites Area, and about the sprites on the Stage. At the end of this lecture, you'll be able to pull code blocks from the Code Blocks area and snap them together into a program, as well as edit the stacks of blocks you've made. You'll also learn how to save your program to your computer or the Scratch website.

8 questions

Covers the different parts of the Scratch Editor and how to use code blocks

Section 2: Rainbow Lines Project

In this lecture, you'll learn about the Paint Editor, Scratch's built-in drawing program. At the end of this lecture, you'll be able to draw simple sprites using the Paint Editor, as well as program the sprite to run code blocks in a "forever" loop code block. You'll also understand how Scratch uses degrees to point the sprite, and where you can find this direction information in the Info Pane.

10 questions

Covers concepts that came up making the Rainbow Lines program


In this lecture, you'll learn some Scratch editor tricks like duplicating sprites. You'll also be introduced to the turquoise Pen blocks. After this lecture, you'll be able to draw lines using these blocks. We also cover debugging a mistake that happens in the drawing code, and the new "wait" code block.

8 questions

Covers concepts that came up making the Rainbow Lines program

Section 3: The Scratch Help System and Paint Editor

In this lecture, you'll learn how to find help with Scratch's built-in Help system and the Scratch forums. You'll also be able to share your project and look at other users' projects on the Scratch website.

7 questions

Covers finding help on Scratch and sharing your projects


In this lecture, you'll learn more details about the paint editor and the Costumes tab. At the end of the lecture, you'll know how to use the various drawing tools to create shapes and colors for your sprites. You'll also know how to draw perfectly straight lines, change the line width, and draw shapes that are filled-in and outlined.

7 questions

Covers the Paint Editor and its tools

Section 4: Maze Game Project

In this lecture, you'll start the second programming project: a maze game. You'll learn about Cartesian Coordinates and how they are using in programming. At the end of this lecture, you'll know how to use several of the code blocks from the dark blue Motion category, as well as how to program a sprite to move around in response to the keyboard. You'll also be able to identify a few common mistakes made using the Motion blocks.

7 questions

Covers the wall-blocking code of the maze game


In this lecture, you'll use the files in the course content zip file and learn how to upload them into the Scratch editor. By the end of this lecture, you'll know how to take any image from the Internet and use it in your Scratch programs. We also cover a few of the code blocks from the purple Looks category, and how to make it so that sprites can't walk through walls.

5 questions

Covers the concepts used in part 2 of the maze game


In this lecture, you'll learn how to use the images that come with Scratch to set the backdrop and new sprites. We'll also introduce the magenta Sound code blocks and the "broadcast" blocks. At the end of this lecture, you'll be able to have sprites control each other through broadcast messages, allowing for more complicated behaviors.

6 questions

Covers the concepts used in part 3 of the maze game

Section 5: Extend the Maze Game Project

In this lecture, you'll be taking the previous Maze game and extending it by adding new features. Not only will you learn to create programs, but you'll also learn how to make modifications to programs. This lecture's new features are a second player. At the end of this course, you'll know how to duplicate sprites for a second player and the code changes needed to make your game accommodate two players.

Lecture 10 Quiz
3 questions

In this lecture, you'll create clones of sprites to create several traps in the maze. By the end of the lecture, you'll understand when you should create clones (as opposed to duplicating sprites), and using the "show" and "hide" blocks to affect the visibility of the clones. The traps work with the new "touching color" block, which allows for a new way to detect when sprites have collided with each other. You'll also learn how to get fractions as well as whole numbers from the green "pick random" block.

Lecture 11 Quiz
6 questions

In this lecture, you'll extend the maze game to include cheat codes. You'll learn how to add special keys to unlock the cheats that let players walk through walls. At the end of this lecture, you'll know how to use the Boolean "and" and "or" code blocks to add complex conditions to your "if then" blocks.

Lecture 12 Quiz
5 questions
Section 6: Basketball Game Project

In this lecture, we start a new Basketball game project. This program will use variables from the orange Data category. By the end of the lecture, you'll know how variables are used to implement realistic gravity. This lecture will also give you experience making games from a side view, rather than the maze game's top-down view.

Lecture 13 Quiz
4 questions

In this lecture, you'll create a floating basketball hoop that uses the "glide" block to smoothly hover around the Stage. At the end of this lecture, you'll know how to use the ghost effect to separate a sprite's image with what counts as "touching" the sprite. You'll also learn how to use the Scratch editor's Grow and Shrink tools to change the size of the sprites.

Lecture 14 Quiz
4 questions

In this lecture, you'll implement the basketball sprite's code. You'll learn how to make one sprite appear to throw another sprite. The way the program is made has a scoring bug, but you'll be able to identify the bug and fix it in the code.

Lecture 15 Quiz
5 questions
Section 7: Extend the Basketball Game Project

Similar to what you did with the maze program, in this lecture you'll add a second player by duplicating sprites. You'll learn what adjustments have to be made to accommodate two players. You'll also implement a secret cheat code. This lecture reinforces the skills you picked up when extending the maze game.

Lecture 16 Quiz
1 question
Section 8: Brick Breaker Game Project

In this lecture, you'll create the paddle for a new "brick breaker" game. This paddle sprite has "following" style of movement. You'll learn how to implement this style by setting the rotation style of the sprite. By the end of this lecture, you'll know about the three rotation styles, and the new "point towards" block.

Lecture 17 Quiz
5 questions

In this lecture, you'll learn how to implement a simple math equation that controls the bouncing of the ball. This involves the math operator code blocks from the green Operators category. By the end of the lecture, you'll understand how simple math equations like these are used in programming.

Lecture 18 Quiz
4 questions

In this lecture, you'll learn more about clones and when to use them in your Scratch games. The brick breaker program makes use of a "generator" technique, where a sprite sets itself up before cloning, and ultimately disappears before the game begins. You'll also see how clones can delete themselves when they are no longer needed.

Lecture 19 Quiz
4 questions

In this lecture, you use sprites to display text messages on the Stage. By the end of the lecture, you'll have a better understanding of how everything on the Stage is either a sprite or a clone of a sprite. You'll also know how to use the Paint Editor's text tool, as well as learn about the new "wait until" code block.

Lecture 20 Quiz
3 questions
Section 9: Extend the Brick Breaker Game Project

In this lecture, you'll extend the previous brick breaker game to make it more "juicy", that is, a more polished game with cooler special effects. There are many small techniques you can add to this or any game that will turn it from a simple, boring game into an exciting one. By the end of this lecture, you'll know how to use the gradient tool in the Paint Editor, make sprites flash, and make sprites fade in and out.

Lecture 21 Quiz
5 questions

In this lecture you'll continue to polish the brick breaker game into a more exciting version. By the end of the lecture, you'll be able to add animated entrances and exits to sprites, as well as a trailing effect as a sprite moves around.You'll learn about the "brightness" effect of the "set effect" code block, as well as some new sound effects.

Lecture 22 Quiz
3 questions
Section 10: Snake Game Project

In this lecture, you'll start a new game project: Snake. You'll learn about setting the costume center of a sprite, and creating a trail of clones to form the snake's body. At the end of this lecture, you'll have learned this trail effect technique and when to use it in a program. 

Lecture 23 Quiz
3 questions

In this lecture, you'll finish the snake game. You'll use a few more simple math equations to determine the length of the snake's body and the orientation of the individual body segments. These techniques will reinforce what you've previously learned about the green Operators code blocks.

Lecture 24 Quiz
4 questions
Section 11: Extend the Snake Game Project

In this lecture, you'll extend the previous snake game you made with some bonus items and secret cheats. By the end of the lecture, you'll know how to create a separate bonus item that can randomly move itself around the Stage at timed intervals. You'll also change the "color effect" setting of the snake body sprite to create a rainbow effect with the snake body's clones.

Lecture 25 Quiz
1 question
Section 12: Fruit Slicer Game Project

In this lecture, you'll start a new game project that is a clone of the popular Fruit Ninja game. You will get some practice using the Paint Editor's drawing tools, as well as managing several different events with the "broadcast" code blocks. By the end of the lecture, you'll know how to implement some common video game mechanics, such as having a start screen and a high score.

Lecture 26 Quiz
3 questions

In this lecture, you'll learn about lists. Lists are like advanced variables that can store multiple values. By the end o the lecture, you'll be familiar with the new code blocks for manipulating lists, as well as how to use lists to "record" the positions of the mouse. This technique will be used to draw the "slices" in our Fruit Slicer game.

Lecture 27 Quiz
3 questions

In this lecture, you'll implement the slicing in the Fruit Slicer game. The technique used builds upon the Pen drawing code blocks used back in the Rainbow Lines program. You'll also know how to create your own code blocks in the More Blocks category, specifically to run Turbo Mode for a select script instead of the entire program. These advanced techniques make it possible to create a much more sophisticated gameplay experience.

Lecture 28 Quiz
3 questions

In this lecture, you'll learn the advanced "select" drawing tool in the Paint Editor, and how to switch the "bitmap" and "vector" drawing modes. By the end of the lecture, you'll be able to reorder and duplicate the costumes of a sprite.

Lecture 29 Quiz
2 questions

In this lecture, you will once again deploy a simple math equation to control the trajectory of the fruit. You'll also reuse the gravity techniques introduced in the basketball game, as well as the "clone generator" technique used in the brick breaker game.

Lecture 30 Quiz
2 questions

In this lecture, you'll implement the code for the slice sprite to detect when it is cutting the fruit. This involves using the "broadcast" block to communicate between two sprites. You'll also use broadcasts to control various game events: when the game starts, when a fruit is missed, and when the game ends.

Lecture 31 Quiz
3 questions

In this lecture, you finish the Fruit Slicer game. You'll learn how to use a white sprite to implement a "fade to white" animation effect. You will also extend this game with a cheat code and a website-wide high score system. By the end of this lecture, you'll have used Scratch's advanced "cloud variables" to keep track of the highest score of everyone who's played the game on the Scratch website, as well as how cloud variables work and their limitations.

Lecture 32 Quiz
3 questions

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Al Sweigart, Software developer, tech book author

Al Sweigart is a software developer in San Francisco. He has written four Python programming books, spoken at Python conferences, and has taught both kids and adults how to program. Python is his favorite programming language, and he is the developer of several open source modules for it. He is driven to make programming knowledge available to all, and his books freely available under a Creative Commons license.

Ready to start learning?
Take This Course