Additional profile information on Alfred Thompson at Google+
My friend Clint Rutkas recently finished a project to create a machine that mixes drinks. (You can see a demo at Drunktender lives! A brief live demo) Now a computerized machine that mixes adult beverages is a cool thing for a party in a geek sort of way, but more than anything else Clint started the project as a learning experience.
Time and again you’ll hear people say that the best way to learn anything is to need to learn it to solve a problem. So coming up with a challenging, interesting, potentially useful and ideally fun project is often the way people choose to learn new things. It’s not just programming and computer science either. I look on projects that require me to buy and learn how to use new power tools as a double win. Well maybe even triple win. I learn something new, I create something useful and I get a new power tool I can use on later projects. Yes, I have heard “now that you have that [cool tool] I want you to also …” I can live with that.
I see this as directly applicable to how we teach students. It is not enough to tell students “trust me this will be useful some day.” They don’t buy it. They want to see value now. This should have some impact on how we choose/assign learning projects. We have to be careful to understand the needs students see and the problems they are interested in solving. This was brought home to me in a conversation I had with a student once. It went something like this:
Student: We need more projects that mean something. Smug teacher: Oh you mean like that project we did about balancing checkbooks? Student: No, I mean like tic tac toe.
Student: We need more projects that mean something.
Smug teacher: Oh you mean like that project we did about balancing checkbooks?
Student: No, I mean like tic tac toe.
Clearly we were seeing meaningful differently. Fortunately I am a believer in the value of the tic tac toe project. But also perhaps I needed to work a bit on the things I was teaching with the checkbook project.
Students will work their tails off to learn things that solve problems they want to solve. I’ve sent more than a few students off to math teachers to learn the mathematics they needed to create missile/rocket games. One student learned far more than the scope of our course to create an awesome Tetris clone one year. If you can keep a secret I spent more hours in the computer lab the semester of college when I didn’t have a computer course to create some programs that solved problems I wanted to solve. That sort of thing has continued my whole career.
I occasionally created projects for my students on the spur of the moment based on classroom discussion. It was more work for me of course. I would have to run to my computer after class to make sure I could solve the program or at least learn about the problems students were going to run into. And there was the rush to create a rubric for grading purposes. Worst of all figuring out how long it would take students to do made schedules a little more complex at times. But I think the effort was worth it. The students learned more because it was a project they had an investment in. I reused many of these projects as well of course. Never completely discard something that works. :-)
Time and again I hear students complain about computer science courses that are just math courses. Now I agree there is a relationship (more on that tomorrow) but just because a teacher was trained as a math teacher and loves math to pieces don’t mean all their students will. As with writing, in teaching we have to consider the audience. Do our projects allow students to “scratch an itch” that they have? Do we create opportunities for students to create their own projects that will create an internal motivation to learn? Do we give students an opportunity to push themselves? They’ll push themselves a lot harder than we as adults can ever push them. We need to give them the opportunity though. How do you do that in your classrooms?
Some related posts by smarter people than me that I recommend you read:
Some years ago my father, a Methodist minister, was talking to a Catholic priest friend of his. My Dad said “You have to say Mass every day?” The priest replied “No, I get to say Mass every day.” For the priest, quite reasonably, saying Mass was an honor, a privilege, something he felt lucky to be able to do. And my Dad always felt the same way about his work as well but there is something powerful in the way the idea is expressed. I thought of this story recently when I read a blog post by Eugene Wallingford that read:
My part of these conversations can be summed up in a mantra I now keep close to my heart: You don't have to program; you get to program. We need to do something to change the default expectation young people have about programming. Seriously.
My part of these conversations can be summed up in a mantra I now keep close to my heart:
You don't have to program; you get to program.
We need to do something to change the default expectation young people have about programming. Seriously.
It’s a matter of perspective in some ways. These days our students don’t understand what a privilege it is to be able to program a computer. It wasn’t that long ago when computers were locked in environmentally controlled rooms where access was jealously guarded as if to some holy shrine available only to a select priesthood. But it is more than just access – it is power!
Being able to program is the ability to get a powerful, fast machine to do work for you. To solve problems for you. To be less dependent on other people, canned programs, or tools created and controlled by others. Being able to program is to be more in control of your own destiny. If you run into a problem that requires programming you can do it yourself!
OK perhaps I’m getting a little carried away. But like Prof. Wallingford says we have to communicate different default expectations about programming. It is a good thing not a bad thing. It is a fun thing not a frustrating thing. (Well on balance and if you do it right. :-) ) Perhaps it is in the way we present it. Perhaps it is in the problems we assign. Perhaps it is something the media is messing up for us and we need to work harder on our own to fix. But we really do need to express the joy of programming to our students.
The New York Time had a feel good story called Mobile Internet Use Shrinks Digital Divide the other day. The basic premise is that people for whom the Internet has been too costly to access in the past (especially African-Americans and English speaking Hispanics) and not accessing the Internet through mobile devices – smart phones. They suggest that this is giving access to economic groups who previously didn’t have it. Rather than requiring an expensive computer and a hardwired Internet (or local wi-fi) people are accessing the Internet from hand-held devices. This, the theory goes, is helping to bridge the digital divide.
OK I’m not so sure about this. I do know that in developing countries handheld devices are making the Internet accessible to people who never had it before and for whom bringing the Internet in the ways we do it is the developed world is just cost prohibited. It is a wonderful boon to those people. They are now able to interact with markets and access information in ways that would otherwise be impossible. So I don’t doubt that this technology is a wonderful enabler. But does it narrow the digital divide in the developed world? Maybe. Does it narrow it enough? I hardly think so.
Now let me be clear about my biases here. I am a heavy weight applications sort of person. I like my full size keyboard and reasonable sized screen. I have a phone that does give me access to the Internet and I do use it. I just find the experience limiting and basically unsatisfactory unless there is no other option. When I am doing research I want not only snippets of information I want copies of documents. I want to cut and paste into documents of my own. I want to see images in good resolution. I want that rich experience I get from a real computer. The tiny keyboard and screen on my phone is good for small things but it will never replace a computer for real work for me. The other problem is that these devices are single tasking for the most part. There is no easy tabbing from one application to another and transferring of data from one to the other. That may be coming but I think that these devices will always trail the power of “real” computers.
I will say that it works reasonably well for most email but most students don’t use email. But you can forget about writing a long involved message on a phone.
I’m not saying that this tread of more and more under represented minorities is a bad thing. On the contrary I think it is wonderful. It is powerfully helpful. Let’s just not get stuck saying “well they have no bread but at least they have cake.”