The digital world has become omnipresent in our daily lives. Therefore, the skills to understand and create digital objects such as websites or tools are becoming increasingly important. In order to do so, one must master coding skills. After literacy, coding skills might thus become one of the most important sets of skills to teach next generations, providing them equal chances to participate in an ever more digitized world. Although these skills appear to be a brand-new educational topic, they are strongly related to ancient philosophy, namely formal logic, a discipline that formalized the rules of thought that underlie many subjects such as scientific research, grammar and chess.

Our observations

  • All sorts of initiatives to teach coding to next generations are arising. Last month, for example, Disney and Roblox teamed up to advance kids’ coding skills with the Star Wars: The Rise of Skywalker CreatorChallenge, offering fans the opportunity to learn how to design and race their own spaceship. But educational coding apps (e.g. Kodable, Daisy the Dinosaur), coding programs in schools and even entire coding schools are also gaining popularity.
  • The top three coding languages in the world are currently JavaScript, which was developed in 1995 and is one of the essential technologies of the World Wide Web. Next is Python, developed in 1991 and known for its readability due to the use of our natural language in its script. Python is currently one of the fastest growing languages. Finally, there is Java, an open source script developed in 1995 and used by, for example, Twitter and Netflix. In total, there are currently about 700 coding languages.
  • The only admission requirement of the famous coding school 42, a tuition-free and non-profit coding school which opened its doors in Paris in 2013, is a passing grade for a test in logics. None of the traditional degrees (e.g. bachelor’s, masters) are required, not even a primary or secondary school diploma.
  • In the West, logic was first developed by ancient philosopher Aristotle and gradually became widely accepted in science and mathematics. Logic traditionally includes the formalization of rules of thought (e.g. a circle cannot be a square because one of the rules of thought is that something can only be identical to itself). These rules are not freely agreed upon by their creators, they are universal principles that every valid argument necessarily adheres to. An argument or complex line of thought can be reduced to this formalized language, after which it is possible to examine whether it is coherent and/or whether the argumentation is valid. Since Aristotle, logic has deepened and expanded.
  • Today, logic is extensively applied in the field of artificial intelligence with, for example, argumentation theory. One of the first programming languages (1970s), Prolog, originates directly in formal logic. Coding is intrinsically related to formal logic, for coherence and valid reasoning are crucial in coding too. Of course, both in logical reasoning and coding, rules can be applied in an invalid manner. In logic,this leads to incoherence, contradictions or invalid conclusions, in programs, it can lead to errors in performance.

Connecting the dots

Coding skills, the ability to read and write the language of computer software, are considered an important prerequisite for participating in an increasingly digitized world. In order to code, one must have knowledge of aprogramming or scripting language (e.g. Python or JavaScript). Python, for example, is considered one of the easiest coding languages to learn because it uses elements of our natural language, unlike JavaScript, for example. With coding, one translates certain tasks that are expressed in natural language (e.g. “whenever someone visits our website, ask if they want to subscribe to our newsletter”) to a line of instructions that computers can execute. These (coding) instructions need to be very precise and well-structured in order for a program to perform in the way that was intended by its developers.

One of the most important capacities for coding in general is a good sense of logic. This is an important skill because it enables a programmer to write universal rules that can follow their own path (e.g. whenever x happens, then y, except when z happens, then skip y), rather than being bound to static instructions (e.g. always first do x, then do y, then do z, etc.). Moreover, having a good understanding of logical reasoning is needed to translate everyday sentences so that they align with the basic patterns of code language (e.g. “dogs can run” becomes “all dogs are creatures that run” and then, for example,dCr). Finally, logical reasoning is needed in order for programmers to detect and understand errors or undesired outcomes in a program. For example, when a statement is programmed as reversible, it is important to be able to comprehend whether this is correct. In case of the sentence “all dogs are creatures that run”, for example, this is false (e.g. when reversed, it becomes “all creatures that run are dogs”). However, the sentence “no time without change” could be reversed: “no change without time” (depending on your view on time). These are only very simple examples, but in a program with hundreds of instructions, this can get very complicated and logical reasoning is necessary to keep it from running errors as well as maintain a structured overview and understanding.  

In our daily lives, pure logical reasoning is not something we explicitly encounter much. The most common occasion for engaging in pure logical reasoning, is when we are asked to take an IQ test, in which logicalreasoning is usually tested in two ways: First, the testee is asked to find (in)valid argumentation or drawconclusions (e.g. If Peter is bigger than Karen, then Peter is bigger than John. Peter is bigger than Karen. Ergo: a. Karen is bigger than John, b. Peter is bigger than John, b. Karen is smaller than John). The second way is to testrecognition of patterns in visuals. However, what is less known, is that these types of logic are actually explicit in formal logic: the discipline in which (un)sound reasoning is captured in rules, so one can judge whether a line of thought is coherent and leads to a certain conclusion or not. Studying logic and the relationship between logic and ordinary speech can help a person better structure his own arguments and scrutinize the arguments of others. There are arguments used in everyday life that are rife with errors because most people are untrained in logic and therefore unaware of how to formulate an argument correctly. Besides helping us avoid invalid arguments, as discussed, a good sense of logic is also an important competence for mastering coding skills. Moreover, coding languages are updated over time and new ones are introduced on a regular basis. Therefore, in a world in which coding is ubiquitous, teaching children formal logic provides them with a skill they can fall back on when learning any (new) coding language that might be relevant in the future.  

Implications

  • Although there are already many online apps, programs, games, etc. with which youngsters can learn coding, not every child will have access to such resources (e.g. due to lack of money, parents that are unaware of these possibilities or the importance of these skills to their children). To ensure that all children have equal chances, it is likely that coding will be introduced in education systems at some point. However, as we’ve argued, coding languages change and it is uncertain which coding language will be relevant in the future. It is therefore plausible that formal logic will be introduced as well. Teaching coding skills as well as formal logic will require upskilling programs for teachers around the world.
  • Although formal logic is often considered to be complex and mainly suited for the highly educated, in the late 1970s, philosopher and founder of philosophy for children (P4C) Matthew Lipman was the first to introduce formal logic to children in primary schools through his children’s novel Harry Stottlemeier’s Discovery. He was convinced that logic was necessary to improve, for example, critical thinking, creative thinking and problem solving. P4C is gaining popularity globally and several studies have shown thatengaging in P4C can permanently raise a child’s IQ by 6.5 points.
  • In many countries, the law, court rulings and government policies are public in order for citizens to monitor their functioning. If citizens become able to read code, they might demand that the coding scripts used for public affairs become publicly accessible as well. For digital programs are used more and more to support or even carry out legislation (e.g. fining citizens for small offences) or, for example, to nudge us into changing our behavior. The coding script that is used for such tasks is a strong determinant of how a policy or law is interpreted by, for example, a policymaker.
  • In a more distant future, userfriendly interfaces might largely come to replace current coding languages, leaving the actual coding to computers. However, having a more in-depth understanding of logical reasoning will remain important, because it helps us see how the digital world around us functions, which is paramount, as it constitutes an increasingly large part of our lives.