Teaching Computer Programming in Snap!

By James Hsu, FCSN Youth Volunteer, Computer Programming Instructor

With the rapid advancement of technology and integration with our daily lives, it is inevitable we understand the basics of this mysterious force. A couple years ago, I learned about Snap! Programming language and instantly thought it was a perfect gateway for special needs children to be introduced to the world of programming. 

I was grateful to be given the opportunity to lead a computer class in 2020 Fall, and I developed 10 classes for 9 students. The students really enjoyed coding with the colorful blocks and loved seeing the instant results of their coding. Many of them signed up for our successive sessions. At the beginning, I was concerned whether the students would be able to absorb the concepts, so I asked them to fill out feedback surveys after each class to gauge whether they found the concepts too easy or too difficult. Surprisingly, they mostly thought the content was engaging and the difficulty was just right. 

A quick overview of Snap! is that it is a graphical programming language that uses colorful blocks of scripts to connect with each other and create programs that run instantaneously. It has a wide range of versatility such as playing music, drawing, moving, detection, etc. Snap! allows for students to program really simple codes, but as students progress through the lessons, students can learn to program really complex programs with multiple moving parts. 

This is the Snap! interface. Blocks of different functions are on the left, the coding area is in the center, and the right is where students can see how their program is running.

While Snap! is an educational program and not used in the professional world, it is extremely useful in helping students understand the concept of coding in languages such as Java, Python, etc. It helps them visualize the code, and by showing them instantaneous results, helps them understand the concept of programming. My hope for students taking this class is to introduce them to the world of coding, and prepare them to explore real-world coding languages. 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s