Our Curriculum

Our classes are self-paced, allowing students to progress through our curriculum at their own speed.

Project Based Learning

In our classrooms, students learn entirely through creating projects. Projects allow students to work on their critical thinking and problem solving skills while simultaneously picking up the hard skills of coding.

Students create games in Scratch, progress to websites in HTML, CSS, and Javascript, as well as work in many other tools and languages depending on what keeps them both engaged and challenged. They create projects not by using tutorials, but rather by learning to think critically and create their own solutions to problems.

​In addition to students being able to construct their own knowledge, project based curriculum also allows students to work at their own pace. It is the job of our teachers to make sure that students find projects that are both engaging and challenging at the same time.

Challenge Projects

Challenge Projects are at the core of the The Coding Space education. Projects are fun and engaging games, websites, or apps that students are challenged to figure out how to build.

Unlike virtually all other coding curriculums, The Coding Space doesn’t have follow-along tutorials. In fact, Challenge Projects are “un-tutorials.” They are similar to tutorials in that they guide students in building something, except at The Coding Space we don’t include any of the actual instructions on how to do anything.

Challenge Projects list the high-level tasks students need to complete the project, but leave out how to do them. Students figure 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.

Expert Mentorship

Fostering non-cognitive skills, like grit and intellectual self-confidence is a delicate balance of targeted encouragement and tough love.

Our teachers are highly trained mentors that are skilled in knowing exactly how much help to give a student, when, and how often. Rather than simply giving hints or answers, The Coding Space instructors draw ideas from students through leading questions and modeling strategies on how they could find answers for themselves. Would Google be helpful in this scenario? What keywords would you use?

Beginner Classes (Co-ed & GirlCode)

Coding with Scratch. Skills Covered:

What Will My Child Learn First?

The cornerstone of our curriculum begins with block-based programming in MIT Scratch. The advantage of block-based programming is that students don’t have to worry about small syntactic details on Day 1.

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. Block-based programming skips directly to the difficult part of coding: formulating one’s ideas into a logical sequence of steps.

Starting with a text-based programming language is like teaching a child to write before they can speak or to spell words in a foreign language before they know what they mean! We believe that meaning comes first, and spelling second.

Advanced Classes (Co-ed, GirlCode, & High School)

Coding with WoofJS, HTML, CSS, or Javascript.

Skills Covered in WoofJS:

SyntaxWoof provides a transition between Scratch and Javascript, allowing students to practice with text-based syntax

ArrayAn array lets you store multiple values in a single variable.

FunctionsA “subprogram” that can be called by code.

What Happens After Scratch?

Our team at The Coding Space has spent thousands of hours creating the best possible solution to this answer. We developed WoofJS as an intermediate step where kids could go after Scratch. The idea was to allow students to leverage their existing Scratch knowledge but while using a web programming language. For every block in Scratch, we created an equivalent text-based command in JavaScript. WoofJS allows students to leverage their Scratch knowledge to learn JavaScript syntax.

WoofJS makes the transition as seamless as possible. There are no new concepts to learn. Students simply take what they know from Scratch and learn how to type it. This is the correct ordering of things: learning to speak before learning to spell. WoofJS is focused on the spelling.

What is WoofJS?

WoofJS is a JavaScript framework. In programming, a “framework” is a suite of functionality that can be added to a language. For example, Rails is a popular web framework for the Ruby programming language.

Programming in WoofJS is programming in JavaScript with some special words thrown in. It’s similar to how when you speak about baseball, it’s ultimately English just with some additional words, such as “home run”, “batting average”, and “strike out”. In the case of WoofJS, the additional words come directly from Scratch. For example, in Scratch there’s a block called “forever” which creates a loop that runs 30 times per second (which is about how fast the human eye perceives motion), so WoofJS adds a command to JavaScript called “forever” with the same functionality. Without WoofJS, this would still be possible, but it has a different name: “setInterval”. One of the beauties of WoofJS is that it keeps as much about Scratch constant so students can focus on learning JavaScript syntax, including common difficulties such as matching parentheses and brackets, indenting their code, and creating functions and variables.

