Robot Owl
Published in

Robot Owl

We need to change how we teach kids to program

This is the essay I wrote for my application to Harvard’s Graduate School of Education.

The Scratch programming platform and community, where I work

I am applying to HGSE’s Learning Design, Innovation and Technology program because as a student, educator, and programmer, I have experienced the power of a creative technology education at its best. With the right mix of tools, instruction and exploratory freedom, these programs can be transformative for students of all backgrounds. I have also worked in the trenches to replicate those conditions on a citywide scale, and encountered the considerable challenges those efforts face.

The question animating me is: how can we scale creative technology education to all students, while preserving its playfulness and power to spark wonder?

My origin story

My own creative tech journey started as a student in Cambridge public schools in the 1980s. Our classroom had an Apple II computer on which older kids showed me how to write and run short programs. Programming gave me something I didn’t encounter elsewhere in school: the opportunity to design experiences for, and with, my peers. A crowd of kids would gather around to run my simple project, calling out suggestions for a different input and egging me on as I fixed a bug or added a joke; we would then all watch the result of the change together. I loved it.

Other schoolwork confined us to distinct modes, consuming information versus producing it. Programming let us move fluidly between the two and discover the relationship between design and user experience. Through creative technology, we were a self-organized learning community.

As my education progressed, I continued down the twin paths of creative programming and teaching. I taught every age and many subjects: math to 6th graders and high schoolers; programming to middle schoolers and college students; literature to 3rd graders and college students. I loved finding ways to connect students of any age to abilities, interactions and knowledge that had previously seemed out of reach.

Ada & Leo

In 2015, while software consulting, I started offering a weekend creative tech class to neighborhood kids at my dining room table where I explored early education technology tools and activities. How could the students create a physical object that interacted with the computer? How might a 2D design of theirs become 3D? Could they draw a self-portrait with a computer? How about a song? How could they discover principles of circuitry with minimal equipment, and minimal lecturing from me?

I called the class “Ada & Leo”, after Ada Lovelace and Leonardo da Vinci; this name was an excuse to emphasize that famous technologists and inventors were just people — people who learned through trying out ideas, which often didn’t work. We developed a catchphrase: “cool malfunction!” Recalling my own experience at eight, when I would cheer with my classmates when we found a way to crash a program, I emphasized that new technologies were the most interesting when they didn’t function as expected.

The response in our Brooklyn neighborhood was overwhelming and soon I had as many afterschool and weekend classes as I could handle, plus some in-school ones. I hired more teachers and added a summer program, but I immediately encountered the challenges of scaling up: the success I had with groups of 6–8 students was hard to replicate with a class of 25, and harder still when I was training a teacher familiar with technology but not with children, and vice versa.


At this time, the New York City Department of Education was expanding its efforts to train teachers in computer technology education, through a program called CS4ALL. This was a chance to take what I’d been doing in my dining room and try it out in the country’s biggest public education system.

Together with Carlos León (HGSE TIE, ‘16), we received a series of CS4ALL grants to provide professional development (PD) trainings to public school teachers from the Bronx to Staten Island. After careful consideration of the available programming education tools, we decided to focus on Scratch, the visual programming language from the MIT Media Lab, and the HGSE Creative Computing Lab’s Creative Computing Curriculum.

Our PD workshops were a hit. Repeatedly, Carlos and I received teachers’ highest ratings out of all the DOE’s CS education trainings. And we loved using the Creative Computing Curriculum.

The most exciting surprise of this training effort was the shift in teachers’ thinking. They were used to being experts, and were insecure about their lack of programming expertise. How could they teach if they didn’t know the answer? Our response was to spend some time grounding them in content, but even more time working to shift their role towards being a peer learner. Seeing teachers make this shift was one of the most inspiring aspects of this work. Teachers who began the week intimidated, certain they would never program, finished the week saying they themselves had a transformative experience, which they couldn’t wait to bring to their students.

The CS4ALL training inspired a shift in my own thinking as well. During a site visit to one of my teachers, the students showed me their favorite LEGO robotics discoveries, which used only a few bricks but were full of wacky motion and life. I realized I had been too narrow in my conception of a finished student project. Our learning community was reflecting back the creative spirit of our PD workshops in ingenious and unexpected ways.

Computational Media Curriculum

Carlos’s and my work culminated in 2018 with the DOE and CS4ALL hiring us to co-write some of New York City’s first computer science curriculum units, a thrilling opportunity. I was in charge of the curriculum for grades 3–5. Our hardscrabble effort integrated widely divergent resources, tools and methods to meet the needs of schoolteachers, while trying to maintain the creativity at the core of our lessons.

Many of the teachers we trained are doing extraordinary things. At PS. 22 in Staten Island, for instance, I watched one of our teachers, Leslie Johnson, cheerlead her third-grade English language learners in a Scratch session as they worked on a multi-session project, reinforcing again and again her pride in them as computer science creators. In her class, I sensed what scalable tech education could be.

Yet for all of its creative heart, the unit we wrote is a product of the litany of requirements a citywide curriculum must fulfill. From disparate computer equipment to mass grading uniformity to the stipulation that our curriculum align with multiple standards, the document we produced unquestionably shows the scars of scaling up.

And yet, while creating and implementing these curriculum units was a challenge, it is also the closest I’ve been to my mission of scaling the spark of creative wonder to all students of technology. It was a taste of what it takes to operate within school systems under real-world pressures, and a reminder to celebrate small victories.


Throughout my work at Ada & Leo and the NYC DOE, the programming tool I used most was Scratch. The more I used it, the more I appreciated the ways it focused students on the expressive and emergent aspects of computing, and facilitated community. In 2018, I moved my family to Boston to join the Scratch team, where I now work primarily as a programmer. The company has supported me in teaching student and PD workshops at Boston area schools, and has also allowed me to continue to work on the NYC DOE roll out of our curriculum.

My mission

Technology education is at a crossroads: The easiest thing for a school to implement is a linear, inflexible curriculum, with a standardized list of concepts to master by grade. Tools to support this “on rails” approach abound. I fear that CS education is on course to become another drudgery-filled checklist. But my extensive teaching and programming experiences have affirmed what I first discovered in third grade: learning to program is special. It offers students a unique connection between rules, play, and community. I further imagine programming being taught as a subset of “experience design”, to highlight how creating rules experienced by others connects to public policy, social justice, business, art, math, communications, and empathy. I want to open the door for students to try crafting their own rules and seeing them play out; to see the patterns around them as the result of system design and policy, and not as inevitable facts. From there they can imagine how the rules might be changed, and our experiences changed as a result. I believe technology education can empower students to think as leaders.

But I recognize that these ideas are not easy to implement. It takes great discipline and organization to provide the security schools need to welcome the playful and the unexpected. If creative approaches to technology education are to compete with turnkey, concept-and-quiz products, we need to look closely at what schools and teachers need; we need to study the successful teaching of other creative subjects; and we need to do the hard work on curriculum, training and implementation design.

I have developed tools and trainings towards this mission, and seen how they work in practice. Now I need HGSE’s learning community — space, peers, mentors and time — to integrate what I’ve learned, to understand what others have learned, and to point me towards what I should be asking next.



Spark any child's passion for curiosity and innovation

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store