Additional profile information on Alfred Thompson at Google+
I have been told that once upon a time the ISTE conference (back when it was still called NECC) had a lot of computer science education content. That’s before my time though and while there is some good CS content you do have to go looking for it. So I tried to start a conversation about this on Twitter.The conversation (on Twitter) went something like this:
As you can see my snap back was that computer science was cool, always had been cool, always will be cool. Well that is undeniably true from where I sit the slightest bit of reflection suggest not everyone sees it my way. OK hardly anyone does. For me learning computer science and programming was a life altering experience. It was and remains very cool to me. But in the real world that’s not so much the case.
As my young friend points out there is a stigma attached to the words programmer and geek. The image of a computer scientist is not that of the most exiting career or people in the world. Yeah, it’s a crazy world we live in. For a while, during the big Dot Com Boom it was pretty cool to be a computer scientist. Companies were bribing students to leave college and create the next big web application. There was huge money to be made. Alas this coolness was short lived and we’ve fallen back to the Dilbert stereotype. This is not good.
But how do we make computer science appear cool (again?) How do we convince young people that computer science is a life changing career, a world changing career even? I talk to students all the time. I really try to promote the field and I give examples of people doing cool things, of making a difference in the environment, in medicine, in agriculture, and in other fields. I push hard. But does this sort of one shot event make a lasting difference? Studies show – not very often. Oh one student may be inspired but you’re lucky if that happens. The odds are not good.
We need more than one shot events. We need to over and over show students that there are cool things they can do with computer science. We need to show them cool people in the role. We need them to understand that it is not all cubicle and never talking to people when in fact the opposite is true. The question is how? And that is where I struggle. Any one have any suggestions?
Yesterday was more or less the opening of ISTE. These conference are sort of interesting in that they start gradually. Wednesday ISTE will end somewhat abruptly (if history is any guide) and people will flood out in mass. The start is slower as people have been arriving for days with preconference meetings and workshops and what not. There was a keynote last night. I missed it because of a meeting of my own that was a sort of must make. But during the afternoon I had a number of really interesting conversations. Conversations are, for me, the highlight of any good conference.
I had two conversations about programming languages and programming paradigms with two different groups of people. Interesting that such a thing can happen but I sort of was the catalyst for both. Most of us have been involved in computer science either in industry or education or both for a while. Some of us a long while. One thing this means is that we have learned multiple programming languages. That is just the nature of things. The common consensus is that for someone who understands the concepts of programming picking up new languages is rather easy. It’s just a matter of learning the new syntax.
Programming paradigms are a little harder. A number of us came to object oriented programming after having years (cough decades) of programming in other ways. For us this switch was harder. A couple of people agreed that it took the right project and some time to make it really snap into place – to become integrated into our thinking. To think in OOP rather than to translate into it. Of course most of our students don’t have to unlearn or relearn anything – they start with object oriented programming and design as the way to go.
The question this brings to mind is how do we prepare them for the next paradigm shift? We can prepare them for learning new languages by focusing on concepts and even demonstrating the concepts in multiple programming languages. In a sense that is the easy part. But we have no idea what the next paradigm will be. Will it be a big comeback of functional programming? Could be. Maybe it will be something completely different though. My current thinking is that maybe exposing them to functional languages like F#, Scheme or maybe even LISP would be a good idea. I’m not sure where it fits in our already over crowed curriculum though. Still students should know that there are going to be changes, changes they may not see coming right away, and they better be prepared to adjust their thinking.
What do you think?
Posting early this week as I hope to have more timely stuff to write about as the week goes on. I’m on my way to Denver for ISTE this morning. I hope to connect with a bunch of people this afternoon and evening. If you are coming I sure hope we connect in real life as well. BTW if you are at ISTE stop by the Microsoft booth (#1354) and get a free Leaning Suite DVD - free tools & resources for educators!
One highlight or perhaps low light as it is somewhat pessimistic (or realistic) is a post by Dave Patterson on fixing HS CS education - Dave Patterson on fixing high school CS education It is a must read if you want to understand the issues
From Matt Maclaurin (@mmaclaurin) who runs the Kodu team - want to use kodu in a classroom? we've just published a bunch of helpful materials Kodu Classroom Kit
Channel 9 has a series of videos that make up a Developing with Office 2010 training course.
Clint Rutkas (@ClintRutkas) pointed out this excellent read on color blindness and color breakdowns.This is stuff anyone working on user interface or web page design really should know something about.
Are you concerned about the legal implications of Sexting and related things that students are doing? If you are in school administration you should be. Also if you get involved in tech issues are your school. danah boyd (@zephoria) Tweeted an announcement about "Sexting: Youth Practices and Legal Implications" (for Berkman's Youth & Media Policy Init.)
Garth's teaching programming methods course - a work in progress. Garth is working on the design of a course to teach people who to teach computer science. If you have ideas you should check out what he is doing and contribute to the effort.
From @teacherman79 via a retweet by @MrAndyPuppy why teachers should care about games. An interesting read on using games to really teach some complex topics.
The Spring 2010 issue of Journal for Computing Teachers is now available at http://iste.org/jct (direct link is JCT Spring 2010