Most knowledge is tacit—it is hard to explain in words. No amount of instruction can help you with learning how to swim. I will like to argue that the same is true for many concepts in Computer Science. This course places young minds in the dead center of computational problems providing them with mindset shifts and new mental models for computational thinking.

All the while learning programming in Scratch. One lesson, one project at a time.

Here is a list of sections and their brief summaries.

Section 1: Man vs Machine (2-3 lessons)

We start by drawing a house on a piece of paper. We then try to do the same thing with code using Scratch. Between these two exercises, students internalize a “thinking about thinking”. What does it mean for a computer to think and what does it mean for a human to think. Through trial and error students grasp a deep understanding of geometry, spatial reasoning and the nature of computation.

“Turns the child into an epistemologist(able to think about thinking and knowledge itself.), an experience not even shared by most adults.”

“Turns the child into an epistemologist(able to think about thinking and knowledge itself.), an experience not even shared by most adults.”

This section draws inspiration from Seymour Papert's work in his book Mindstorms: Children, Computers, and Powerful Ideas.

Section 2: Abstractions and the power of teaching computers new words (2-3 lessons)

This section starts with a bunch of questions.

Is it a house a house or a bunch of bricks? Are you a bunch of cells or a human being?

Through these questions we set the stage for understanding the true scope of abstraction, both in computers and in life. We peal a few layers of a computer before building our own using functions and teaching a computer new words. Now it knows what a house is, but wait…why does it draw the same house every time?