Computational Thinking

Nobody asked but …

I am offering a course this semester, at the local community college, rather awkwardly titled “Computational Thinking.”  That is a high-falooting phrase to get at the idea that humans and computers don’t think alike.  One uses the medium of chemistry in biological tissue in a relatively mysterious way, whereas the other uses switches and circuits of silicon and metal in a determinate way.  The latter recognizes only the states of true or false, while the former recognizes information from all over the spectrum between true and false but is not sure of any of it.

So the first step toward programming a computer is to learn about this disparity.  But there is disparity in all forms of communication, aka information transmission.

For instance, we have to recognize that both politicians and media types find it much more convenient to lie than to go to the trouble of assembling a correct set of facts.  It is because whatever their primary incentives are, those incentives are much, much more compelling to them than any incentives to treat their customers honorably.  Any field of endeavor will, as time goes by, become increasingly more populated by those with low barriers to entry, not by those who will climb the obstacles to excellence.  We have to learn to gauge the probabilities of dealing satisfactorily with all types of objects.

Being a computer programmer of importance means you understand your tools and you set high standards for their use.  Success in dealing with any other object means understanding strengths and weaknesses, methods of communication, so as to derive an optimum effect from your unique relationship with that person, place, thing, or event.

— Kilgore Forelle