What is after WoofJS?

In our Advanced Classes, students can explore their creativity through coding. They can choose to use our Frontend curriculum, or explore Backend and iOS Development.

They can learn to build web-apps like a to-do list, a caclulator, a Buzzfeed-style quiz, and a Giphy Search Engine.

Skills Covered in HTML, CSS, Javascript:

HTML TagsHidden keywords within a web page that define how the browser must format and display the content.

AJAX RequestsSend data to and retrieve from a server asynchronously without interfering with the display and behavior of the existing page.

DOMWhen a web page is loaded, the browser creates a Document Object Model of the page. The HTML DOM model is constructed as a tree of Objects

Our classes are self-paced, allowing students to progress through our curriculum at their own speed.

Project Based Learning

In our classrooms, students learn entirely through creating projects. Projects allow students to work on their critical thinking and problem solving skills while simultaneously picking up the hard skills of coding.

Students create games in Scratch, progress to websites in HTML, CSS, and Javascript, as well as work in many other tools and languages depending on what keeps them both engaged and challenged. They create projects not by using tutorials, but rather by learning to think critically and create their own solutions to problems.

​In addition to students being able to construct their own knowledge, project based curriculum also allows students to work at their own pace. It is the job of our teachers to make sure that students find projects that are both engaging and challenging at the same time.

Challenge Projects

Challenge Projects are at the core of the The Coding Space education. Projects are fun and engaging games, websites, or apps that students are challenged to figure out how to build.

Unlike virtually all other coding curriculums, The Coding Space doesn’t have follow-along tutorials. In fact, Challenge Projects are “un-tutorials.” They are similar to tutorials in that they guide students in building something, except at The Coding Space we don’t include any of the actual instructions on how to do anything.

Challenge Projects list the high-level tasks students need to complete the project, but leave out how to do them. Students figure 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.

Expert Mentorship

Fostering non-cognitive skills, like grit and intellectual self-confidence is a delicate balance of targeted encouragement and tough love.

Our teachers are highly trained mentors that are skilled in knowing exactly how much help to give a student, when, and how often. Rather than simply giving hints or answers, The Coding Space instructors draw ideas from students through leading questions and modeling strategies on how they could find answers for themselves. Would Google be helpful in this scenario? What keywords would you use?

Beginner Classes (Co-ed & GirlCode)

Coding with Scratch. Skills Covered:

What Will My Child Learn First?

The cornerstone of our curriculum begins with block-based programming in MIT Scratch. The advantage of block-based programming is that students don’t have to worry about small syntactic details on Day 1.

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. Block-based programming skips directly to the difficult part of coding: formulating one’s ideas into a logical sequence of steps.

Starting with a text-based programming language is like teaching a child to write before they can speak or to spell words in a foreign language before they know what they mean! We believe that meaning comes first, and spelling second.

Advanced Classes (Co-ed, GirlCode, & High School)

Coding with WoofJS, HTML, CSS, or Javascript.

Skills Covered in WoofJS:

SyntaxWoof provides a transition between Scratch and Javascript, allowing students to practice with text-based syntax

ArrayAn array lets you store multiple values in a single variable.

FunctionsA “subprogram” that can be called by code.

What Happens After Scratch?

Our team at The Coding Space has spent thousands of hours creating the best possible solution to this answer. We developed WoofJS as an intermediate step where kids could go after Scratch. The idea was to allow students to leverage their existing Scratch knowledge but while using a web programming language. For every block in Scratch, we created an equivalent text-based command in JavaScript. WoofJS allows students to leverage their Scratch knowledge to learn JavaScript syntax.

WoofJS makes the transition as seamless as possible. There are no new concepts to learn. Students simply take what they know from Scratch and learn how to type it. This is the correct ordering of things: learning to speak before learning to spell. WoofJS is focused on the spelling.

What is WoofJS?

WoofJS is a JavaScript framework. In programming, a “framework” is a suite of functionality that can be added to a language. For example, Rails is a popular web framework for the Ruby programming language.

