I studied Statistics and Computer Science at Harvard University, and then spent 4+ years working as a software engineer at Square and Uber. Last year, I shifted my focus to teaching because I really believe that the skills outlined above are critically important and too often ignored, but, more personally, because I wish that I had learned them much earlier in life.
I left my first computer science class feeling like it was too challenging for me. At 18, I could carry out formulaic solutions pretty well, but I had almost no experence actually generating them. This made the open-ended problems in computer science extremely intimidating and discouraging.
Systematically approaching hard problems makes them less stressful and more interesting. I eventually developed this skill and applied it to the classes I'd once thought were too hard for me, but I really wish I had started that process 10 years sooner.
Why Learn to Code?
Learning to code comes with a lot of wonderful, highly-emphasized, economic opportunities. These get the most attention, but they shouldn't be the top priority for kids. More important, but relatively ignored, are the ways that coding teaches you how to think and therefore how to learn.
My goal isn't to generate job-ready kids or to fill up their future resumes. It's to develop habits and confidence that will lead to a lifetime of clear thinking, curiosity, and enthusiasm about learning. I've written more about these habits, and why coding is a good way to practice them, here: [Why Learn to Code?] .
In short, coding is especially powerful because it wraps the crucial skills of experimentation, debugging, precision, and systematic thinking in something that's also fun and empowering.
What Does "Lab School" Mean?
Lab Schools are typically schools involved with educational research. While I'm not formally doing education research (that is, I'm not writing or publishing papers), I chose the name because it embodies my goal of continuous improvement, questioning, and experimentation. I've found methods that work well, and that kids seem to really enjoy, but I'm committed to continually asking and trying to answer the question: “How can I get better at helping kids become clear, effective thinkers?“.
What Language Will You Use?
With the right amount of guidance and a thoughtful structure, typed coding languages can be accessible to kids as young as 7. Skipping the typical "coding for kids" tools sets the tone that students are fully capable of solving the hard problems that they'll inevitably encounter. This also allows us to work on a wider range of projects, tailored to students' interests.