Scratch is a product developed by MIT with the aim of making programming accessible to all. Teachers can apply for an educator account which allows them to facilitate student projects. The Scratch community can be a powerful learning tool for students, by looking inside projects they like, they can learn from others and even create their own spin-offs of their projects.
Microsoft Make Code is a free, open source platform for creating engaging computer science learning experiences that support a progression path into real-world programming. It includes a simulator, block code editor and java-script editor that work with a variety of different components. This is a great tool for facilitating project based learning using Micro:bits. These handheld, programmable micro-computers, can be used for all sorts of creations and I really enjoy letting my students go and seeing what they create.
The Hour of Code website provides a library of free activities that engage children in coding. These are not open ended like Scratch or Microsoft Make Code, but they do help children learn the basic concepts of coding in easy to understand projects. When I am looking to extend students to some of the deeper concepts of programming, I connect them with Khan Academy. Their Computer Programming course is interactive and self-paced and is perfect for motivated learners who want to learn more.
Yadav, A., & Cooper, S. (2017). Fostering creativity through computing. Communications of the ACM., 60(2), 31-33