Light blue hero image with animated computer and code

Our Curriculum

The Coding Space Curriculum

Our customized curriculum was created to inspire your child to achieve their maximum potential. This student-centered approach combines project-based learning with unique platforms like WoofJS to create a personalized education experience, allowing students to be challenged at their individual level and pace. Want to know more? Check out the answers to some of our most commonly asked curriculum questions.

The Coding Space curriculum

On the face of it, your child will learn how to make increasingly-complex Scratch and JavaScript applications, but behind the scenes they will be growing so much more than that.

At The Coding Space, our goal is to teach critical thinking, problem solving, and to instill a life-long love of learning, building, creating, and growing. We help students develop grit and intellectual confidence, two character strengths that will aid students greatly in other STEM (science, technology, engineering, and math) subjects. Our students learn the thought patterns and mindsets of programmers, including modeling, debugging, sequential thinking, top-down design, the design processes, test-driven development, and more.

Learning to code isn’t about learning the syntax of a particular language, it’s about learning how to think like a programmer and have the foundational skills necessary to learn any new programming language within a day, if not sooner. While our students’ projects are made primarily in Scratch for beginner students and JavaScript for advanced students, our larger goal is to teach kids the skills they will need to tackle any programming language.

The cornerstone of our curriculum begins with Scratch, a block-based programming language built by MIT.

Parents often worry that because block-based programming is quicker to start coding, it is less educational than text-based programming. It’s actually the opposite! Learning the syntax of a programming language is a tedious and rote task that doesn’t engage students’ critical thinking skills. Block-based programming skips directly to the difficult part of coding: formulating one’s ideas into a logical sequence of steps.

Our team at The Coding Space has spent thousands of hours creating the best possible solution to this answer: WoofJS. We developed WoofJS as an intermediate step, allowing students to leverage their existing Scratch knowledge while using a web programming language. For every block in Scratch, we created an equivalent text-based command in JavaScript, thus creating a bridge between the two languages and making the transition as seamless as possible.

We strongly believe that programmers of all ages benefit from starting in a block-based programming environment like Scratch. However, students often want to move to text-based programming before they’ve exhausted what they can learn in Scratch. While we do encourage students to stick with Scratch as long as possible, we don’t hold kids back if they want to switch to text-based programming. As often as not, students realize text-based programming isn’t as fun as they expected and switch right back to Scratch, wisely leaving text-based programming for another day.

While Scratch is a complete programming language, it doesn’t have nearly as many features as JavaScript, HTML and CSS. When a student’s Scratch projects go beyond a couple hundred blocks of code, it’s about time to move to JavaScript through WoofJS. There they can learn to use arrays, functions that return values, first-class functions, variable scoping, functional programming principles, and much more.

In our Advanced Classes, students transition out of WoofJS and start building web-based projects using HTML/CSS and JavaScript and/or begin learning Python.

We believe that our students should have the chance to make projects as unique as they are. Unlike virtually all other coding curriculums, The Coding Space doesn’t use follow-along instructions. Instead, we employ Untutorials: fun and engaging games, websites, or apps that students are challenged to figure out how to build.

Untutorials list the high-level tasks students need to complete the project, but intentionally leave out how to accomplish those tasks. Students develop strong grit, determination, and problem-solving skills by figuring out the rest via tinkering, Googling, asking a friend, and iterating towards a solution, all while developing deep insights and intuition of high-level concepts.

Our students thrive in small group settings, which is why we maintain small student to teacher ratios, ranging from four to seven students per teacher, to ensure a personalized learning experience for every student.

Ever since programming was invented, there have been debates about what “real” programming is. Fortunately, there is a simple criteria to determine if something is a “real” programming language. A programming language is “Turing Complete” if it can simulate any other programming language. At The Coding Space, we teach three Turing Complete programming languages: Scratch, JavaScript, and Python, and two non-Turing Complete languages: HTML and CSS. In other words, Scratch is “real” programming—it has variables, loops, boolean logic, objects, message-passing, conditional branching, etc.—making it a foundational tool for our coders.

All of our classes are self-paced, so there are no predetermined final projects or skills at the end of our courses. Generally speaking, your student will be able to build complex Scratch, JavaScript, and Python applications, from Flappy Bird to Instagram and anything in between. Because our courses are project-based but not tutorial-driven, after your child completes a Coding Space project, they will have the ability to create their own projects at home.

Have Other Questions?

Check out our Common Questions for even more answers.