According to About Snap! (retrieved Aug. 2018), “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 lists, first class procedures, and continuations. These added capabilities make it suitable for a serious introduction to computer science for high school or college students.”
“Snap! (formerly BYOB) is an extended reimplementation of Scratch (http://scratch.mit.edu) that allows you to Build Your Own Blocks. It also features firstclass lists, first class procedures, first class sprites, first class costumes, first class sounds, and first class continuations. These added capabilities make it suitable for a serious introduction to computer science for high school or college students.” (Snap! Reference Manual, Version 4.1
- Poppy (Educational robot that can be programmed with Snap)
- Turtlestitch A snap! extension for machine embroidery
- Beetle Blocks A snap! extension for 3D printing
- Scratch, the simpler (and more popular) MIT language
- Snap! Project page
- The Beauty and Joy of Computing (BJC) (A course a syllabus for non-CS undergraduates and high school students)
- Garcia, D., Harvey, B., & Barnes, T. (2015). The beauty and joy of computing. ACM Inroads, 6(4), 71-79. http://bjc.berkeley.edu/documents/2015%20ACM%20Inroads%20-%20The%20Beauty%20and%20Joy%20of%20Computing.pdf
- Harvey, B., Garcia, D. D., Barnes, T., Titterton, N., Miller, O., Armendariz, D., ... & Paley, J. (2014, March). Snap!(build your own blocks). In Proceedings of the 45th ACM technical symposium on Computer science education (pp. 749-749). ACM. https://dl.acm.org/citation.cfm?id=2157351
- Cateté, V., Snider, E., & Barnes, T. (2016, July). Developing a rubric for a creative CS Principles lab. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (pp. 290-295). ACM.
- Price, T. W., & Barnes, T. (2015, July). Comparing textual and block interfaces in a novice programming environment. In Proceedings of the eleventh annual International Conference on International Computing Education Research (pp. 91-99). ACM.
- Snyder, L., Barnes, T., Garcia, D., Paul, J., & Simon, B. (2012). The first five computer science principles pilots: summary and comparisons. Inroads, 3(2), 54-57.