6 Areas of Study that Blend Well with Computer Science
The skills and techniques taught in computer science classes can be applied across nearly every major subject area. In addition, developing strong computational thinking abilities can enhance students’ problem-solving, communication, and data analysis skills for the rest of their lives.
By Jeff Grogan
Programmers, IT professionals and even your internet repair man can be portrayed as niche occupations. So when students show interest in computer science at a young age, they can be discouraged by those who think programming is a distraction from their “real” education. In reality, studying computer science has practical benefits for just about every subject area, not to mention ample career opportunities.
Math and science
At its core, much of computer science is built on mathematical principles; programs move step-by-step to accomplish tasks and are designed to either work or fail — no room for gray areas. Coding also uses variables extensively, and search tools use complicated algorithms to deliver relevant results quickly. These basic searching techniques are often the first steps to learning coding concepts like if/then parameters and recursion sorting.
Computer science has also revolutionized statistical analysis by giving computers the freedom to learn from previous information and scale up to account for massive amounts of data. By teaching programs to gather data, sort it and pick out what’s relevant, students will practice valuable analytical steps that also appear in countless biology, chemistry and physics experiments.
Language arts and history
Coding is a type of storytelling; it involves a beginning, middle and end. When programmers forget a line or put events out of order, their program won’t work. Troubleshooting broken code teaches students to pay careful attention to the progression of events in a concrete way.
Similarly, the heart of learning history is understanding cause and effect relationships. Chaining together character movements in Scratch is a lot like sorting the events that contribute to major discoveries and revolutions. In addition, computational thinking helps students disassemble complicated historical trends into simpler, more manageable parts. It’s a lot easier to grasp the myriad influences of the industrial revolution if you’ve built a web page using several different coded elements.
Research shows kids who write simple programs involving school content will learn that content better than peers who studied it normally. For instance, creating a flashcard app for an upcoming vocabulary test may be all the review a computer science student needs.
Art and design
Although phrases like “computational thinking” and “algorithmic problem-solving” seem to belong exclusively to non-artistic subjects, computer science principles can also improve artists’ creative ability.
Teaching computer science to students relies heavily on having them identify flaws and improve them with code. Artists, especially designers, deal with these same themes every day. Equipping creative minds with analytical power puts real-world relevance in the things they create.
Another misconception about programming is that it stifles self-expression. On the contrary, students and professionals find deep satisfaction in the code they create because it gives them a highly organized place to make their thoughts reality. Take one computer science student study participant, who wrote the following reflection in her research journal:
CompsciStudent kathy = new CompsciStudent();
kathy.studyLikeAManiac(1);
kathy.comeUpWithFinalProjectIdeas();
kathy.goCrazyOverFinalProjectFormatting();
kathy.jumpForJoyBecauseTheButtonsArePrettyColors();
kathy.studyLikeAManiac(2);
kathy.moreFInalProject();
kathy.wowI‟veLearnedLotOfCompsci();
kathy.sixDaysIsNotEnoughtToGetThisDone();
kathy.crapThereIsAQuizTomorrowOnMuchHarderStuffThanMatrices();
kathy.codeWritingforJournalEntries?_wowIHaveAProblem();
System.exit(0);
Finally, consider that most modern animated movies and TV shows involve tons of coding. Computer science is responsible for increasingly realistic physics, human movement, and scenery in both video games and film. If you want to pursue a career in any of these fields, picking up even a basic knowledge of coding will serve you well.
One subject, many applications
Kids who study computer science learn concepts in coding that apply to all areas of their education. Computational thinking skills are practical and enriching, as they equip students to think critically and deeply about how to solve problems. Most importantly, however, kids have fun bringing their ideas to life through code. This excitement empowers them to pursue open-ended problems even when they’re difficult.
Jeff Grogan is a professional freelance writer and editor. He supports Bold Idea because he believes in the unifying, empowering effect programming can have on students. Bold Idea inspires him to work graciously and meet practical needs with the skills he has.
Pair Programming Creates Better Code
The stereotypical computer programmer is often portrayed as an isolated hacker, but professional programmers often work in highly collaborative teams or even in pairs. New models of pair programming emphasize benefits including high-quality code, quick problem solving and deeply satisfied workers.
By Jeff Grogan
When you picture a computer programmer, chances are he or she is hunched over a keyboard in a dark room, chugging energy drinks with one hand and typing furiously with the other. Much more often, though, programmers work in pairs and in clean, well-lit offices.
Programming pairs are made of a "driver" and a "navigator." The driver types code into the computer while the navigator catches typos and suggests additions or changes. Programmers switch roles frequently during a project, which fosters their deep knowledge of the program and allows each partner to practice both skills.
Why not work alone?
Some software engineers still hold onto the superhero (or villain) mantra, "I work alone." To be sure, pair programming has serious trade-offs to consider, but research makes clear this technique has real benefits in many situations.
Someone's watching you
Partners place valuable pair-pressure on one another, since each wants to impress the other with his or her coding and proofreading skills. This pressure helps keep both programmers focused, reducing time following wild goose chases during troubleshooting.
Pair programmers also gain opportunities to teach their partners, which either solidifies their knowledge or corrects their mistakes. Studies also show young programmers who work in pairs show increased persistence when facing a problem. All these factors help equip students with the confidence and skills to take on challenging tasks alongside a constant, supportive peer.
Worth the cost
Common sense would tell employers that hiring two programmers to work on a single project means spending twice as much money as necessary. However, results from a University of Utah experiment reveal otherwise: "Because the pairs worked in tandem, they were able to complete their assignments 40–50% more quickly."
In addition, pairs have been found to produce code with much fewer mistakes than individually written code. The cost of finding and fixing errors makes pair programming at least as efficient — and certainly less of a hassle — than working alone.
More fun with a friend
Pair programming is not only a worthwhile investment, it also helps coders to enjoy their job! The same study at the University of Utah found 96% of professional pair programmers enjoyed their pair-programming tasks more than when they programmed alone.
Young programmers also overwhelmingly enjoy working in pairs. One researcher in the UK found that successful programming partnerships increased middle school students' favorability toward computer science and likelihood of continuing to study the subject.
Immeasurable results
Simply talking to children engaged with computer science can tell you what any number of scientific surveys have struggled to document: Kids who have fun learning at a young age are much more likely to become lifelong learners. Pair programming helps even the most introverted young people express themselves and invent new ideas with their partners and friends.
Jeff Grogan is a professional freelance writer and editor. He supports Bold Idea because he believes in the unifying, empowering effect programming can have on students. Bold Idea inspires him to work graciously and meet practical needs with the skills he has.
Motivating Pre-Teen Girls to Learn How to Code
If you ask an 11-year-old girl, “Do you want to help stop bullying?” “Do you want to stop deadly diseases?” or “Do you want to feed the homeless?” you’ll hear the answer: “How can I help? Where do I start?”
If you ask her to start a computer science class next year in school and you’ll hear: “Do you think I know enough math for that?” “I don’t think I’ll be good at that” or “Will that me me look less cool?”
By Jenn Beecham
If you ask an 11-year-old girl, “Do you want to help stop bullying?” “Do you want to stop deadly diseases?” or “Do you want to feed the homeless?” you’ll hear the answer: “How can I help? Where do I start?”
If you ask her to start a computer science class next year in school and you’ll hear: “Do you think I know enough math for that?” “I don’t think I’ll be good at that” or “Will that me me look less cool?”
She has the confidence to save the world, but for some reason something is holding her back from “Hello World.”
The Gender Stereotype
There has been a lot of buzz on gender stereotyping and what kids think of when they assign genders to certain careers and activities. Always has since featured its famous “Like a Girl” commercial on many venues, challenging what it means to be a woman.
In a survey of elementary-aged girls attending one of our workshops, we asked some open-ended questions about who they thought of as a computer expert. We got several "Bill Gates," “my dad,” a few “my brother” and some generic answers like “hacker.” No one mentioned a female figure. We asked them what they thought a computer expert could do and most were centered around solving problems. Yet even though they were problem solvers, there was a disconnect that they too could solve problems with a computer.
Computer Science Completing Part of the Puzzle
Helping a girl identify a personal problem that she sees her or her peers face every day inspires her to solve it. Providing her a team of friends gives her the community and support she needs. And teaching her the skills of computer science empowers her to execute on her solution.
Girls are interested in solving problems more so than just learning a pure skill for the sake of learning it. In a Generation STEM survey from the Girl Scouts, it became apparent that over 2/3 of girls surveyed liked to build things, pull apart and put them together, find out how things work and do hands-on projects.
Why does purpose drive motivation to succeed? Research from Stanford points to a sampling of hundreds of high school students who were asked to read a few paragraphs about how foundations learned in school can help in “bettering society.” The students were then asked to write a paragraph or two on how they could apply it to their own life. The students who were part of this study saw a rise in GPA and overall academic success. It could be seen that once a student saw a problem as their own, they were more likely to put pieces together in their head. The student did not see the skills as something meaningless taught at them but more as something that could help them in the future. As one student put it, “Science will give me a good base for my career in environmental engineering. I want to be able to solve our energy problems.”
The Story of Lila
Lila is a middle school student with a curiosity for researching the causes of diseases. As she treks her way through middle and high school her school gives her the tools to develop her science background. Computer classes are offered as electives that she is encouraged to take, but Lila does not see the need for them immediately.
As Lila enters college, she realizes that there are many technology solutions out there to analyze scientific data and generate the answers she may need. Lila decides to pursue computer science on the side but faces obstacles on many fronts. Her advisor warns her that her lack of prior experience may make the classes difficult, and does not provide much support for learning them. Lila accepts the challenge and continues. Her classroom is male-dominated, and while they are friendly, she does not always feel like she belongs. She receives less attention from the teaching assistant when she wants help on the assignments. She finds herself discouraged and considers abandoning learning this skill altogether.
Helping the Blind Navigate a New Space
12-year-old Grecia Cano started middle school with her friend Andres Salas. While the first day of class may have involved a little bit of getting lost in a new building for Grecia, for Andres the challenge would last for weeks. Andres was blind and any new building took weeks of memorizing direction and spaces to navigate. Even then, any changes to the space and obstacles would constantly present a challenge.
Grecia wanted to help him. One day her teacher Maggie Bolado mentioned the Verizon Innovative App Challenge to her class, and Grecia already had a inspired idea. Together with the help of her friends Kayleen, Cassandra, Jacquelyne, Janessa and Caitlin, they created Hello Navi. Prior to this moment, none of the girls knew how to code. With help and lessons from programmers at MIT Media Lab, these girls were able to put together an app that could take a blueprint of a new building and use step-by-step voice to guide a blind person through the building.
The app not only brought these girls together but as Andres described it, “I have adopted six new sisters, because they care for me and made this happen for me.”
Today Hello Navi technology is being implemented in many other schools to aid their disabled students.
Lila Saves the World
Just as Lila is about to give up on programming, she meets a mentor who believes in her. She pushes her to see the end goal of her skill, and to not get stuck in the day-to-day challenges of learning programming concepts. Lila soon learns enough coding to manipulate data to understand the genetic code of different HIV viruses.
As she continues to fulfill her lifelong dream of understanding the cause of diseases, she picks up coding on the way. Her determination to cure AIDS drives her to unfold a computer program that can predict all the ways the virus can mutate. Her research becomes utilized by other scientists to find a vaccine against HIV. Lila saves the world.
Education through Social Impact
The story of Lila is more plausible than wishful thinking. Rather than just teaching girls STEM and bringing awareness to the subject, the goal should be showing these girls how STEM can help solve problems they care about.
We’ve seen in our classes that just asking girls what they want the world to be aware of can lead them to learn basic HTML in an hour and create a website. Their determination to put up as many links, self-written articles and images as possible in order to generate the message they want everyone to hear naturally brought them to learn how to make headers, bodies, links and style sheets. For us, framing the class as “Social Impact” rather than “HTML” was enough to take the edge off and still achieve effective learning in the girls.
To read more inspirational stories about girls (and boys!) changing the world through code, try the links below:
- Enhancing a Disabled Student’s Learning Experience – At E.H. Markle Middle School, a group of six 8th grade students developed Voice Notes+. Their app allows students with disabilities to easily use their mobile phones to record lectures and customize the notes that are recorded.
- Helping the Thirsty Gather Water – Six 12- and 13-year-old girls form one of Asia’s biggest slums decided they needed to solve their village’s water gathering problem. In the village the neighborhood communal tap often saw long lines and arguments over who got to draw water. The app they created allowed members of the community to sign up for times to gather water, and this written record would stop disputes over who was there first.