Scratch is a great platform for first-time coders, especially in grades two through four. It’s perfect for an introduction to just about every Programming 101 concept: variables, loops, conditionals, functions. It’s easy to build games, quizzes, animations, and plenty of other fun projects in Scratch, all while strengthening computational thinking skills like pattern recognition and algorithmic design.

We like the Lego Mindstorms ecosystem for connecting abstract programming concepts to the physical world. Kids get experience with both software and hardware engineering using Mindstorms EV3 kits. The physical parts are sturdy and well-designed, while the block-based, drag-and-drop programming interface is highly intuitive, providing a perfect companion to Scratch.

Python is an excellent first text-based coding language, and one of the most popular languages in the world. We’ve standardized on Python as our students’ first coding language, focusing on establishing solid fundamentals for K-8 students through the construction of a series of progressively more challenging projects.

With so much computing on the web, we also dive into the core web technologies of HTML, CSS, and Javascript, with web application frameworks like Node.js and Flask for our more advanced students. DEV / Lab students have built web applications in PHP + MySQL; coded Minecraft mods in Java; and even explored the wild world of server and network administration.

We also occasionally offer special Minecraft sessions. In general, we tend to emphasize creative (building) mode over survival (gameplay) mode, but it depends on the mix of students. We love seeing student construction of redstone devices, traps, and farms, and Minecraft gaming arenas.

New in 2021: we’ve started offering classes in programming the popular Roblox environment using the Lua coding language. More on this soon!