Reflections on teaching 11 year old girls web development


I spent the past 7 weeks teaching middle school girls to build websites as part of an after school program, CodeEd.

We didn’t teach anything too fancy, just basic HTML. Our goal was to introduce girls to the wonderful world of programming and technology and dispell some common myths: programming isn’t scary or impossibly hard, and programming can be creative and expressive.

We took a project-based approach: the girls spent their time building a site on any topic their heart desired, which this semester, turned out to be music, fashion, cats and Sims FreePlay.

Here’s what surprised me:

1. helloworld.html BLOWS THEIR MIND (creating an html file with a silly sentence and then seeing it in their browser). I think the realization is twofold: “whoa the internet is actually just made by people writing text in files”, and “whoa, this is something that I can do”. One girl immediately exclaimed,“Oh I’m going to show my mom that. She won’t believe it.”

2. Peer-teaching happened naturally when the students were excited about what they were learning. At the beginning of one class, a TA showed a student at the back room the marquee tag. She then shared it with the girl beside her, and the girl in-front of her, who both shared it with their neighbors, and so on. By the end of the class, the girl at the very front, opposite corner had her name running across her site. The entire class had learned the marquee tag from each other.

3. Keep the ‘lectures’ pithy. My students faded after 7-10 minutes. A class with short lessons, alternating between lecture and lab, worked better than a class with two chunks of lecture and lab.

4. The hardest concept was nested HTML. It took them 3 weeks to reach a solid understanding, and to get there we had to teach the concept in a number of ways: analogies (Russian Matryoshka dolls), games (drawing boxes around tags on the board) and by demonstrating it with style attributes (parent styles apply to their children).

5. A few girls consistenly spent hours outside of class working on their sites. We never assigned homework. They just wanted to make their sites better.

6. Some of the girls hated Math and Science, dismissing the subjects as hard but these same students excelled in our class.

3 Different Teachers, 3 Different Classrooms, Same Central Insight

Here’s an interesting find:

These three expert pedagogical experimenters:

  • Maria Montessori, Italian school teacher and founder of the teaching method by the same name
  • Sugata Mitra, creator of the esteemed “Hole in the Wall” experiment and winner of the 2013 Ted Prize, and
  • Paul Anderson, a high school biology teacher, 2011 Montana Teacher of the Year, and creator of over 300 biology videos on Youtube. 

 all speak of a similar insight about learning:

The need for exploratory learning environments, where students can tinker, investigate and discover central concepts for themselves.

Maria Montessori, spoke of the “Prepared Environment” that allows a child to discover concepts like reading, writing, colors and numbers. Her Sandpaper Letters are a wonderful example: each letter is cut from sandpaper and pasted on a smooth card. The tactile difference between the letter and the surrounding card acts as a natural writing guide for a kid. Kids are able to ‘discover’ the motion of writing on their own just by tracing the sandpapered letter with their finger.

Sugata Mitra’s Hole-in-the-wall is another example. Mitra setup computers in public places in impoverished neighborhoods in India and South Africa. Within weeks, children who had never touched a computer before were able to learn basic computer skills just by exploring the machine amongst themselves. No formal lessons required. Further, discovery and exploration is fun, so kids were self-motivated and dedicated to learning.

Finally, Paul Anderson, a high school biology teacher in Montana, who is constantly evolving his classroom and how he teaches talks about the importance an Investigation / Inquiry phase before formal lessons are given. For example, he teaches viral mutation through a game where students role a die to mutate a fake virus and infect their classmates. This learning lab is fun (about a billion times more fun than reading the equivalent in a textbook), and enables students to experience the concepts first hand. 

It is worth noting that these 3 teachers differ slightly in their philosophies: Montessori emphasizes individual learning, Mitra focuses on peer-learning, and Anderson discusses exploration as one part in a 5 part step learning process called the “blended learning cycle”. 

Still, all share the central idea that students form a deep understanding when they are placed in an environment where they can discover and experience concepts first hand.

Learning from the Internet: Elastic IP edition

Ugh moving! Just moved to a new apartment, and dreading changing my home address on the half-dozen sites that send me snail mail.

There should be the equivalent of elastic IPs for your home address. All companies should point to something more permanent, like your email address, and that email address should be the sole bearer of your home address. Any time, you move, you just change your physical address in one place.

Of course, this assumes your email address changes less frequently than your home address, but for most, this is true especially after your early twenties when you’ve migrated from that cool-only-when-your-twelve email address

What’s the point of school?

When people reflect on Aaron Swartz’s intelligence, they often laud his ability to reframe a problem. Asking the right question can immediately expose deeper fundamental issues and enable better solutions to arise.

