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.