Click here if you wish to read this and the AI guide in a language other than English.
The eCraft2Learn project is developing a set of extensions to the Snap! programming language to enable children (and non-expert programmers) to build AI programs. You can use all the AI blocks after importing this file into Snap! or Snap4Arduino. Or you can see examples of using these blocks inside this Snap! project.
A guide that describes the extensions, projects, and the larger context currently consists of four chapters:
|Adding speaking to programs||Teacher guide||Student guide|
|Adding listening to programs||Teacher guide||Student guide|
|Adding image recognition to programs||Teacher guide||Student guide|
|Adding machine learning to programs||Teacher guide||Student guide|
|Working with words and language New!||Teacher guide||Student guide|
The paper AI Programming by Children by Ken Kahn and Niall Winters describes this work and will be published in the Proceedings of the Constructionism 2018 Conference in August. An early version of the AI extension to Snap! is described in the paper Child-friendly Programming Interfaces to AI Cloud Services also by Ken Kahn and Niall Winters.
The following demonstration programs use the AI Snap! blocks. They run best in the Chrome browser.
We have collected some projects by students who have used these AI blocks.
Send email to Ken Kahn (email@example.com) if you encounter problems or have questions.
Nearly all modern computers have a GPU. Without one or with a very primitive one programs using machine learning may run very slow. For example, the image machine learning commands run very slowly on Raspberry Pis. The audio training primitives, however, do run well on Raspberry Pis.
You can import this file into your existing or new projects. The AI blocks can then be found in the Snap! palette under , , or .