I think the edtech space needs to take a step back and have a WWASD moment. There’s wide media coverage on how education is the next big thing in tech, but there’s little discussion on what the actual point of school and education is. How can we begin to rethink education if we don’t first discuss its goals?

So, what is the point of school? 

At a high level, I think the point of school is to build skills and shape attitudes that will make someone a valuable member of society, and set them up to live a happy, fulfilling life. 

Happiness is a vague goal, but for this discussion, let’s assume, as many studies have shown, that someone is happy when they are busy and accomplishing things that are valued.

So with this definition of success in mind, what should school teach?

Here’s my take, along with some commentary on how schools tend to measure up today:

1. Reading, writing and communication skills. This is uncontroversial and I believe schools do an okay job of this today. 

2. Logical and rational thinking skills. I actually don’t think studying Mathematics is as important as learning logic. Logic is a basic building block for good communication and critical thinking. Most schools don’t formally teach logic, instead you learn it implicitly (and therefore, possibly not at all) through Math, English, History and Science. I think Logic should be a core subject.

3. The ability to think critically and independently about an argument or theory. To push any scientific field forward or to innovate in any industry, we need people to think critically about the status quo. Evaluating what’s wrong with the current state of affairs is the first step towards progress. 

4. The ability and desire to teach oneself. Probably the most important of all, especially given the information available at our fingertips. In school we are conditioned on a rigid teacher, student model — we are students, and we will learn from designated teachers. This isn’t how it works in the real world. To be successful, you need to be able teach yourself.

5. Confidence and courage to solve a new, unknown problem. No matter how many facts you’ve memorized, or how many algorithms you know how to apply, if you don’t have practice solving brand new problems, you won’t have confidence in your ability to do so. Further, if you lack the confidence to take on a new, unknown problem, you won’t be useful to society. Computers will be the masters of facts, and algorithms. We need brave thinkers to venture into the unknown and solve new problems.

Most curriculums are entirely deficient in encouraging people to explore the unknown. In school, you are typically taught something, and then tested on your ability to recall what you were taught. There’s little experimentation and little discovery. Instead of teaching people to follow instructions, we need to teach them to explore. 

6. How to handle, and not be afraid of, failure. School teaches you that failure is bad. You learn to be afraid of that big red F, but often, failure is an effective path to learning, and in some cases, the only path. People should be comfortable with failure and understand how to learn from it.

Apart from 1,2 and 3 most of the items I’ve layed out are attitudinal skills rather than hard skills. I think excelling in any domain, albeit Chemistry, Business, Law, Medicine, Mathematics, requires these attitudinal skills. Any specific subject matter can be learned if these blocks are in place.

Instead of structuring a curriculum around subject matter, perhaps we should structure it by these subject-agnostic learning goals. You can imagine a “Critical Thinking” class where you cover decisions made by famous leaders, scientific research, and mathematical proofs. Or a “Teach Yourself” class where you are given a list of 5 questions in various domains e.g., How did the Egyptians build the pyramids? Why is each snowflake unique?, and you choose one to answer through your own research and exploration on and offline. 

The potential for innovation in the classroom is much more interesting and valuable once we start with the basic question of what should people learn in school.

Let’s take advantage of this tech disruption to not only evolve how we teach, but what we teach.

Terrifying. The only thing being learned in this classroom is complacency. That’s pretty much the most dangerous virus we could be infecting the next generation with. 

Thank god this guy had the resolve to stand up to this.

Tags: education play

the journey of a pencil

Wanted to fill an entire notebook with these drawings, but thought that might be wasteful.

I like the finished product - elegant, simple, playful - but, more so, the the act of drawing these little pencil dances.

You can start your journey anywhere.

Only the slightest bit of intention is required. Hardly any at all really. 

You’ll move without hesitation or interruption, as you explore new parts and expand into new spaces. 

Where you don’t go becomes as important as where you do.

Try it. Draw at least 15. Your movements will become bolder, and less intentional as you go. And for these scribbles, I’d recommend lined paper. It accentuates your fluidity and freedom. 

Live many lives, go on many journeys, all from the comfort of your own bed. 

Tags: play

What we mean by “programming”

This is a preface to an upcoming post on best practices for teaching programming.

Before we get to the list,  let’s step back. What do we mean by teaching “programming”? We aren’t just teaching kids about classes and variables that can come together to build an iPhone app (although, this is an awesome outcome!). Programming is much greater than that:

Programming is about learning to think. It’s about taking a structured approach to solving a problem and being able to dissect a complex problem into smaller, less complicated sub-components.

