The National Coalition of Girls' Schools

Resources for: Teachers | Parents | Students

Computer Science

 

Ideas For Teaching Computer Science To Girls

 

A note: Effective methods for teaching girls are effective teaching methods. Changes that make your class more accessible will be good for all students, not just girls. There are many general ideas for teaching methods in the Classroom Climate page; these are specific ideas for computer science:
 

  • It should go without saying, but make your classroom a welcoming environment for everyone, not just students with prior experience. Students are more likely to get excited if they feel they belong both academically and socially. Encouraging students can help them build persistence, which can only help them learn to solve complex problems.
     
  • Storytelling! Everyone has a story to tell. Instead of focusing projects on game-making, which is more appealing to boys, think about changing assignments to be more textual (such as Madlibs) and story-focused. Storytelling can be an applied method of problem solving and is highly motivational for many students. This works very well in animation-based environments such as Alice, Scratch, or Macromedia Flash.
     
  • Focus on text, not just math. While the important parts of programming are algorithmic, syntax is usually inevitable. Make analogies between the program and other things such as text. Statements in some languages are similar to sentences. Computer science is applied math but it has many strong connections to other disciplines as well.
     
  • Varied examples. This applies in several ways. It is well-documented that students respond to analogies they understand, so focusing entirely on sports, sewing, or any other single discipline will probably leave some students out. Additionally, try to provide a variety of experiences and examples of ways computer science applies to the world.
     
  • Collaboration. Allow students to work together. By allowing them to share their ideas, they will cement their understanding of the material. This can happen in a variety of ways, from group or whole-class projects where each student is responsible for part of the whole. Collaboration allows students to learn how to work in teams and to learn from each other. Strategies for success include assigning group member roles so each participant has a way to contribute.
     
  • Pair programming can be a powerful way to learn programming. Two students sit side by side. One is the "driver" who sits with hands on keyboard and mouse. The other is the "navigator" who thinks strategically about the project and keeps track of goals. Students should be directed to switch roles periodically, either based on time (every half hour or so) or breakpoints in the project. In this way, both students get experience with both roles and are equally invested - neither can "check out" while the partner does all the work, nor can one dominate the "fun parts."
     
  • Authentic assignments. Students respond to projects that apply to "real life." Solving a problem that students are experiencing, helping a local group, or creating something that their peers will think is cool will engage students. Girls are usually less interested in the machine for its own sake than boys are.
     
  • Connecting concepts to humanitarian or career-oriented outcomes may be more interesting than the theoretical underpinnings themselves. For example, focusing on real-life databases will enhance a lesson on sorting or searching.
     
  • Hands-on activities such as role plays, kinesthetic activities, or "CS Unplugged" are fun for many students. They help students understand concepts without requiring rigorous prior knowledge or experience with programming. They introduce concepts in a way that is comfortable even for students who do not already know the concepts. Activities such as the "first day role play" can be a fun introduction to big ideas like object-oriented programming.
     
  • Demonstrate how computing careers can be both worthwhile and lucrative. Invite diverse members of the community into your classroom to talk about how they use computing in their careers or how a background in computing is helpful. This will help students envision a career in IT for themselves. A good follow-up is to identify the steps towards such a career, particularly the courses they could take at your school or their next school.
     
  • Peer-Led Team Learning is a promising practice identified by NCWIT. Peer leaders support other students and lead learning activities for small groups. While this project is being implemented at the university level, there is no reason it could not be implemented in a K-12 setting.