Scratch is one of the most popular and widely used coding tools for younger students and would be suitable for many middle school capstone projects. Developed by the Lifelong Kindergarten group at the MIT Media Lab, Scratch allows students to program by dragging and dropping blocks of code to create interactive stories, games, and animations. It uses a visual, block-based programming language that does not require students to know any text-based syntax. This makes it very accessible for beginners. Scratch’s online community is also very active and encourages sharing of projects, which could help students get feedback and ideas on their capstone work. The platform is freely available at scratch.mit.edu.
Another good option is App Lab from Code.org. App Lab allows students to code games, animations and more using a simple drag-and-drop interface very similar to Scratch, but is web-based rather than a downloaded application. It also integrates with Code.org’s larger suite of curriculum and courses, which teachers can leverage for lesson planning and project ideas aligned to state standards. Like Scratch, App Lab has a large online sharing community as well. An advantage it has over Scratch is the ability to more easily add features like sound, images and interaction with device hardware like the camera. This could allow students to create more robust apps and games for their capstone project.
If the capstone involves hardware projects, the physical computing versions of MakeCode like micro:bit and Circuit Playground Express are excellent choices. These allow students to code microcontrollers to control lights, motors, sensors and more using block and text-based languages. This could enable projects like data logging devices, robots, interactive art installations and more. Both include extensive libraries of sample projects and are designed to be very beginner friendly. They also have large learning communities online for help and inspiration.
Another good programmable hardware option is littleBits. littleBits are magnetic snap-together electronic blocks like buttons, LEDs, motors and sensors that connect together using the contact points. The blocks can then be programmed by dragging color-coded magnetic wires between power, input and output blocks. This allows hands-on physical computing and circuitry projects without needing to solder or know electronics. Kits include pre-made project examples as well as an online library of community projects. Since there is no screen, littleBits is best combined with another coding tool if an interactive program is desired. It opens up many options for physical computing and tinkering types of projects.
All of these recommended tools – Scratch, App Lab, Microsoft MakeCode, micro:bit, Circuit Playground Express and littleBits – are suitable options for engaging middle school students in coding and leveraging the constructionist learning approach of learning by making capstone projects. When selecting a tool, considerations should include students’ experience levels, the type of project being undertaken, availability of resources, and how well a tool aligns to curriculum standards. Teachers can also find additional tools that work well, these provide a solid starting point and have large user communities for additional support. The most suitable tool will depend on each unique situation, but these are excellent choices to explore for computer science learning through personally meaningful capstone work.