Programming in WoofJS is programming in JavaScript with some special words thrown in. It’s similar to how when you speak about baseball, it’s ultimately English just with some additional words, such as “home run”, “batting average”, and “strike out”. In the case of WoofJS, the additional words come directly from Scratch. For example, in Scratch there’s a block called “forever” which creates a loop that runs 30 times per second (which is about how fast the human eye perceives motion), so WoofJS adds a command to JavaScript called “forever” with the same functionality. Without WoofJS, this would still be possible, but it has a different name: “setInterval”. One of the beauties of WoofJS is that it keeps as much about Scratch constant so students can focus on learning JavaScript syntax, including common difficulties such as matching parentheses and brackets, indenting their code, and creating functions and variables.

What is after WoofJS?

In our Advanced Classes, students can explore their creativity through coding. They can choose to use our Frontend curriculum, or explore Backend and iOS Development.

They can learn to build web-apps like a to-do list, a caclulator, a Buzzfeed-style quiz, and a Giphy Search Engine.

Skills Covered in HTML, CSS, Javascript:

HTML TagsHidden keywords within a web page that define how the browser must format and display the content.

AJAX RequestsSend data to and retrieve from a server asynchronously without interfering with the display and behavior of the existing page.

DOMWhen a web page is loaded, the browser creates a Document Object Model of the page. The HTML DOM model is constructed as a tree of Objects

Do you teach Processing?

Part of our goal in creating WoofJS was to build an alternative to Processing that addresses its many flaws as an introductory programming language.

How is Java similar to JavaScript?

Java to JavaScript is like car is to carpet. They share a name for marketing purposes only. The creators of JavaScript were trying to ride the coattails of Java, because it was the hot language of the day.

When will my child learn ‘real’ programming?

Ever since programming was invented, there have been debates about what ‘real’ programming is. Binary programmers thought that only binary was programming, not Assembly programming. Then Assembly programmers thought only Assembly was programming, not C programming. Even today some C programmers don’t think JavaScript counts as ‘real’ programming.

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 two Turing Complete programming languages: Scratch and JavaScript, 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. What Seymour Papert said about Logo is true about Scratch: "Logo has often been described as a language for children. It is so, but in the same sense that English is a language for children, a sense that does not preclude its being also a language for poets, scientists, and philosophers."

We strongly believe that programmers of all ages benefit from starting in a block-based programming environment like Scratch. However, because of its seemingly childish nature, students often want to move to text-based programming way 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 real programming language, it doesn’t have nearly as many features as JavaScript, HTML and CSS. When a student’s Scratch projects gets beyond a couple hundred blocks of code, it’s about time to move to JavaScript. There they can learn to use arrays, functions that return values, first-class functions, variable scoping, functional programming principles, and much more.

Students’ transitions from Scratch to JavaScript with the WoofJS JavaScript framework, where they can continue programming with one foot in the familiar world of Scratch concepts and one foot in the new world of JavaScript syntax.

Do you teach Python?

We teach JavaScript instead of Python because it is very similar to Python but has one key component that Python does not: it is the language of the web. As such:
JavaScript is by far the most popular programming language [StackOverflow, 2019].
You can code in JavaScript on any device that can access the web. This includes phones, tablets, and Chromebooks.
You can share your code via a link and people don’t have to install anything to see it.
JavaScript is designed for visual creations, such as websites, animations, and games.
JavaScript is a very flexible language, so it can simulate most aspects of other programming languages, including Python. There are no core computer science concepts that students learn in Python that they don’t learn in JavaScript.
JavaScript has the largest and most active developer community, so it continues to advance very quickly.
While some of our teachers have knowledge of Python and may be able to help students with it as an independent study, Python does not have an official place in The Coding Space curriculum.

Who made Scratch?

Scratch comes from a rich intellectual school of thought. Seymour Papert, a mathematician that studied under the groundbreaking developmental psychologist Jean Piaget, wanted to know why some kids were considered “good at math” while others were considered “bad at math.” He hypothesized that it wasn’t due to innate nature but to the classroom environment. Just like kids in France naturally learn to speak French, and nobody grows up to be “bad at” their native tongue, Papert sought to create a “Mathland” where students could naturally assimilate mathematical ideas in the same way they learn to speak. The result of Papert’s efforts wasn’t a new math textbook or teaching method, but a programming language, Logo, which is still taught around the world to this day.

