Snap!

Build Your Own Blocks

Visit Website →

Overview

Snap! is a free, block-based programming language with a browser-based editor that is visually similar to Scratch but includes more advanced features. It is designed for a more rigorous introduction to computer science for high school or early college students. Key features not found in Scratch include the ability to create your own custom blocks (procedures and functions), first-class lists, first-class procedures (lambda), and nested sprites. This makes it powerful enough to teach deep computer science concepts.

✨ Key Features

  • Visual, drag-and-drop programming
  • Create your own custom blocks (procedures/functions)
  • First-class procedures (lambda functions)
  • First-class lists and sprites
  • Can be used to teach advanced CS concepts like recursion and data structures
  • Runs in any modern web browser

🎯 Key Differentiators

  • Targets a more advanced audience (high school/college) than Scratch
  • Ability to create custom blocks is a powerful tool for teaching abstraction
  • First-class data types allow for teaching of more advanced computer science concepts
  • Developed at UC Berkeley

Unique Value: Snap! extends the accessibility of block-based programming to cover serious computer science concepts, providing a 'high ceiling' environment for deep learning without the 'low floor' limitations of other block languages.

🎯 Use Cases (4)

High school AP Computer Science Principles courses Introductory computer science courses at the university level Students who have mastered Scratch and are looking for the next step Teaching advanced programming concepts in a visual environment

✅ Best For

  • The core language for the 'Beauty and Joy of Computing' (BJC) curriculum, a popular AP CSP course.
  • Used in universities to introduce computer science majors to fundamental concepts.

💡 Check With Vendor

Verify these considerations match your specific requirements:

  • Younger elementary school students
  • Users who want to learn a specific text-based language
  • Developing commercial applications

🏆 Alternatives

Scratch Blockly Code.org App Lab

While Scratch is designed for beginners to get started, Snap! is designed for those beginners to grow into advanced programmers. It prioritizes computer science principles over simplicity.

💻 Platforms

Web

✅ Offline Mode Available

🛟 Support Options

  • ✓ Email Support

🔒 Compliance & Security

✓ GDPR ✓ COPPA

💰 Pricing

Contact for pricing
Free Tier Available

Free tier: The platform is completely free.

Visit Snap! Website →