As I live the American public school system, I see a little more how it works and made contacts there. It’s a bit the same as when you read about SQL and maintain a few MySQL instances. Nevertheless, I wanted to volunteer at a local Middle School. I am not good at helping in sports activity, nor wanted to do some field trip. So, when I was invited by Morgan Watkins, the computer and business teacher at Grey Culbreth Middle School, I was pleased on honored.

One of the challenge was to know what to teach kids. I am not sure a debate on thread-safe implementation in a servlet would really be appreciated. So I proposed:

  1. Starting with Java: I can setup something around Greenfoot. I did try Greenfoot on my sons and it was fun. One hour is very short though. Greenfoot basically teaches you some basic of OOP (Object Oriented Programming) through some games and you can hack them in Java. However, Java is and OOP thinking are not obvious…
  2. HTML & stuff… Understanding the web is very important to me. We can definitely set up a little something as a 1 hour intro to HTML on the schools’ workstations without big preparation, like a basic “hello world” page and a link with another one.
  3. Entrepreneurship… there’s a lot to do :). I cannot speak about France. One of the reasons I am here is because of their lack of economic vision and support to entrepreneurs (kind of quite the opposite), despite entrepreneur being a French word (sic!). I can help with many business aspects: from the business plan of a lemonade stand to setting up facilities in 3 countries and 2 continents with production and logistics… Anyway, some of my favorite ideas are around a more human capitalism (why it is important to produce locally, the geopolitics of sourcing, etc.).

We settle on the web stuff, although talking geopolitics with a bunch of 7th graders sounded fun too. So here’s the result.

You can also download the full PDF if you want HTML intro for Middle School.

One to one in the classroom
One to one in the classroom

I really had a good time. I think that the kids too, as well as their teacher.

So what, did I learn:

  1. Don’t go with too much theory. I think that they did not really care about what HTTP is. I did not go in the details of looking for 200, be careful about those 404 and really do something about the 5xx…
  2. Kids are fun. And you should play with them. One of them just turned all the exercises around using chicken and chicken-based restaurants. He got his exercise right and fast, who cares if the world population will only eat chicken from now on?
  3. Look for the wow effect. Remember those pitches to your customers or investors/angels? Trying to look for the wow effect to get them to love you? Same here. The wow effect, however, does not have to be about how much billions you’re doing the first year. Reassuring.
  4. They all know how to use a computer. They just don’t know how it works. They can do great things with the web without knowing what the CPU is — good enough (I am not in hardware anymore).
  5. Doing 5 times the same thing in one day is… not very exciting. Okay, it’s very quiet with the 6th graders, a little more challenging with the 7th graders, and rough with the 8th graders.
  6. It’s less tiring with adults. But probably because you can do all those sex and alcohol jokes.
  7. There’s a mix of girls and boys. Learning computer science in the 90s teaches you that this is not where you will meet a lot of girls (3 in 120 in first 2 years of college, 1 in 12 in last 2 years). It is pleasant to see both gender really well represented (my experience with girls & women in IT is that they are smarter anyway).
  8. There are always a few know-it-all, but they really did not brag about it. Maybe I should have gone with my multi-threaded architecture issues with those ones.
  9. Bring your own salt. Nope, we did not any crypto-stuff, I really mean the kitchen salt. What is this idea of no salt in food?
  10. I want to do it again.

I guess I was not too bad at it, as this is what Morgan wrote me after the class:

Thank you so much! I have students in every class who are teaching themselves more code to better their websites. This is exactly what I want when they are taught a new skill. I could not have taught them this myself, I am so thankful you came. I think you helped to inspire some future programmers!

Thanks to you for the opportunity!