Scratch was created by Mitch Resnick, a student of Papert’s, and is considered to be the successor to Logo. It embodies many of the same ideas, including “objects-to-think-with,” “anthropomorphizing the computer,” and “turtle geometry.”

Does my child need to have any prior coding experience?

All students ranging from beginners to advanced are welcome. The Coding Space’s curriculum is designed for students with any level of prior experience, including none!﻿

What is your refund or makeup policy?

We know sometimes plans change! Class cancellations must be made 24 hrs in advance of the scheduled class to be eligible for rescheduling. We can’t schedule make-ups that weren’t cancelled with at least 24 hrs notice (barring medical or family emergencies). As we expand, it becomes harder to make last-minute changes, and we want to make sure our teachers have time to prepare, and know what to expect class to class, week to week. It makes for a better learning experience for our awesome students!
For scheduling make-ups, we require 3 days notice for scheduling (i.e. for a Monday make-up, the request must be made by 4 pm on Friday). In addition, make-ups that are scheduled, aren’t eligible for rescheduling a second time.

My student has programmed before. Will this class still be challenging for him or her?

Yes, we offer curriculum that would be challenging and engaging to all students who aren't already professional software engineers or Computer Science majors in college.

How old does my child have to be?

We work with students ages 8 and up. If you have a student under the age of 8, please contact us for a private class.

Is there homework?

There is no required homework. However, students often freely chose to continue working on their projects at home for fun.

What's makes your class different than other coding classes?

We teach coding using the Socratic Method, allowing our students to discover the solution independently. To read more about what makes our Approach different, go here.

We provide computers for students. However, some students chose to bring their own computers because they are more comfortable working on them.

What does my child learn?