Programming is also about being persistent and being able to recover time after time from failure. It requires determination and confidence in your own ability to get through a problem. Programmers are accustomed to being in “crisis-mode”; they are comfortable and calm in the face of pressure.

Programming is about being able to make good design decisions given multiple audiences and a variety of often conflicting constraints. When you are programming you are designing for two audiences: 1) the end-user and 2) other programmers who will contribute to your code. You need to consider end-user optimizations, like speed and functionality, along with contributor needs, like code readability and flexibility.

Programming is about being able to synthesize and articulate complex ideas. It requires excellent communication skills because when you get stuck, you need to look to the internet or others for help, which means you need to be able to articulate the problem into words. Being a good Google searcher is an important, non-trivial skill.

Programming is about taking the long-view and long-term payoff. Sure, occasionally you get immediate results, but usually you are working on a project that requires many small steps and hurdles before it’s useful and applicable. You need to stay motivated even when your immediate actions seem disconnected from a larger goal.

Any successful programming curriculum must teach these attitudinal skills along with actual programming concepts. Actually, the attitudinal stuff may be more important since the world of programming is always changing, new languages and better methods constantly replace old ways of doing things. Therefore, people who only know a specific syntax won’t last, but people who have all these other skills, will.

So if you are teaching programming, don’t just teach <b>This text is bold</b>, teach why and how, and intentionally set your students up to deal with persistent failure. Teach the lasting skills that define excellent programmers.

Stay tuned for a list of best practices for teaching programming.

From ! to .

There was a time when I used to substitute an “!” for feelings.

Everything was all:

Hope you’re having a great day!

Hi there!

When are you visiting?!

Drinks tonight?!


I wasn’t trying to be an annoying valley girl, truly. It was an attempt to display emotion and connect. The “!” acted as shorthand for “life is the fantastic, I’m so happy, joy joy everything is great”.

But now I see that my “!”s were hurried, empty and superficial. I dressed up sentences with “!”s because the sentences lacked feeling on their own. From now on, I’m going to take the time to articulate my thoughts properly and end sentences with periods because profound sentences don’t need an “!” to connect with a reader.

Importance of a “Low-Investment” Offering

If you haven’t seen it, check out this new tumblr sponsored by Coursekit. The content is superb, and it’s likely put Coursekit on a lot more people’s radar.

More importantly, this is Coursekit’s “low-investment” offering, meaning that as a user, you don’t have to spend a lot of time, money or resources inorder to get something out of using this service, which is opposite to CourseKit’s primary, “high-investment” offering (Another example of “high-investment” service is Skillshare — users must plan ahead, sign up for the course, physically go to the class, spend money, etc.).

Good low-investment offerings keep users engaged between high-investment periods and cause repeat usage (addiction in a good way), because there is little the user needs to invest  inorder to get high returns.

Instagram is probably the best example of a low-investment offering; It’s super easy to take pictures and it’s even easier to consume photos. Even if you only have two seconds to spare you can get something out of going on instagram. Low-investment and high returns are a big reason why instagram is so addictive, and has grown like crazy. twitter is another good example.

What’s your low-investment offering?

Dear Mayor Bloomberg, please turn all libraries into wifi-outfitted, co-working coffee shops

This is the public library by Tompkins Square Park. Two-thirds of the library looks like this - long, empty aisles of books, not a single person:

The other third of the library looks like this - a few tables, computers and life!

Now, look at two nearby coffee shops (The Bean and Bcup):

Even busier than the library. Actually, believe it or not, there are *46 people* at The Bean right now.

As learning, work and play shift online, demand for public wifi space is exceeding supply. Why are people working on top of each other while aisles of dust-collecting books are taking up precious public space nearby?

Dear Mayor Bloomberg, people are in need of a proper place to work. Please convert libraries into proper co-working spaces. Put the books in the basement or better yet, make a deal with Amazon to rent out e-books and e-readers. The purpose of libraries is a) to provide free public access to information and b) to foster community. Right now, coffee shops are inadvertently stepping up to fill this role.

Libraries need:
1. lots and lots of tables with outlets
2. some private meeting rooms with whiteboards
3. coffee, tea
4. free adult tech classes

Here’s a blueprint, I drew with Shreyans Bhansali:

In a dream world, Bloomberg would partner with co-working spaces like General Assembly or WeWork to make this happen.

Trends: The Evolving Education-Work Path, and the Need for a Project Marketplace

Let’s get straight to it: I think we’ll see a fundamental decline in the institutional power of colleges and large corporations over the near future due to three major trends:

