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.


