Grace Hopper used to tell her audiences that if they ever used “because we have always done it this way” as an excuse for anything that she would magically appear next to them to “haunt” them. I first heard her say that some 40 years ago and it has stuck with me since then. And yet people do use that as an excuse. Oh they may say it differently but that is what they often mean. In computer science education all too often people believe that because they learned computer science some way that everyone should learn it that way. It’s not as bad as it used to be but at times I wonder if people are just saying it differently. For example “we use command line application programming because we don’t want students getting too wrapped up in GUI stuff.” Or perhaps “we need students to use text editors and command line compilers so that the really understand what is going on.” Baloney I say. Use modern tools and let students create applications that are real looking and relevant to them. In the long run this will be more incentive to learn more than anything else. And now we are facing a new set of paradigm shifts in computer science and software development. Garth Flint said it well in a comment to an earlier post of mine.
I believe there is a large paradigm shift right now and coding for large desktop based apps will start to fade away. I/O devices like the Kinect and handheld computing devices will be the future. The kids do not need what was popular in programming in the last decade, they need what will be required for the next decade.
I think he is right and if computer science educators do not adopt the new paradigms students will fall behind. Now someone is going to say something like “well when today’s high school freshmen graduate college in seven years it will all be changed so what we teach now doesn’t matter so much.” I hear that a lot as well and again I say baloney! We owe it to our students to advance them as much into the future as we can because they’ll have to run as fast as they can after college just to keep up as it is. So what does that mean?
It means several things. One thing it means is that large desktop applications are going to decrease in importance. They’ll probably never go away. Even batch jobs that run over night on mainframes have not gone away. But they are going to decrease in importance. They are being replaced by apps – smaller more narrowly focused applications that run on lighter weight devices like phones and tablets. Oh and on Windows 8! Also the way we interact with computers is changing. The mouse was a big change in its day but today we are seeing another change. For one thing touch is now big. This is not just using your finger like a mouse. It’s multiple touch points and gestures. Kinect is ushering in a change as well. Not just by tracking body movement but with voice commands now easier to do. With a Kinect software can distinguish between speakers and do more noise filtering. Noise filtering is being incorporated into phones as well. Windows Phones do that particularly well. So what is a teacher to do?
Well start thinking about how you are going to use new technology in your courses. Too much for the first course? Perhaps. Probably not for a second course though. And there are resources.
NEW! Game Dev: Advanced XNA, Kinect, and Windows Phone 7-Semester 2 The excitement and engagement of programming with games continues as students learn to design and implement complex games within the Xbox, Kinect, and Windows Phone 7 environment.
Ready or not Windows 8 is coming. With it is coming more touch, more apps, more chances to do things differently. Now maybe your IT department is going to stick
their heads in the sand with Windows XP, Windows Vista or Windows 7 but your students are going to be living in a Windows 8 world. There are more Windows 7 systems out today than Mac OS, iOS (iPhone/iPad) and android devices combined. And it is not even close. And that doesn’t include Windows Vista and Windows XP! Six months after Windows 8 it may be the same for Windows 8. Seems a shame not to be ready for it. But of course I’m biased.
I’m starting to try out the Windows 8 Consumer Preview and the Visual Studio Express Beta for Windows 8 to add to the Windows Phone Development Resources I’d already been experimenting with. What about you? What about your students? If you teach APCS it is after the exam and many teachers are looking for things to keep their students engaged. How about having them give Windows 8 a try and see what they can develop? Your seniors are likely to run into it in college. And who knows, maybe they will come up with some good apps that will help them pay their way though college! It could happen. (Check out Getting an App in the Windows Store: What, Why, and How)
So are you moving into the future or stuck in the past? As we say at Microsoft a lot “Be what’s next!”