Additional profile information on Alfred Thompson at Google+
A recent Dilbert cartoon had a man saying “I know what I am talking about. I have thirty years in this industry.” Asok the intern asks “How does that help you understand technology that is six months old in a youth-oriented culture?” OK everyone chuckle now – I’ll wait. OK now we know why Asok is still an intern. He doesn’t understand experience.
A lot of people look at a piece of technology that is “six months old” and think that it suddenly sprang from thin air, there there is not previous art that lead up to it, that there is some sort of virgin birth for technology. In truth this almost never happens. In real life technology evolves over time. Not only that technology, at least in the computer field, often moves in cycles. An idea that is a research project one day my 20 years ago suddenly find a missing piece and jump into the mainstream. Having had earlier experience with this sort of technology can help avoid known problems or add ideas that were once “what if” but that are now possible.
Other “new” technologies are reengineering or rethinking of older technologies. Cloud computing for example has huge similarities to old style mainframe computing. Someone with experience can help avoid the pitfalls that lead to first mini-computer and then personal computer paradigm shifts. Just as importantly they can help promote advantages of the “old way” that will work with the “new way” that the youths on the team might not think of at all.
And the bit about youth-oriented culture? Well some of us old people actually used to be youths ourselves. With a good memory we can remember some of it. Good professionals keep up with what is going on in the wider culture too. Do I appreciate Lady Gaga as much as the “kids?” Probably not but that doesn’t mean I don’t understand her. In fact she is a perfect example of what I wrote about here already – anyone else remember Cher? Often times being young means knowing what the latest big thing is without knowing how to make it work. Experience can often help turn the idea of the new cool concept into the reality of the new cool product.
There is a stereotype that says that older more experienced people are slow to change – to adopt new technologies. Sometimes that is true. But my experience (see that “experience”) is that a lot of young people are slow to change as well. Because they often have a narrower background and less experience making changes is often harder for them as well. Experience is very helpful when picking up a new technology.
People with experience have to be careful of falling into the trap that they know everything already. But the young and inexperienced have to be just as careful not to fall into the trap of assuming that the experienced people don’t know anything of current value. Somewhere between knowing all and knowing nothing is the reality. It’s a reality that can greatly benefit those smart enough to tap it.
As much as we believe and try to make the case that studying computer science is good for all students, there is a profound lack of research to actually support this contention. With the movement to data driven decision making in every area of education, our inability to advocate for more and better computer science education in K-12 is severely curtailed by our inability to support our own observations and claims.
There are some things we do know which may help us make a more effective argument for K-12 computer science education, or at least make us better K-12 computer science educators.
We know that even pre-teen students have serious misconceptions about what computer science is and that this fundamental lack of understanding makes it very difficult to engage and retain students. Research has shown us that many students believe that computer science is simply using applications well. In one study, after six weeks of learning Scratch, Alice, Pico Crickets, and similar tools, and with Mike Hewner (a PhD student in CS education at Georgia Tech) lecturing them on CS topics, students still came away with the belief (for example) that "Someone who does Photoshop really well is a great computer scientist." They probably think that programmers work in locked window-less rooms and never shower too!
We still don't know, however, whether learning computer science helps with anything else in the curriculum. . We have results showing that learning a visual language *does* transfer knowledge to textual programming later. Chris Hundhausen just did a careful HCI study showing that learners could get started more quickly with a visual programming language (like Scratch, Alice, or Kodu), and that parts of that knowledge did transfer to textual programming. That's a big deal, because it says that Scratch and Alice really are useful for learning CS that will be useful later in life.
There are, however, no recent, scientifically-valid studies that show that students are able to transfer key concepts that they learn in computer science to other learning or that students who study computer science perform better on high-stakes testing in other subject areas (specifically math and science). The last major review of the research in this space (by David Palumbo in 1990) showed little evidence that programming impacted problem-solving in other domains. Neither are there recent studies (the most recent was Taylor and Mountfield in 1991) that determine whether students who study computer science in high school perform better in any area of post-secondary study including computer science. Sharon Carver’s dissertation work in 1988 showed that one *could* teach Logo so that it improved how elementary students solved problems in other areas (e.g., debugging instructions on maps), but little research has followed up on that result.
This lack of research-supported evidence is particularly troubling in light of the current discussions about the importance of "Computational Thinking". While there is strong support for CT in many parts of the community including the National Science Foundation, without a strong and agreed-upon definition and effective assessment measures for students at various learning levels, we don't have hard evidence there that CT is useful let alone necessary for every student.
We do know that we need to do a better job of convincing students that computer science is worth their interest and we might actually be making some progress on this front. For example, many teachers are working hard to help students see the connections between the current technologies that students are interested in (social networking, mobile applications, etc.) and the issues that they care about (the ways that medical agencies use computers to track and control epidemics or how relief agencies depend on computerized logistical systems to get the right sort of aid to the right places at the right time in an emergency). But once again, we have not established scientifically whether these connections motivate students who would not otherwise be interested in computer science.
There are some things we do know and some we can even prove scientifically but the bottom line is that we need more research. We need research that is long-term, broad reaching, and scientifically valid. We need to know what our students are learning and why it matters to them. We need to know how to help them learn better. And we need to know how to do a better job of engaging, inspiring, and retaining them. It is time for computer science education to grow up and prove its value, just as all of the other core disciplines are now having to do.
Note that this post was a joint effort of Chris Stephenson (Executive Director of the Computer Science Teachers Association), Mark Guzdial (professor in the School of Interactive Computing at Georgia Institute of Technology) and myself. The others wrote the good parts. You can also read this post on their blogs. Please join in on the conversation.
GiveCamp Across America – will you join us?!
We’re looking for students and faculty to join projects and volunteer their time for National GiveCamp Weekend.
What can a student gain from Give Camp?
GiveCamp is a weekend-long event where technology professionals from designers, developers, and database administrators to marketers and web strategists donate their time to provide solutions for non-profit organizations. Since its inception in 2007, the GiveCamp program has provided benefits to over 150 charities, with a value of developer and designer time exceeding $100,000 in services.
Martin Luther King weekend, 1/14 – 1/16
Give Camp Locations
Wilkes-Barre or Scranton