Scratch is a free block-based visual programming tool that young people can use to easily create a variety of projects, while they also learn about the more advanced world of computer programming. It can be used online in a web browser or you can download it to your computer.
You can see example projects in our Scratch studio!
Please note: This category does not include projects that use Scratch to program hardware elements or electronics, such as robots. Those should be submitted in the Hardware category with an accompanying video — we want to see your projects in action!
The following sets of project end with a final activity that would be a perfect submission to Coolest Projects:
Games (Non Scratch-based)
This category includes any kind of game made in a programming language other than Scratch. You might use a text-based programming language such as Python, or a game engine (for example, Unity, Unreal Engine, or Blender).
If you need some inspiration and guidance, check out these game-based project tutorials:
If you need some inspiration, check out these web-based project tutorials:
This category covers projects that involve interactive apps for phones or tablets that help, inform, or entertain people.
You can demonstrate your app on a mobile device, such as a phone or tablet, or you can use a desktop-based emulator. If you need some inspiration, check out these app-based project tutorials:
This category includes robots, machines, and hardware hacks. You can create your project using hardware platforms such as Raspberry Pi, Arduino, micro:bit, or Adafruit boards to influence the physical world.
If you don’t have access to physical hardware, you can use an emulator: there's MakeCode for micro:bit and Trinket for the Raspberry Pi Sense HAT. For some inspiration, check out these hardware-based project tutorials:
This category is for projects that have been taken to the next technical level. It includes projects written in advanced languages, such as C++ and advanced Python, or projects that combine multiple technologies, APIs, or types of hardware. Here are a few tutorials to get you started on an Advanced Programming project:
The judges need to see your code in order to review your project — make sure you include it if you're submitting a video!