Cracking that code!
Usha Raman
From the wink to the wave, from the “thumbs up” to the slightest shake of the head, from the red check mark on a student’s book to the green light that says go, from the zeroes and ones of computer language to the paired enzymes that make up our DNA…we are surrounded by codes that we consciously and unconsciously create, decode, and read. They are an essential part of the way we make meaning and derive understanding. We encounter codes in practically every subject, from language to math to science and art.
What can a project on codes allow us to learn?
A project on codes could offer a variety of interesting ideas to get children to think in ways that open up understanding across disciplinary boundaries.
Systematic thinking: By looking below the surface of everyday practices (speaking to each other, description, dressing, driving, playing, etc.) children can learn how conventions are built through codes of various kinds. To do this, they will learn to take apart these processes, step by step, to look at the symbols and forms of representation that each process uses.
Analytical thinking: Once children begin to uncover the codes that structure meaning in a particular system (letters and words in a language, symbols in math, chemical formulae) they will begin to ask the questions why (why are these codes used?) and how (how did they evolve? How do they work?). Depending on the level of the class, more and more complex analyses can be encouraged.
Creative thinking: How can new codes be invented to help us in challenging contexts? How does an understanding of coding allow us to communicate across cultures (for instance), or to undertake new kinds of exploration?
This project could be made truly collaborative and interdisciplinary if all the teachers in a particular class level get together to think about how they could interpret the topic in their classes. The learning in each subject could then be brought together at the end of the week (or the designated project duration) and shared on a common platform so that the children can see the connections and differences across the subjects. Coding is a large and complex topic, and can be tackled in many different ways. There’s a lot of information available on the Internet, on each of the aspects of coding discussed in this article. The ideas given here can be adapted for any class level between 6 and 8 or higher. Some of them may also work in the upper primary classroom. Like most topics, this too can be made complex or simple depending on the interest level of your students and the resources available to you.
What’s a code?
Most of us think of a code as a complex, secret way to communicate. But really, a code is nothing but a symbol or a sign that represents something else. A smile is a non-verbal code for a variety of emotions, depending on the context – pleasure, greeting, humour, agreement, etc. An exclamation point in a text is a symbol for surprise or emphasis. The plus sign in arithmetic indicates that we should add two quantities. A dog’s bark or whine suggests something specific to those who know dog behaviour and so on. Codes could be “natural”, in that they exist as repeated elements around us and we have been able to understand certain facets of nature and the environment by “reading” them in an intelligent manner. Codes are also continually generated by us for a variety of purposes – to communicate over distance, confidentially, specifically. Then there are codes that are systems of regulation – such as the Indian Penal Code or the Professional Code of Ethics for Journalists/Lawyers/Doctors, etc. How are these codes different yet similar to the symbolic codes?
Activity: This group activity can be tuned to any subject. Give each group a different theme, such as ‘nature’, ‘human interaction’, ‘society’, ‘education’, ‘sports’, ‘computers’, ‘professions’. Ask them to try to identify codes that exist in each of these sectors/areas of life. They can use a variety of techniques to make their list – brainstorming, walking around the school, looking through textbooks. Based on their list, can they arrive at a definition of ‘code’? What role do codes play in our lives?
De-coding nature
Much of science is about understanding the structures and processes that make up life on earth. Large bodies of knowledge are turned into shorthand by ‘codifying’ them. So, a chemist might use a chemical formula such as NaSO4 to describe the compound Sodium Sulphate or natural salt. The formula stands for the compound and it holds the information that each molecule of common salt contains one atom of sodium, one atom of sulphur and four atoms of oxygen. In other words, chemical formulae are nothing but codes developed by chemical scientists to convey precise information about chemical composition. So clearly, there is knowledge carried in the code (the composition) and one has to have this knowledge to read the code, or to ‘decode’ (to understand and apply it). The genetic code is another example of this. Molecular biologists spent years trying to discover what has come to be known as the ‘code of life’ – the arrangement of proteins in our DNA (Deoxyribonucleic Acid). Scientists often talk about ‘codifying’ nature – this refers to their search for underlying patterns in nature. Why do we need to understand these codes? What implication does it have for our lives? Understanding a code is the first step toward replicating it. In genetics, this has meant that we can actually manipulate DNA, now we know how it is built or coded). That’s what genetic engineering is all about. Those who study human and animal behaviour also try to find out the patterns of behaviour that might give us an indication of how we think, or what is going on inside our heads. The study of such codes gives us insights into mental health and wellness, and these insights are then used to “model” healthy behaviours.
Activity: This can be done either in groups or pairs, or individually. Ask the children to take any branch of science – mathematics, physics, chemistry, biology, geography, psychology – and find out how the subject has its own system of codes. How difficult or easy is it to understand these codes? How did these codes (such as symbols to represent frequency in physics, or approximation in mathematics) come about? What is their role? The children can be asked to make short presentations on these symbolic systems, using illustrations and stories from their research.
Language as code
If you stop to think about it, human language is an extremely complex code system that we start learning right from when we are born – some would say, even earlier. We use sounds to represent things (the sound of the word ‘tree’ to mean a ‘plant form that has leaves, branches, sometimes fruit, and grows above ground’) and we have evolved an alphabet to represent those sounds in written form. Each language has its own symbols – script and sound – that can only be understood by those who have learned it. Even within languages, specific groups develop their own codes of communication. So teenagers have certain ways of speaking and referring to things that adults may not understand. These days we talk a lot about “textspeak” and “emoticons” or “emojis”, which are new ways of communicating on the Internet. These codes however are not static, and they keep changing with time and with the influence of cultures on one another. Other languages – or codes that carry meaning – come about because of the need to communicate in specific contexts, such as sign language for those who are hearing impaired or Braille for those who are visually impaired. The Morse Code, for instance, was developed to send messages swiftly across distances, initially using flashes of light and later through the telegraph.
Discussion questions: The children can be asked to prepare short talks or essays on the following topics, based on their research:
• Early forms of language – from hieroglyphs to the cuneiform alphabet
• Non-verbal codes of communication
• How a new language evolves – the case of Esperanto
• Translation and coding – how are they similar?
• Animal languages – do they have a grammar and a vocabulary?
• What other ‘languages’ have we evolved to manage daily life? Such things as social etiquette, traffic conventions, air traffic control signals could also be seen as a form of language.
• Musical notations and mudras in dance are also codes of a certain kind. How did they come about? Are there other cultural codes that we can identify?
De-ciphering history
And here’s the bit we have all been waiting for! Codes are the stuff of spy thrillers and mystery novels. Military and civilian intelligence outfits spend large sums of money trying to build codes that will safeguard their systems and allow information to be carried from the sender to the intended receiver without leakage. For this, they use what is known as ‘encryption’- they code the message in complex ways so that only those who know the code (or have the ‘key’) can unlock the message and read its meaning. This activity is as old as history itself. In earlier eras too, coded messages were sent and received and enemies devoted considerable efforts to try to crack those secret codes. Smoke signals and drum beats were used by pre- literate societies to transmit messages to those at a distance, to tell of danger or the coming of an enemy. You could bring in many interesting stories that talk about how secret codes have been used in history. It is said that Caesar always wrote to his generals in code and in fact there is a system of coding – a cipher – that is named after him. More recently, during the Second World War, the ‘Enigma Code’ was used by the Germans to communicate across their intelligence units. This complex code was broken as a result of work done by the mathematician Alan Turing (the movie “The Imitation Game” was based on this). Students might also enjoy creating a Dictionary Code, where the message is denoted by words that can be found in a book in random order, using the page number, paragraph number, and line number for each word (you can find an example of this at https://www.nsa.gov/kids/ciphers/ciphe00001.shtml.
Activity: Creating a secret code: Many children may have used “P- language” where you insert the letter “p” in the middle of every syllable, and those who do not know it will find it difficult to understand what you are saying! (So the phrase “What are you doing?” becomes “Whapat apare you- pu dopoing?”) Can they think of more complex codes that can be used to encrypt a message? Ask the children to work in groups and come up with their own secret codes. It is important that they create the code and develop a key. They can then encrypt a message and send it to another team, which has to figure out what the code is. The teams can optionally give a set of pointers to the solving team. This would be a two-way challenge in creating and cracking codes. The children can create an interesting display in the school that encourages other students to enter into the spirit of “decoding” the secret messages.
Binary code: the basis of the digital age
The most popular and widely applied type of codes today are computer programs, all of which are built upon the binary language of 1s and 0s that drives digital engines. The specific combination and sequence of 1 and 0 is the basis of all computer software, but each language works differently, with a different grammar and structure much like human languages, each of which has its own grammar and vocabulary, while all are built upon a common logic of representing the world in words. While most instructions in normal language are written out in words, computer code is a way of writing long, extremely complex and repetitive instructions that can be read by a machine to perform functions at very high speed. Computer codes, in other words, translate verbal instructions into a form that can be read by the machine and in turn decoded as action. The first computer program is said to have been written by Countess Ada Lovelace in the mid 1800s, for her friend Charles Babbage’s analytical engine – a theoretical machine that they hoped would be used to perform calculations at high speed. Their dream was realized less than a century later with the first programmable computers in the mid 1900s. Today’s computer languages are very sophisticated, with different languages used for different specialized functions. The process of developing computer code is long and painstaking, beginning with the analysis of a problem, breaking it down into its parts, and then writing instructions that can be read by a computer to solve the problem.
You could invite a programmer or a systems analyst to talk to the class about the process of coding in the computer industry, and how these codes help automate a huge variety of tasks, from signaling systems in the railways to calculating insurance premiums, to running the apps on our smart phones.
End note
Elements of history, language, science, and mathematics are part of the story – or stories – of codes. Looking at various aspects of life through the theme of codes can give children a sense of the patterns that underlie every kind of activity. The ability to discern these patterns, to work with them, and to create new patterns, can be a valuable skill that can serve them in any field they choose to go into.
What’s the difference between codes and ciphers?
The two terms are often used interchangeably but they mean somewhat different things. In terms of use, both codes and ciphers aim to convert a message into a form that cannot be understood by anyone who does not have the ‘key’. When you use a code to encrypt a message, you work at the level of meaning – that is, you write the message using words that stand for something other than their literal meaning. So “Red” is a code word for “Danger”, or “safe house” might be written as “coffee shop”, so that only those who understand the hidden vocabulary will know the real meaning of the word/phrase. Codes could also take the form of symbols (in letters or numerals) that stand for whole words. When using a code, the cryptographer will also create a codebook that provides the translation for each word along with its code word. The original unencrypted message is known as plaintext while the coded text is called codetext. A cipher, on the other hand, works at the level of individual letters. Each letter is converted into a symbol according to a pattern that is either randomly generated by a computer or developed manually. The Caesar cipher, for instance, would transform a letter by applying a pattern that would substitute the letter A into some other letter of the alphabet (e.g., G) and proceed in order after that. So the word APPLE would read (if using the G cipher) GLLRK.