1. An increase in high quality, affordable practical training available outside of traditional colleges
2. A rise of show don’t tell accreditation due to the increased ability of people to “build” / “do” things (institutional accreditation is becoming less relevant — employers are more interested in what you’ve done)
3. Lower barriers to networking enabled by twitter, meetups, co-working spaces, and mostly just the internet (individuals no longer need to rely on institution’s connections to network) 

Importantly, these trends will likely change the education-work path that has been in place for so many years:

Arguably, in this new model we still have “institutions”, however, these institutions act more as facilitators rather than accreditors. LinkedIn, General Assembly, CodeAcademy, and Kickstarter enable you to network, learn and raise financing, but ultimately the power is still decentralized. Individuals’ paths are much much less linear and more difficult to navigate.

So if you’re still reading (wahoo!), what’s missing from this new model in a very big way?

A centralized place where people can meet others to start working on projects.
Projects will be the new form of grades
- they will be critical to proving skills. But it’s hard to just find people interested in building something with you, especially if you’ve never built something before making it difficult for you to land a job at an existing start-up. So, we need a central place where people can post ideas and form teams to build things. In my mind, this could be a prevailing form of decentralized, peer-2-peer project-based learning / working.

These projects may be small projects, like building an arduino game, or they may be bigger projects that eventually evolve into start-ups and companies, e.g., a co-founder dating service. Regardless, these projects will help people gain demonstrated experience building things. 

Right now, as an unemployed, smart person eager to build something, it’s hard to connect with other unemployed, smart people (and there are many of us out there). I would love to build something that solves exactly this problem — a site that connects people to work on projects. More actionable than LinkedIn. Less skills focused than existing job boards.

If this is striking a chord with you, get in touch, let’s skype and build something!

Gift Economies, Social Reciprocity, and the Monetary Signal

Good wiki seed: The gift economy

In the social sciences, a gift economy (or gift culture) is a society where valuable goods and services are regularly given without any explicit agreement for immediate or future rewards (i.e. no formal quid pro quo exists). Ideally, simultaneous or recurring giving serves to circulate and redistribute valuables within the community. 


Various social theories concerning gift economies exist. Some consider the gifts to be a form of reciprocal altruism. Another interpretation is that social status is awarded in return for the gifts.

Gift economies work for nonrival goods like information, where social status is a viable form of reciprocity (great examples are sites like StackOverflow and Quora). However, I think the market model for consuming rival goods will likely persist for sometime for two primary reasons:

1) in most industries, and for most goods, execution and implementation costs exist — it’s rare that you can produce something at zero cost
2) money serves as a signal of quality

In my opinion 2 is more important, and more difficult to change. I think it is one (of likely many) reasons why AirBnB did much better than CouchSurfing.

Should you be in school or out making things?

Related: the rise of project based learning and “show don’t tell” accreditation

Trends: The Rise of Project-Based Learning and Asymmetric Disruption in the Education Space

Accreditation in the tech community has already vastly changed.

It’s no longer important where you went to school or what your grades were (what a question!) It’s all about what you’ve done. Stamps are meaningless, it’s what you’ve built that matters. 19 year olds who built a site are less risky hires than Ivy League graduates with limited experience.

This is why start-ups in the education space like Skillshare, Khan Academy, General Assembly and Code Academy should approach the question of accreditation by teaching classes that culminate in students actually building something. The best form of accreditation is a demonstration that you’ve used those skills before.

Of course, project-based learning is easier in some content domains than others. It’s easier in fields where there are few barriers to execution, such as programming, web design, graphic design, marketing, and arguably even business (entrepreneurship), but harder in areas that require heavy resources and a reliance on others to execute, such as medicine, dentistry, finance and law.

So when we think about disrupting the education space, I think the disruption will occur asymmetrically depending on the content domain. In fields that can be taught in a project-based manner, I believe the weight of formal accreditation from a college will dissolve fairly quickly. However, in areas where project-based learning is not possible, I believe test scores and grades will still be the best indicator of content proficiency. And because of this, I think brands will still matter in these areas.

In sum, Harvard Medical School will likely carry water much longer than the Stanford CS program. 

Whole Foods Check-out Lines: Reframing the Problem

For those of you who haven’t experienced it, this is the check-out line at Whole Foods:

What exactly is the point of this line system? More efficient? Better packing? Innovation for the sake of innovation? 

I think the reason has be to psychological. As a customer, if we see a single long line, snaking around and around, we are likely to be deterred at worst and just a little bit grumpier at best. But instead, here we have a total reframing of the problem. You pick a line, and now there are psychologically 3 people ahead of you instead of 11. I think that’s pretty genius and would make everyone much happier if adopted by airline checkins.