Q1 Snap!

Run Snap!

You can open Snap! and run it in your web browser using this link: Run Snap!

Class Resources for Snap!

  1. Snap Website - Link

  2. Class Slides - Link - Here is the folder containing all of the instructional material created by your teacher(s).

  3. Past Lesson Plans - Link - Here is the folder containing all of the past lesson plans. These contain practice exercises, assignments and projects.

  4. Tips For Using Snap! - bitly.com/snap-advice - These are some very useful tips that a veteran teacher of Snap! built and continues to modify.

  5. Scratch Resources Online - There are TONS of resources on the internet teaching people to use Scratch (MIT's original version that UC Berkeley extended to become Snap!). As Snap! is an extension of Scratch, you can use the wealth of resources available online for Scratch and it will either perfectly or very closely correlate with Snap!

Why Snap! First?

Snap! will be our first programming language and our entry into the world of computer science. The idea here is that rather than typing out text-based code first and having lots of syntax errors such as misspelling a word or leaving out a semicolon, the code is already written for you in drag-and-drop blocks. Your job will be to assemble these pre-made blocks of code into groups that perform desired tasks. Over the next few weeks we will look what various types of blocks do and how they can be assembled. You will then be challenged to assemble groups of blocks to make projects such as a level of the original NES Super Mario Brothers and a level of Pong.

About Snap! (from their website)

Snap! will be our first programming language and our entry into the world of computer science. The idea here is that rather than typing out text-based code first and having lots of syntax errors such as misspelling a word or leaving out a semicolon, the code is already written for you in drag-and-drop blocks. Your job will be to assemble these pre-made blocks of code into groups that perform desired tasks. Over the next few weeks we will look what various types of blocks do and how they can be assembled. You will then be challenged to assemble groups of blocks to make projects such as a level of the original NES Super Mario Brothers and a level of Pong.

A brief description of Snap! from the Snap! website:

"Snap! (formerly BYOB) is a visual, drag-and-drop programming language. It is an extended reimplementation of Scratch (a project of the Lifelong Kindergarten Group at the MIT Media Lab) that allows you to Build Your Own Blocks. It also features first class[1] lists, first class procedures, and continuations[2]. These added capabilities make it suitable for a serious introduction to computer science for high school or college students.

In the example below, a Snap! user can create new control structures, such as a for loop (which isn’t built into the language), by writing a script as shown at the left. Once the for block is created, it can be used even to make nested loops, as shown in the center. A sprite carries out that script at the right."