Additional profile information on Alfred Thompson at Google+
From the time I wrote my first computer program about 38 years ago as a college student there has always been a bit of magic about the process. A bit of a super power sort of feeling if you will. Back in those days the average college/university had one computer, perhaps two, and they were kept locked away from normal people. It took special training and permissions to actually touch a computer let alone write a program for it. As a computer science student I was able to control those powerful computers and make them do things other people couldn’t. I felt empowered in a way I never felt before.
I was reminded a bit of that feeling when I read a recent blog post by Eugene Wallingford (@wallingf) titled “Programming, Literacy, and Superhuman Strength.”
It’s all a good post but I especially like this part:
All I know is, if we can put the power of programming into more people's hands and minds, then we can help more people to have the feeling that led Dan Meyer to write Put THAT On The Fridge: ... rather than grind the solution out over several hours of pointing, clicking, and transcribing, for the first time ever, I wrote twenty lines of code that solved the problem in several minutes. I created something from nothing. And that something did something else, which is such a weird, superhuman feeling. I've got to chase this. We have tools and ideas that make people feel superhuman. We have to share them!
All I know is, if we can put the power of programming into more people's hands and minds, then we can help more people to have the feeling that led Dan Meyer to write Put THAT On The Fridge:
... rather than grind the solution out over several hours of pointing, clicking, and transcribing, for the first time ever, I wrote twenty lines of code that solved the problem in several minutes. I created something from nothing. And that something did something else, which is such a weird, superhuman feeling. I've got to chase this.
We have tools and ideas that make people feel superhuman. We have to share them!
There are people out there who Wallingford refers to as non-programmers. In Microsoft we call them “non-professional programmers.” These are people who write programs for fun, for personal satisfaction and to solve personal/business problems. We, our society, really needs to enable those people.
There are more programs that should be written than professional programmers can ever write. Most of these are small, manageable problems. They range from spreadsheet macros to some programs to analyze large data sets. And games. And programs to solve interesting little problems. And the list goes on.
One of the things I hear when I suggest that all students take a computer science or programming course is “these kids are not going to be [professional] computer programmers.” And that is true. But we don’t say “why teach English? These kids are not going to be professional novelists.” That would be ridiculous. We know that pretty much everyone needs to write well. Like wise we are getting to a point where many more people than ever before really should be able to write some computer code.
Right now people think of programming as some sort of “super power” and something that few can handle. Computer programming is a hugely empowering skill but it is more approachable than many realize. They just need training, tools and opportunity. We really owe it to our students to give them that.
This empowering of non-professional programmers is what the Beginning Developer Learning Center BTW. Young, old, student, experienced life-long learner? There is probably something there for you.
Those wonderful people who bring you Barbie (remember the version that said “Math is hard?”) are collecting votes for Barbie's next career. There are five options up for the vote: Environmentalist, Surgeon, Architect, News Anchor, and Computer Engineer. My first reaction was “Great!” We can get little girls to think about becoming computer engineers at an early age. My second reaction was “how do the Barbie think a female computer engineer looks?” OK now there are some very attractive computer engineers out there. Did you see the picture of Google’s Marissa Mayer in Glamour Magazine? She is a serious technical professional and better looking than Barbie. But she is not what most people think of when they think of a woman computer engineer. So what will Computer Engineer Barbie look like?
My first reaction is – glasses, pocket protector, jeans, t-shirt. The pocket protector idea really worries me. Or will it be some sort of business semi-casual? Copy Marissa’s outfit from Glamour? Come on she doesn’t dress like that on a regular basis. Though I did she that she Twittered that she does usually wear heels. That’s good because from what I can tell Barbie doesn’t do flats. What do you think they will do for Computer Engineer Barbie’s wardrobe? What should they do?
No doubt they will outfit her with gadgets. I wonder if various smart phone makers will vie to have a miniature version of their phone for Barbie to carry? A netbook? For sure. MP3 player? Probably. An ebook reader? Maybe. I hope they set up her office with a triple screen LCD setup at least. And the printer should be cool looking. I wonder if they will have a miniature wi-fi access point? Maybe I’m getting silly now. Will she have a new printer? Hey, maybe she can have a miniature Microsoft Surface device. OK maybe not. What accessories does Computer Engineer Barbie need?
We need some opinions here from real women who are really computer engineers. What would a computer engineer Barbie look like that makes the field look real and good to little girls? Let’s not leave this work to the toy company or we could see the growth in women in the field set back years!
NPR did a story recently on the computer screens that we see in the movies. You know the ones with big read “Access Denied” messages that look nothing like anything you have ever seen in real life. The story was called Hollywood's Computers: Telling A Story In A Flash and it got me thinking. My first thought was that students would love creating that sort of thing. But of course many teachers believe, too often correctly, that students spend too much time creating graphical user interfaces and not enough time creating code as it is. On the other hand I wonder if we teach enough about good user interface. Perhaps we can (or should) avoid the effort on creating UIs during the first course but shouldn’t we start somewhere?
I was speaking to students recently and asked them “How many of you have used a computer program that your parents could never figure out how to use?” Lots of hands went up. (Note students will never admit in front of their peers that they can’t use some program.) My reply to the students was that we need to fix that problem and maybe they will be the ones to do it. Well I can hope but can they really if they don’t learn about user interface design? Which actually brings me back to the movie mock ups.
One of the comments on the NPR article by a designer is that the screens have to tell a story. That makes perfect sense in the context of a movie doesn’t it? But what about in working applications? The book “Made To Stick” talks about telling stories as a way to make ideas stick in people’s minds. Good teachers tell stories all the time and we know it works. So could our computer user interfaces tell a story? And if they did would they be easier to use? It’s an interesting idea I think.
So I wonder if students could spend some time creating mock up user interfaces and seeing if they can do a bit of creative story telling. I’m not exactly sure how it would work but Visual Studio and languages like Visual Basic and C# make it pretty easy to do. (You can use the free Visual Studio Express Editions, inexpensive MSDN AA membership or DreamSpark for students to get it) Could we challenge students to make user interfaces that are easy to use, that are expressive, and that just plain communicate better with users. We can follow it (or lead into it) with discussions about UIs that work well or work poorly, that are confusing or simple, that are easy or hard to remember. Can we take lessons from the movie mock ups to create user interfaces that work? Any one know if there is research on this? Does it sound logical to you? Talk it up with students, peers, and others and leave a comment or two here. I’d love to know what others think about this idea.