I started testing out some classroom material on my mom. Despite what they tell you about building a company "which your mother can understand", it has been quite some time since my mother could understand what I have been doing (although hopefully it won't be too long before that goes away). In the mean time, however, she has been bugging me to teach her what "binary" is and asking me all sorts of interesting questions about what computers are.
Most of my peers would agree with me that computers are pretty neat. I don't know how many mother-daughter pairs there are currently out there in a situation where the daughter is teaching the mother how to code. Einstein would be rolling over in his grave.
Specifically, as a part of the curriculum that the CCSF Computer Science Department has established, the very first homework assignment for the very first course Introduction to Computer Science involves using Studio Code (code.org) to help establish some basic computer science principles and to get students excited about learning software skills. The first few assignments involve writing some programs that make an angry bird navigate a maze. My mom got so into it, it made me want to dance watching her get the angry bird to reach the dancing sunflower. Mom nearly jumped out of her seat when she figured out the concept of a subroutine on her own and I regret not having pulled out the camera.
I took Introduction to Java in my freshman year of college which would now constitute nearly fifteen years ago. I sorely wish that I had shared some of what I learned with mom then. Then again, it was way less fun in my day and age. There weren't any interactive maze puzzles akin to what code.org has put together.
In particular, I was amazed when mom figured out how to use the while loop on her own. When I complimented her on that ... she's like what? How is this any different from the Da Capo al Fine markup in a music composition? You have to precisely mark where you want the player to start again. She also figured out how to write the first couple of lines correctly and on the first try before starting the actual while loop. I was floored.
Mom also picked up on the ingenuity of short code. She had barely worked through half the exercises before she judged herself for not having seen that she could accomplish the task in just a few blocks. I started getting worried about how to continue motivating her once she masters some of the basic coding principles. Luckily, I do have a few things in mind.
The Flappy Bird game (according to it's developer Dong Nguyen) earned nearly $50K/day when it was originally released. It was taken down by the creator due to a guilt he felt over it's nature and it's overuse. I played this game myself on iOS as a good friend of mine introduced me to it. Today, you can both learn some basic principles of computer programming and create this game yourself using the work put forth by http://studio.code.org:
I haven't shown mom yet that she can actually create her own game using the very language she's learning. She spent the majority of her time working on the classic mouse and maze AI problem (in the form of an angry bird) https://studio.code.org/hoc/1. As my mom sat down to do the very first exercise, she asked me why there wasn't a "move down" command. As I listened to myself explain to her that you are programming from the mouse's point of view, I waited for the AHA moment and was reminded of a story about Marvin Minsky told through the eyes of his student Gerry Sussman (a member of my thesis committee).
Gerry Sussman, when he was a student, was trying to do the same thing i.e. train a mouse to navigate a maze. In his attempt to do that, he was regenerating the maze every time in order to test his written AI. Minsky, upon seeing him do this, covered his eyes and Sussman immediately understood. In a moment exemplifying the most elegant type of advisor-student relationship, Sussman learned that developing the AI of the mouse did not require the extraneous approach of regenerating the maze ever time. In my attempt at teaching and advising even at this very introductory level, I couldn't believe that I was having such a moment with my own mother. -Let alone with the aid of an animated honky bird and a dancing flower.
Then as I returned to watch mom figure each of the steps out, I had a moment of immense optimism for the future of Artificial Intelligence. We really shouldn't fear it at all.