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. Parents and teachers can use this course's fun projects to guide their children and students to a solid understanding of basic programming concepts while having fun.
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. Parents and teachers can use this course's fun projects to guide their children and students to a solid understanding of basic programming concepts while having fun.
IMPORTANT NOTE: This course was made for Scratch 2.0. On January 1st, 2019, Scratch 3.0 was released on the Scratch website. However, you can still use the Scratch 2.0 Offline Editor. This course will be completed updated for the new 3.0 version in mid-2019. The information here is still relevant to using Scratch 3.0, though it doesn't cover 3.0's new features.
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.
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.
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.
Covers the different parts of the Scratch Editor and how to use code blocks
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.
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.
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.
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.
Covers the Paint Editor and its tools
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.
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.
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.
Covers the concepts used in part 3 of the maze game
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.