In the session “Teaching Cell Phone Programming Using Corona and MIT App Inventor (with some odds and ends thrown in)” I presented yesterday there was only one person with a CS background. He had a Masters in CS but he taught math. I have to get the word out to get more CS oriented sessions presented and attract the other four CS teachers in Montana to this event.
The eight attendees were very interested and had excellent questions and comments. By far the best question was “How does this transfer to other subjects?” I love this question because I do not have to think for the answer. My answer seems the easy way out, it is not original, but it is the best answer ever thought of for this question. My answer? Problem solving. I review my answer to this question regularly to make sure I do not need to do an update. I review the literature regularly looking to see if a better answer has been found. I talk to instructors at my local university to ensure this is what they see incoming freshmen needing. This answer is by far the prize winner.
I look at the math classes I teach and analyze what I want my students to receive in the way of knowledge from my classes. After careful and deep consideration I really could give a diddly squat if they memorize most of the stuff I throw at them. 90% of the average math course is absolutely worthless in the real world. Outside of a classroom when is the last time you rationalized a denominator? What I want to target is problem solving. I want to be able to throw a problem at them and then stand back. They would have to look at their resources and then work with what they have available. With math the rather undependable brain is resource number one. It should always be number one and that is why I throw that 90% at them. But gathering and evaluating resources, be they from the brain, internet, text or neighbor, is a critical skill in life. Math teaches problem solving but it usually gets lost in the minutia of memorizing all the math. Math tests are usually based on pure memorization, the brain is the only resource. This testing strategy does not test problem solving.
Programming, on the other hand, a least in the manner in which I teach it, allows, and in fact requires, the student to use all sorts of resources. Programming is the ultimate problem solving skill, especially when taught without a hand-holding textbook. The questions (problems/projects) are usually very open ended with multiple solutions and routes to solutions. Once the kids start a project they keep wanting to build refinements, especially if they are building a game. More problem solving required. Programming does require some memorization but it seems like 90% of it is “how do I do this and where do I find out how to do this” type thinking. Now that is a life skill.