It’s a snap!

Snap is a programming language that is intended to teach programming concepts without the pesky need to learn syntax.  If you’ve ever worked with Legos, K’nex, Erector or other component systems, it’s a similar concept.  Sounds easy, right?  It’s harder than it looks.

Here’s the screenshot of Snap, which can be run entirely online.The area on the left is the set of blocks you can pick from; at the top there are eight options for sets of blocks you can have displayed there.  The default is the first one, Motion.

So, when I loaded Snap for the first time, I did what any respectable programmer would do—I set about writing a “Hello, world” program in Snap.  Oh, my!  Where to begin.  Well, you need to start the program and you need to “say” the text “Hello, world!” and you need to end the program.  Well it turns out the start and end stuff is under Control.  The stuff to say things is under Looks.  And the stuff to tell it, no, you can stop saying it already (forever is an option but ewww!) is under Controls too but the condition you need to test is under Sensing.

After fiddling around with it, I discovered if you only say “Hello, world!” and end, it disappears before the user even is aware it was said.  Not good. There are options. You can set a duration or you can set until an event. I chose an event and the event I chose was a mouse-click.  Here is my version of “Hello, world!” in Snap.Next up. Pong.  Yes, you read that right.  I’m going to be a teaching assistant for a school in Hillsboro, North Dakota (remotely) and I’ll be introducing high school students to programming through Snap and then Python. So for the next while, you’ll be reading more about TEALS than FreeCodeCamp.

TEALS (Technology Education and Literacy in Schools) is the program through which I’m lucky enough to get to reach out and teach the next generation.  I have five(!) kids and of them, only one did any amount of coding (and that was a phase—he’s becoming a paralegal). This is my way of sharing my passion.

Leave a Reply

Your email address will not be published. Required fields are marked *