Tuesday, July 9, 2013

Improving Computer Science and Programming Education for Women Improves It for Everyone

We know that computing fields are gender imbalanced. While 57% of all undergraduate degrees in the United States were earned by women in 2009, women made up only 18% of all computer and information sciences graduates [8].

Why does this matter? As Klawe et al. point out, “Diversity often leads to enhanced abilities to perform tasks, greater creativity, and better decisions and outcomes” [3]. Furthermore, the number of computer and mathematical science job opportunities are projected to increase by 22% by 2018 — more than any other professional occupation [8]. We simply won’t have enough skilled people to fill those jobs if we don’t get more females on board.

There exist several areas of effort aimed at bringing more women into computing, but for our purposes, we will focus on adjusting course curriculum so that it works well for a diverse audience.

Critics often worry that changing computer science curriculum to attract more students means making it easier (for example, by not teaching more difficult topics). This is not the intention; rather, the goal is to change the way we teach it. And, as it turns out, the two main proven techniques we’ll talk about here work well for everyone, not just women.

Connect Computing to Relevant Application Areas

The first way to improve computing curriculum is to relate the material to application areas the students are interested in. Though men are often interested in computers and programming specifically, some men and many women prefer to view them as tools to accomplish something. The meaning for these students is found in the connection between computing and other fields [4].

A well known example of adding relevant context to introductory computer science curriculum comes from the Media Computation courses developed at Georgia Tech [1, 7]. As described in a National Center for Women & Information Technology (NCWIT) case study [7]:

Like traditional introductory courses, the two-course sequence introduces computing concepts and data structures in a context of creating and manipulating media. For example, in Introduction to Media Computation, students learn about loops by creating picture negatives or reversing sounds, learn about conditionals by implementing red- eye removal and edge detection, and learn about string processing by writing programs that pull information out of web pages. In Representing Structure and Behavior, students experience linked lists, trees, stacks, and queues by creating animations through continuous and discrete event simulations.

Though Media Computation has successfully student retention (especially women), it is worth noting that the choice of context matters, and that context is not always appropriate to use at all.

You must be careful to choose applications that are relevant to all students. Sports is a popular theme in many programming assignments, but women have been reported to feel harassed or made fun of when they, say, get the teams wrong [4]. Even forgetting such an extreme behavior, sports just doesn’t appeal to all men and women. The same goes for mathematical programming problems. (The easiest way to find out what your students are interested in is simply to ask, and possibly provide options so they can choose what they like best.)

Further, as Guzdial [2] points out, concrete examples don’t always work. Sometimes students are unable to “recognize that material learned in one situation or context is applicable in another one” (that is, transfer does not occur). To help avoid this problem, you can provide multiple contexts, and follow up with decontextualized content (possibly in a future course).

Provide Opportunities for Collaborative Learning

Collaborative learning has been shown to increase the retention of all students, as well as close the confidence gap between males and females. Women are more likely to continue with computer science after experiencing a course that facilitates collaborative learning. Meanwhile, everyone benefits from improving their critical thinking ability, gaining an appreciation of diversity, and developing many social and professional skills [5, 6].

One type of collaborative learning is pair programming, something many professional developers have seen in the workplace. How to implement pair programming in a course is explained in an NCWIT case study [5]:

Preparation involves establishing guidelines and mechanisms to help students pair properly and to keep them paired. ... In addition, effective preparation requires contingency plans in case one partner is absent or decides not to participate for one reason or another. ... Effective pairing attaches students of similar (though not necessarily equal) abilities to each other as partners; pairing mismatched students often can lead to unbalanced participation. Faculty must impress upon students that pairing is not a “divide-and-conquer” strategy, but rather a true collaborative effort in every endeavor for the entire project.

Another type of collaborative learning is called Peer-Led Team Learning (PLTL): “It involves teams of six to eight students that meet weekly in a workshop with a trained peer leader who is under direction of the instructor. During the meeting, the group engages in interesting problem-solving exercises” [6].

For PLTL to work, all students must attend the workshops and course instructors need to remain involved with the workshop content and the peer leaders. The workshop materials should be well integrated with the course material and encourage active and collaborative problem solving.

Other Ideas

Here are some of the top ten ways to retain students in computing, as listed by NCWIT [9]:
  • “Emphasize that intellectual capacity — like a muscle — increases with effort”
  • “Provide early and consistent feedback on assignments”
  • “Praise and encourage your students”
  • “Connect students to faculty”
  • “Routinely discuss the options, advantages, and rewards of computing careers”
  • “Steer clear of stereotypes embedded in assignments and examples used in lecture ”
  • “Treat all students as individuals, not as representatives of a group”

And, finally, some suggestions from Klawe et al. [3]:
  • “Make a computing-related course a requirement, or a highly recommended option, for all students in majors that have many females”
  • “Create or publicize majors that combine computer science with another area.”
  • “Train instructors of introductory CS courses to encourage high- performing women to take a second course and consider majoring in computing.”
  • “Encourage female students to attend computing conferences.” 


  1. Guzdial, M. A media computation course for non-majors. SIGCSE Bull. 35, 3 (June 2003), 104-108.
  2. Guzdial, M. Does contextualized computing education help? ACM Inroads 1, 4 (December 2010), 4-6.
  3. Klawe, M., Whitney, T., and Simard, C. Women in computing---take 2. Commun. ACM 52, 2 (February 2009), 68-76.
  4. Margolis, J. and Fisher, A. Unlocking the Clubhouse: Women in Computing. The MIT Press, 2003.
  5. National Center for Women & Information Technology. How Do You Retain Women through Collaborative Learning? Pair Programming (Case Study 1). November 1, 2005. [http://www.ncwit.org/resources/how-do-you-retain-women-through-collaborative-learning-pair-programming-case-study-1]
  6. National Center for Women & Information Technology. How Do You Retain Women through Collaborative Learning? Peer-Led Team Learning (Case Study 2). May 1, 2007. [http://www.ncwit.org/resources/how-do-you-retain-women-through-collaborative-learning-peer-led-team-learning-case-study-2]
  7. National Center for Women & Information Technology. How Does Engaging Curriculum Attract Students to Computing? Media Computation at Georgia Tech (Case Study 1). [http://www.ncwit.org/resources/how-does-engaging-curriculum-attract-students-computing-media-computation-georgia-tech]
  8. National Center for Women & Information Technology. NCWIT Scorecard: A Report on the Status of Women in Information Technology. December 31, 2010. [http://www.ncwit.org/resources/ncwit-scorecard-report-status-women-information-technology]
  9. National Center for Women & Information Technology. Top 10 Ways to Retain Students in Computing. May 2, 2011. [http://www.ncwit.org/resources/top-10-ways-retain-students-computing]


Post a Comment

Comments are moderated - please be patient while I approve yours.

Note: Only a member of this blog may post a comment.