
Introduction to the course
A brief introduction to getting started with MIT Scratch and the Scratch project interface
Understanding the Stage Coordinate System
A few tips on the Udemy interface and on how to get the most from this course
How to ask questions and share your work.
Intro to this section of the course
In this section you'll be introduced to the concept of variables and start to learn why they are such an important and fundamental part of programming.
In this lesson you'll be introduced to the concept of variable scope and start to see why this is an important part of programming and why this is such an important concept to understand when creating and working with variables.
In this lesson we'll work through a few more examples and see how there can be different types of variables.
Test your new knowledge of variables in this variable challenge. Watch the challenge video for challenge instructions then complete the challenge by finding the variable challenge link under the "Resources" tab. Then "Remix" the Scratch project and complete the challenge. Good luck! Then, check out the solution video in the next lesson.
View a solution to the Variable Challenge.
In this lesson we'll start to talk about control structure and talk specifically about the idea of events and listeners.
We continue to talk about control structures
We continue going over different control structures
More on control structures and we talk about the idea of branching code
We talk about the important of related data and the idea of "keys" to link related data together across multiple tables.
In this lesson we introduce the idea of custom blocks (or functions) and talk about the importance of not unnecessarily repeating lines of code.
More about custom blocks, specifically the ability to pass in parameters
Even more on custom blocks -- they are super useful!
What is that "run w/o screen refresh" option anyway?
Section introduction
What are backdrops?
What are sprites?
How to create your own sprites with the shape tool
Understanding the difference between vector and bitmap graphics.
Understanding clones.
Understanding costumes and animation
Understanding the concept of frame rate.
Some tips on working with coding blocks in Scratch
Understanding the backpack -- a helpful tool!
The importance of commenting your code
How to add extensions for more functionality.
Intro to meteor math project section of the course
Challenge 1 - Let's create our ship
Solution 1 - How I went about creating the ship
Challenge 2 - Let's get our ship moving!
My solution to the ship movement challenge
Challenge 3 - How do we get our ship to fire bullets?
My solution to Challenge 3
Challenge 4 - How do we create and place meteors?
My solution to Challenge 4
Challenge 5 - Collision Detection
My solution to the collision detection challenge
Challenge 6 - Another challenge related to collision detection
My solution to the rest of the collision detection problem
Challenge 7 - How do we create the math problems?
The first part of the math problem solution
The 2nd part of the math problem solution
Challenge 8 - Creating the Score Bar
Solution to the Score Bar Challenge
Challenge 9 - Animating Meteor Destruction
Solution to Challenge 9
Challenge 10 - Problem solving a meteor placement issue
Solution to Challenge 10
Challenge 11 - Creating Game Levels
Solution to the game level challenge
Challenge 12 - Showing Solutions for Incorrect Answers
Solution to Challenge 12
Challenge - Adding some final game elements
Solution to the final game elements challenge
Introduction to the snake game project
Challenge 1 - Creating a checkerboard pattern
Solution to the Checkerboard/Grid Challenge
Challenge 2 - Game Flow and Snake Head Placement
Challenge 2 solution
Challenge 3 - Setting up a movement system
Movement System solution
Challenge 4 - Flexible Sizing
Solution for challenge 4
Challenge 5 - Placing the Food
Solution to the placing the food challenge
Challenge 6 - Eating the food
Solution to the eating the food challenge
Challenge 7 - Positioning the body segments
Positioning the body segments solution
Challenge 8 - Collision Detection
Solution to collision detection
Challenge 9 - Adding Sound FX
Adding Sound FX solution
Challenge 10 - Score tracking and game levels
Score tracking and game levels solution
Challenge 11 - Adding a Multiplier Bonus
Multiplier Bonus Solution
Challenge 12 - Creating a Flying Score Display
Flying score display solution
Challenge 13 - Creating a High Score Board
High Score Board solution
You did it! Congratulations on finishing the course
Parents and teachers, do have students/kids who would benefit from learning the valuable skill of programming?
Anyone can code. It's not hard. In this course, through games and fun activities, I teach the fundamental programming fundamentals that have allowed me to earn a living as a professional coder for the past 20 years. There are valuable skills that came have a lasting impact...but it's also just fun!
Here's how the course is structured:
The Platform
We'll use MIT Scratch is a free, beginner-friendly visual programming language developed by the MIT Media Lab, specifically by the Lifelong Kindergarten Group. It's designed to teach the fundamentals of coding in a playful, engaging way—especially to kids and beginners of all ages.
Section 1: Introduction
We introduce MIT Scratch and cover all the basics for getting started
Section 2: The Fundamentals of Programming
We'll review the core tenets of programming that apply to any coding language! This teaching approach is meant to give students the crucial foundation that is going to help them progress as a coder.
Section 3: A Few More Scratch Related Things You Should Know
Continuing with the idea of building a framework for success, in this section we'll review some things specific to the MIT Scratch Platform that are going to be crucial to understand as we progress through the upcoming activities in the course.
Section 4: Creating a Meteor Math Game
The fun begins! Now we enter the part of the course where students can really expand upon that foundation we've built up in the early sections of the course and start to bring ideas to life. In this exercise we'll create a fun and engaging Meteor Math Game.
This section and the following sections include challenge files to help students learn by doing. All of the code and Scratch files will be provided for the various stages of the game so students can easily review solutions and become "unstuck" should they need help. These lessons will also help students practice/develop some of the core traits of a good programmer:
problem-solving skills
logical thinking
creativity
debugging
persistence
attention to detail
deconstruction -- breaking a larger problem into smaller, more manageable parts
Section 5: Creating a Classic Snake Game
The fun continues as student will build a classic snake game and really learn how to start bringing their own ideas to life through logical thinking, testing/debugging, and stepwise iteration.
Section 6: Final Thoughts and Challenge
Wrapping things up and launching students to new heights with their newfound knowledge and coding skills!
Help kids unlock their potential and enroll them today! Or, it's never too late for anyone to learn!
A Note from Greg:
I really hope you or someone you care about will join me inside this course to experience the joy of coding and also to unlock a valuable skillset that is super relevant in today's modern world. These are the skills that have not only brought me a ton of joy, but also earned me income and helped me provide for my family. Anyone can code. It's not hard & in this course I'm going to help students learn the fundamentals that can unlock a whole new world of possibility.
cheers,
Greg