Now we’re cooking with STEAM

Learning to code initiatives have gained popularity over the last few years. A petition to Congress, urging them to make computer science classes available in every school, has gained hundreds of thousands of signatures and itself has raised $23 million.

This is happening at the same time that about 80% of schools have experienced budget cuts, often affecting art programs for the most underprivileged communities, especially communities of color. For example, the percentage of black and Latinx students who have access to art classes in school has dropped from 50% in 1992 to about 26–28% now.

I do personally care about giving all students the chance to learn about computers. In fact, I left my full time development job to work instead on improving high school computer science curriculum. But I definitely don’t think it should happen at the expense of art and humanities.

This post is about why the humanities and arts are an important part of any education but even specifically a CS education — that if we want students to become good technologists, we should not sacrifice the humanities and should even go out of our way to specifically include them in a computer science curriculum.

Firstly, using art and visual aids is a great way to set the tone for learning an intimidating subject, as well as explaining a concept for visual learners. And even if a student isn’t a visual learner, research shows that reinforcing a concept in a variety of ways helps the concept sink in.

The first Bubblesort Zine about how calculators work explains the concept of batteries with this illustration of a cattery:

It shows a diagram of a cattery split up inside with one half full of catnip and the other half full of tiny pent up cats and as soon as you put a wire between the two sides, the cats rush through the wire to the other side.

The cattery analogy even holds up for explaining resistance and parallel circuits — resistance is anything that might get in a cats way — and more cats will choose the path of least resistance because they’re lazy.

Another useful way to incorporate the humanities in CS education is using history to set the context for a concept or a technology. Before talking about binary numbers, we can cover a bunch of different number systems used throughout history. Most historical counting systems are based on 10 because we have 10 fingers, and not because there’s anything inherently special about the number 10. And there are even some cultures that counted in hex because they counted the spaces between fingers and toes which is 16!

Egyptian number symbols are cute and fun—for example the 100k symbol is a tadpole because in frog breeding season there were so many tadpoles in the Nile, that was their idea of a ridiculously large number.

Historical arithmetic systems around the world are super interesting too! Ethiopian multiplication is fascinating to cover because it involves representing one of the numbers as pebbles, and the there as houses, putting them in both columns, doubling the pebbles, and halving and flooring the houses until you reach 1 house, and crossing out even numbers because they’re considered “unlucky” numbers. The answer is the number of pebbles at the end of this. And I love that this calculation involves superstition, and you end up with the correct answer at the end!

Before talking about how the Internet works, we can talk about historical long distance communication methods, including drums in the African Congo that can carry complex messages as far as 6 or 7 miles, hundreds of years before Morse code telegraphs. Communicating by drums shared many properties with the internet, including protocols, redundancy, compression, and encoding.

Also speaking of the history of encryption, it’s rife with personal drama. There were several cases in history where a cryptanalysis breakthrough was motivated by revenge or spite. A cipher called the Vigenère cipher was considered the strongest cipher in the 1700’s and 1800’s and remained unbroken for 100 years. And Charles Babbage dabbled in trying to crack it — but he didn’t succeed until he was motivated by spite. The story is that a London dentist claimed to have invented an special unbreakable cipher, but it was actually just the Vigenère cipher. Babbage was so annoyed by this dentist that he was resolved to break the Vigenère cipher to piss him off — and did within a single year!

Another spite-driven cryptanalysis story: the Enigma machine was used by Germany to encrypt messages in world war 2, and the successful cracking of the Enigma cipher shortened the war by two to 3 years, saving about 21 million lives. The inventor of the Enigma machine’s brother was so jealous of his accomplishments that he sold secrets of the Enigma to the Allied forces that ended up being used to construct replica enigma machines that were instrumental in cracking the cipher. I don’t know about you, but I love reading how technological breakthroughs are influenced by feelings.

Speaking of science influenced by feelings, including history in computer classes is also good reminder that math and science and computer science aren’t objective. They’re inherently political. In the US, schools and textbooks cover mostly the scientific discoveries and accomplishments of North America and Europe, leading to the impression that the west has contributed more to technology. Scientific discoveries are often funded using government money. Huge computing advancements came out of war intelligence efforts. In the 1800’s and 1900’s many monarchs and governments funded both cryptography and cryptanalyst teams to keep national secrets secret and to try to intercept and decode any anti-government messages. Marie Antoinette, for example, being royalty, was well versed in ciphers and used them while sending messages.

Because so many of the scientific discoveries that we learned in school are western centric, this is why I make an effort in Bubblesort Zines to include mathematical and computation discoveries and inventions from East Asia, South Asia, the Middle East, Latin America, and Africa — Arabic cryptanalysis discoveries, Ethiopian multiplication, Mayan counting systems. It takes active effort to decolonize science education.

Including art in computer science classes frames computers as a tool for creativity. What got me the most excited about programming as a kid was when I learned how to make websites and could personalize them and customize them and use them to share my writing and fanart. Imagine a computer class curriculum that included exercises in making generative art, hacking knitting and embroidery machines, programming music visualizations, creating photo filters, and generating sonnets.

Lastly, the most important quality in any technologist is empathy. Art, whether literature or painting or music, can help build empathy for people with very different life experiences from yours by putting you in their experience and their story. Empathy helps technologists communicate and collaborate well. Empathetic technologists will build technologies with people as their #1 priority.

Amy is a technologist/artist who cares about STEM and STEAM education and making the world better through human-centric design and technology. She currently writes zines about how computers work. This post is based on a talk given at Open Source and Feelings in Seattle and DonutJS in Portland.

(For more about the history of encryption, read The Code Book by Simon Singh!)