Intermediate Coding Activity Resources


Using an innovative programming environment to support the creation of 3D animations, the Alice Project provides tools and materials for teaching and learning computational thinking, problem solving, and computer programming. Alice emphasizes object-oriented programming and helps students transition fully to the Java programming language.


code combat

CodeCombat provides a bridge for students who are transitioning from block-based programming to typing in an real programming language. Students continue to learning in a game-based environment and  begin to master the basic syntax of either Python or JavaScript. As the game progresses, students are introduced to loops, conditional statements, and more complex functions.


CoderDojo Foundation offers a diverse complement of learning resources via their Kata platform. Most of these lessons and activities are designed to be self-directed, with students reading and completing tasks on their own. CoderDojo is constantly adding new languages and challenges for students to complete. 


Greenfoot is a great tool for students looking to learn Java. It provides an interactive development environment that allows students to build two-dimensional graphical applications, like simulations and interactive games. Greenfoot's website also houses the "Greenroom", a community forum for instructors to share ideas and collaborate.


For beginning and intermediate students who are interested in diving straight into the mechanics and syntax of different coding languages, this is a great resource! Microsoft Virtual Academy offers a wide variety of free online lectures and courses covering countless languages and computer science topics.


Pencil Code is a collaborative programming site for drawing, playing music, and creating games. Using a block-based language, students can also experiment with mathematical functions, geometry, graphing, web design, etc. Pencil Code can also be used to explore and learn JavaScript, HTML, and CSS. All projects on the site are open source.


Developed by MIT, Scratch is a block-based programming language that serves as the core of many of the other resources we have listed in our library. On its own, Scratch is a powerful engine for students to explore game design, animation, logic, problem solving, and much more as they continue their computer science education. The Scratch website offers countless self-directed student tutorials for your ninjas to explore and master!

snap! programming

For students who have had a chance to explore and master Scratch, Snap! is a great next step. Developed by a former Scratch Team member, Snap! allows students to create custom reporter, boolean, and C blocks. Snap! also allows for more first class data than Scratch and allows users to build their own blocks. This is a great transition resource for students who are ready to move from block-based programming to typing live code.


TechGirlz provides a series of open source workshop plans that cover topics ranging from web development to media editing. These free activities are a great framework for volunteers to build on when planning new sessions for Dojo students!