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.
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.
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.
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.
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.