At Coding Space, our goal is to teach critical thinking, problem solving and instill a life-long love of learning and building. We help students develop grit and intellectual confidence, two character strengths that will aid students greatly in other STEAM (Science, Technology, Engineering, Arts, 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. 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.

What will my child be able to do after this course?

All of our classes are self-paced, so there are no pre-determined final projects or skills at the end of our courses. Generally speaking, your student will be able to build complex Scratch and Javascript applications, from Flappy Bird to FourSquare 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.

What programming languages will my student be learning?

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. We teach those skills, so it doesn’t really matter what actual languages your student program in with us. However, if you’re still curious, our projects are often in Scratch for beginner students and JavaScript for more advanced students.

How many instructors are there per student?

We maintain a 4:1 student to teacher ratio to ensure a personalized learning experience for your student.

Do you teach Processing?

Part of our goal in creating WoofJS was to build an alternative to Processing that addresses its many flaws as an introductory programming language.

How is Java similar to JavaScript?

Java to JavaScript is like car is to carpet. They share a name for marketing purposes only. The creators of JavaScript were trying to ride the coattails of Java, because it was the hot language of the day.

When will my child learn ‘real’ programming?

Ever since programming was invented, there have been debates about what ‘real’ programming is. Binary programmers thought that only binary was programming, not Assembly programming. Then Assembly programmers thought only Assembly was programming, not C programming. Even today some C programmers don’t think JavaScript counts as ‘real’ programming.

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 two Turing Complete programming languages: Scratch and JavaScript, 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. What Seymour Papert said about Logo is true about Scratch: "Logo has often been described as a language for children. It is so, but in the same sense that English is a language for children, a sense that does not preclude its being also a language for poets, scientists, and philosophers."

We strongly believe that programmers of all ages benefit from starting in a block-based programming environment like Scratch. However, because of its seemingly childish nature, students often want to move to text-based programming way 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 real programming language, it doesn’t have nearly as many features as JavaScript, HTML and CSS. When a student’s Scratch projects gets beyond a couple hundred blocks of code, it’s about time to move to JavaScript. There they can learn to use arrays, functions that return values, first-class functions, variable scoping, functional programming principles, and much more.

Students’ transitions from Scratch to JavaScript with the WoofJS JavaScript framework, where they can continue programming with one foot in the familiar world of Scratch concepts and one foot in the new world of JavaScript syntax.

Do you teach Python?

We teach JavaScript instead of Python because it is very similar to Python but has one key component that Python does not: it is the language of the web. As such:
JavaScript is by far the most popular programming language [StackOverflow, 2019].
You can code in JavaScript on any device that can access the web. This includes phones, tablets, and Chromebooks.
You can share your code via a link and people don’t have to install anything to see it.
JavaScript is designed for visual creations, such as websites, animations, and games.
JavaScript is a very flexible language, so it can simulate most aspects of other programming languages, including Python. There are no core computer science concepts that students learn in Python that they don’t learn in JavaScript.
JavaScript has the largest and most active developer community, so it continues to advance very quickly.
While some of our teachers have knowledge of Python and may be able to help students with it as an independent study, Python does not have an official place in The Coding Space curriculum.

Who made Scratch?

Scratch comes from a rich intellectual school of thought. Seymour Papert, a mathematician that studied under the groundbreaking developmental psychologist Jean Piaget, wanted to know why some kids were considered “good at math” while others were considered “bad at math.” He hypothesized that it wasn’t due to innate nature but to the classroom environment. Just like kids in France naturally learn to speak French, and nobody grows up to be “bad at” their native tongue, Papert sought to create a “Mathland” where students could naturally assimilate mathematical ideas in the same way they learn to speak. The result of Papert’s efforts wasn’t a new math textbook or teaching method, but a programming language, Logo, which is still taught around the world to this day.

Scratch was created by Mitch Resnick, a student of Papert’s, and is considered to be the successor to Logo. It embodies many of the same ideas, including “objects-to-think-with,” “anthropomorphizing the computer,” and “turtle geometry.”

Does my child need to have any prior coding experience?

All students ranging from beginners to advanced are welcome. The Coding Space’s curriculum is designed for students with any level of prior experience, including none!﻿

What is your refund or makeup policy?

We know sometimes plans change! Class cancellations must be made 24 hrs in advance of the scheduled class to be eligible for rescheduling. We can’t schedule make-ups that weren’t cancelled with at least 24 hrs notice (barring medical or family emergencies). As we expand, it becomes harder to make last-minute changes, and we want to make sure our teachers have time to prepare, and know what to expect class to class, week to week. It makes for a better learning experience for our awesome students!
For scheduling make-ups, we require 3 days notice for scheduling (i.e. for a Monday make-up, the request must be made by 4 pm on Friday). In addition, make-ups that are scheduled, aren’t eligible for rescheduling a second time.

My student has programmed before. Will this class still be challenging for him or her?

Yes, we offer curriculum that would be challenging and engaging to all students who aren't already professional software engineers or Computer Science majors in college.

How old does my child have to be?

We work with students ages 8 and up. If you have a student under the age of 8, please contact us for a private class.

Is there homework?

There is no required homework. However, students often freely chose to continue working on their projects at home for fun.

What's makes your class different than other coding classes?

We teach coding using the Socratic Method, allowing our students to discover the solution independently. To read more about what makes our Approach different, go here.

We provide computers for students. However, some students chose to bring their own computers because they are more comfortable working on them.

What does my child learn?

At Coding Space, our goal is to teach critical thinking, problem solving and instill a life-long love of learning and building. We help students develop grit and intellectual confidence, two character strengths that will aid students greatly in other STEAM (Science, Technology, Engineering, Arts, 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. 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.

What will my child be able to do after this course?

All of our classes are self-paced, so there are no pre-determined final projects or skills at the end of our courses. Generally speaking, your student will be able to build complex Scratch and Javascript applications, from Flappy Bird to FourSquare 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.

What programming languages will my student be learning?

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. We teach those skills, so it doesn’t really matter what actual languages your student program in with us. However, if you’re still curious, our projects are often in Scratch for beginner students and JavaScript for more advanced students.

How many instructors are there per student?

We maintain a 4:1 student to teacher ratio to ensure a personalized learning experience for your student.