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 EV3 Mindstorms ecosystem for connecting abstract programming concepts to the physical world. Kids get experience with both software and hardware engineering using the Mindstorms EV3 kits. The physical parts are extremely 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. Our Independent studies 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 do also occasionally offer special Minecraft sessions. In general, we tend to emphasize creative (building) mode over survival (gameplay) mode. We love seeing student construction of redstone devices, traps, and farms, and Minecraft gaming arenas.