Thursday, September 13, 2012

To App Or Not To App

I was at the industry advisory board meeting for one of the career/vocational schools I am involved with earlier this week and the topic of apps came up. Apps for phone and tablets are a big deal in industry these days. The advent of Windows 8 tablets and the continued growth in sales for smart phones means they will become more important rather than less. So on one hand it feels like teaching app development is something that high schools should be doing. Especially for people who are in industry. But what about the educational value?

Universities have an easier time resisting the lure of “industry wants” than community colleges do. So true a “college prep” high school can ignore industry trends more easily than career technical schools. But ultimately it boils down to what concepts are you needing to teach and what are you preparing students for after they leave your school? Concepts are always more important than short term technical skills. Well for a lot of us they are. The questions for educators becomes “can we teach the concepts as well with apps as with traditional programs?” and “are there things we can teach better with apps?” This is were the discussion went in our meeting this week. I’m not sure we settled on a common agreement though.

In some ways the issue also relates to the notions of attraction and distraction. I know educators who want to stick with DOS style applications so that students don’t get distracted by the “fun” of creating a graphical user interface. Other teachers find that students want to create “real” looking programs and are unimpressed with DOS applications. Creating apps, if any thing, compounds this problem.

Students today love their phones. They love sharing apps. IF they could create and share their own apps with their friends that could be a great attraction. On the other hand there is some distraction involved. There is the whole GUI design piece of course. Then there is the distraction of using other features of phones – any one want to write an app that lets you shake the phone to roll your virtual device? It is easy to see students spending so much time figuring out how to respond to a shake that they ignore what the project is really supposed to teach them.

I think these trade-offs are manageable though. They are with GUI and event driven programming and they can be with smart phone apps. And let’s not forget the attraction of using their own phones!

But that is not enough. Being as good as is not enough to move most people. Rightly so. Especially when we all know hat some administrator is going to toss a fit about students using phones in class.

I think there is extra value in app programming. I think that the constraints  placed by the smaller form factor makes students think about their user interface in valuable ways. And makes them appreciate what goes into the professional apps they think should be free. The amount and types of storage forces them to think about efficiency of storage and look into cloud storage (and processing) which are keys to the future of computing.  I also think that the sooner students start developing using new user interfaces (touch, voice, motion, etc.) the sooner we get really creative ways to use our devices.

The question in my mind is not should students write apps but for what devices and using what tools. I’ll have some thoughts on that (and maybe a surprise of two) in the  very near future. In the mean time what do you think? Are apps a positive learning tool or just the latest thing to distract students from the core concepts they need to learn?

1 comment:

dougpete said...

I don't have a problem with students writing applications for smart devices. The problem, as I see it, is that they are changing so quickly that if you sell the concept as a way to stay current, you're not doing so in the best interest of the serious programming student. More and more, I think that programming a web application is going to be a better move in the long run.

Bottom line, and you know my bent on this, programming anywhere is good for students. The more they know, the better they'll be.