I’m writing this several hours after leaving Microsoft. My voice is still slightly hoarse from talking louder than I normally would all morning, and I’m probably going to go take a nap soon.
I’m not sure what the best way to present this is, so I’m just going to recount it in chronological order.
The event was broken up into several parts. First there was a presentation by the founder of code.org, and then the students were split into two groups. One group would go into the demo room and participate in the demos, while the second group would participate in some student panel, and then both groups would switch activities after lunch.
We arrived at the Microsoft campus (after slogging through traffic) only to realize that we forgot a VGA cable to connect the laptop running our demos to the monitor we had brought. Luckily, Microsoft loaned us an apparently bulletproof (it was very thick) vga cable. I got the laptop running a slightly modified version of EvilHangman (a CSE 143 homework assignment), and then went over to see the presentation.
The presentation by Hadi, the founder of code.org, was what I expected. The main message was “There are going to be 1.4 million CS related jobs by 2020, and we are only going to be able to supply 400,000 of those with our current education. That’s a MILLION unfilled jobs”.
I have mixed feelings about this argument. While I agree that it is important to get those jobs filled for the good of the nation’s economy, presenting that as the main reason to get into CS seems wrong. Instead, I would have liked to see examples of why CS is such a broadly important field, and how CS applies to many different fields and jobs, and not just coding for some huge company. However, we were given one example of a person who uses his programming knowledge in a unique way. A short video told us about Makinde, a retired facebook employee who uses his programming skills to help build schools in Africa. While Makinde is a good example, he is a member of what I would think is a small minority of very successful people. He retired at the age of 25 and is a multimillionaire. Most programmers I know are not multimillionaires, nor are they retired. In my opinion, the Makinde example, while good, gives the wrong impression to the kids that they can just work for a few years and then retire with all the money they will ever need. All in all, I wasn’t that impressed with the presentation.
The first wave of kids was awesome. Initially, they went to the flashier exhibits—Microsoft had some kinect boxing robots, and Bungie was there along with AreaNet, and everyone wanted some gaming swag.
Google and Facebook had booths as well, but the kids were required to go to at least three education related booths, so they eventually wandered over to us. I pushed them towards playing hangman (“Come beat our hangman! It’s pretty clever”).
Initially they were reluctant, but they quickly got over their shyness. We had a small line to play it most of the time. The two comments I heard most was “Oh, we just made this in class,” (to which I responded “I promise you, it’s not the same”) and “Where’s the hangman?” Surprisingly, very few people guessed it was cheating, but there was a lot of “I’ve never even heard of this word before” and “It had three ‘B’s??” All in all, it was a successful demo, but I wish I had set the average word length a bit shorter, as it makes it more obvious that the program is cheating.
I answered a lot of questions. The top three questions I got were:
- What schools are good for game design?
- How do I get into UW?
- Is the major hard to get into?
A lot of guys were interested in game design. Some were under the impression that if they took our intro classes that they could make Zelda or something. I told them that they maybe could if they tried really hard, but that the course in general was more about programming concepts than making games. A lot of people were worried about going to UW because they were nervous about the general admission requirements, as well as the requirements on top of that for getting in the major. I answered their questions as best I could, but I haven’t even gone through the application process myself, so I wasn’t much help beyond general admission.
I asked a lot of the kids if they liked their programming class or not. The response was pretty split. About half the kids said “yeah, I love it; it’s what I want to do.” The other half were not so enthusiastic, or admitted to being bored in the class. Digging further, I found that the satisfied kids were making games in c# and python, while the bored kids were copying code and using scratch. One class of kids was extremely particular. Apparently they had gone from using python and BYOB to scratch, and they felt like it was way too simplistic and boring, which is totally understandable. I just wonder what kind of curriculum has that kind of progression of programming mediums. Maybe it’s easier to teach some concepts in scratch? But what justifies going from Python to Scratch…
All in all, it was a good day. I got to talk to a lot of interesting kids, and there was an incredible range of diversity and depth in the kids who really wanted to talk. One kid I talked to basically had his whole life planned out: Go to UCLA, major in business with a minor in CSE and Mandarin, and then he was going to be an entrepreneur in China. Another wanted to make a Facebook app that let you make collaborative art with your friends. And some kids just wanted some free stuff. Still, it was a good experience, and I think I learned more from the kids than they learned from me.