Be What’s Next!

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!”

Comments (4)

  1. Rob Miles says:

    It occurs to me that if they use the heat from the crematorium to power something useful I could lie on my deathbed and say "Be watts next".

  2. AlfredTh says:

    Rob I don't know how you come up with these things. 🙂

  3. a kid says:

    The 'kids' today are the people who will be the teachers tomorrow, while I agree that students should be given more practical knowledge that can be used to create real-world application, a solid understanding of what is going on behind the scene are still very important. Nowadays, many of my friends develop WP7 and WPF applications, while its true that they produced a real application, but many of those 'skills' are built on 'magic', where many of them don't even know the existence of the main function as the entry point of most applications.

    Being able to use modern tools are an important skills, but depending on those tools to do the magic for you is another thing,

  4. Rob Miles says:

    Actually, your post deserves a slightly more thoughtful response than my first one.

    To take photographs you can just point a digital camera at the scene and press a button. The camera will completely abstract away the photographic process and you will get a result. You might not always get what you want though and you might be confused as to why other folk’s pictures often look better than yours. However, if you know about aperture (changing the size of the hole the light comes through affects focus and depth of field), focal length (longer focal length lenses compress a scene) and film speed (faster film speeds make for more noise in your picture) you will be a better photographer in the long run.

    If you have an understanding of how programs are loaded and executed and the experience of using command line tools that actually convert high level instructions into a lower level computer code I think you will end up a better programmer. This sort of knowledge is necessary if you want to be able to understand what you are really doing, rather than just pressing buttons and waiting for the magic to happen.