Literacy, according to the Royal Academy of Language means “to teach reading and writing.” Classically literacy is to provide the basic tools for a human being to join the social life and communicate with others. Interestingly knowing how to count or know how to add was not in the basic baggage. But what happens with computer science? How important is it to study computer science degrees? Is programming part of the fundamental knowledges?
Today no one would doubt that “mathematical knowledge” is also part of the set of basic skills one would expect from a school. To begin to understand and live in this world one will certainly need to read well and be able to write a report or letter, to deal with the numbers, do the math, understand numbers and hopefully, some basic statistics. These are tools without which it is virtually impossible for one side to understand society (history, culture, politics, etc.) and the environment in which we live.
Mathematics helps to understand, explain, describe. Formalize and provide tools and notations to understand. Is there a kind of “active math”? Yes, and is called programming: the art of specifying and communicating actions (usually to machines). Programming is not mathematics, nor is literature. Knowing how to specify actions, a program, is a science per se.
A great piece of literature may seem absolutely useless when it comes to programing a robot to climb a ladder. Programming is a mixture of problem analysis, abstraction, formal specification, mental simulation, knowledge of language available, etc. Therefore computer science should be, along with reading, writing and basic math knowledge, part of the basic tools that citizen need today. It is no coincidence that at the global level they are seriously thinking about it, as these articles show the need for more computing schools in California and the need to teach programming in schools in the European Community. Since we both like to copy the first world, why not copy these ideas and introduce computer science in all school curriculums?