Give Yourself the Real Power of Computers             s






Snap! Main Page

Snap! is a variation of Scratch, developed at the University of California at Berkeley. Snap retains the fun and easy-to-learn flavor of Scratch and adds to it a more rigorous treatment of Computer Science. Snap! is ideal for fresh CS learners of high school and college age.

To learn about the activities of the vibrant worldwide Snap community visit:



Home Page
Main page for the CS teaching activity at SPARK Institute





Power of Programming
Articles and papers about programming and learning.




Scratch Page
Main page for Scratch programming.




Snap! Page
Main page for Snap! programming





Books on Snap! Programming

Learn CS Concepts with Snap is a perfect textbook for beginners. Combined with the supplement below, you have all the material you need to run one year-long or two back-to-back courses for yourself or for your students.

Practice CS Concepts with Snap is a supplement to the textbook above. It offers extra review questions and practice programs on all the concepts covered in the textbook.

Pen Art in Snap Programming for those who have basic knowledge of Snap and would like to become Pen Artists or so-called "Turtle Programmers".





Python Page
Main page for Python programming




Logo Page
Main page for Logo programming





Additional Exciting Snap! Programs

This is a collection of articles: most of which describe the design of interesting and challenging Snap programs. Some articles also address advanced topics about how to do something in Snap.

Missing digit: Leila is a math detective; she can tell you (in "interactive" mode) or her friend Sheila (in "animation" mode) the missing digit in your (or her) number.

Slider puzzle: This is a game you play with a grid with numbered blocks. One of the cells is empty, so that neighboring blocks can slide to it. The goal of the game is to line up the numbers left-to-right and top-to-bottom. This program implements a 3x3 grid containing numbers 1 thru 8.

Simulation of Bubble Sort: In this program, we use the bubble sort algorithm to sort an array of numbers and create a graphical simulation to demonstrate how it works.


Practice addition using pictures: This is a simple program that allows a preschooler practice adding single digit numbers. It presents 2 numbers in countable picture form and asks how much they add up to.


Tic-tac-toe: This program implements the popular two-player game. You play against the computer.

Solo chess: This program implements a popular board game that purports to "train" young minds for the game of chess. It uses a 4x4 chess board and only 10 chess pieces.

Eight queen puzzle: This program implements the famous eight queen puzzle in which you have to arrange eight queens on an empty chessboard such that none of them checks any other. The program has both "manual" and "auto" modes.

Zork: Zork is an interactive game of monsters in the dungeon. There is a multi-story dungeon in which the gamer needs to find a way to the room that contains the 'grand prize'.  On their way, they may have to fight monsters, grab swords and magic stones, and move up or down the dungeon.

Connect4: This is a 2-player game which consists of two sets of colored coins and a standing grid of rows and columns. Each player takes one set of coins and then by turn drops coins down any of the vertical columns (we will call them “tubes”). In this program, you play with the computer (which plays like a monkey!)

Escape from the zoo: The aim of the game is to free all animals from the zoo (a 4x4 grid). To free these animals from the zoo make them exit from right (east) by clicking one at a time. Each clicked animal lines up in a "freedom queue" below the grid.

Adventures in Pen Art: This is a collection of some challenging and exciting drawing and painting projects, such as a recursive tree, Sierpinski triangles, and the US flag. Everything you see is drawn by the Snap Pen and there is no use of the STAMP command.









Please contact if you have any questions or comments.


Last modified: 11 August 2020