Projects for girls

A week ago, Alfred Thompson was musing about CS projects that might be interesting for girls. I commented on the virtual pet program my CS II students are working on. Honestly, finding things all girls are interested in is difficult. I have all girls in all my classes, so I’m always leaning in the direction of “girl-specific” projects, but mostly, I keep it general and let them pick. So, in my 7th grade Scratch class, I tell them to create a story, and the guidelines I set out are technical (change backgrounds, change costumes, have your characters talk) and contextual (your story must have a plot). What I don’t say is what the story has to be. So I got stories about princesses and cats, rock stars and aliens. Recreating fairy tales was by far the most popular thing to do. Now they’re working on games, where going through mazes seems to be the most popular choice.

As I’ve written about before, I’ve always struggled with engaging 8th grade. Infographics seems to be working. The key is I let them pick their data. So, I have broadway plays, Starbucks drinks and favorite vacation spots.

To teach lists last year, I told students to create word games. We ended up with trivia games, boggle, jumble and lingo. Graphics is always a huge hit with my students. Graphically representing anything adds to the fun. So when we were learning about files and data structures, they created infographics (it’s a theme for me this year). Objects is the same way. Though it’s a challenge to add graphics, they like visualizing their objects, so we have virtual pets and haunted houses. For final projects last year, we ended up with pong and snake, fun games with easy to generate graphics.

I think the key is to offer several examples. For the objects project, I suggested everything from a book being sold online to a student registration system. While the latter might be more real world, they tend to gravitate toward things that are more fun. Choice is key. Many of the CS classes I’ve taken have students writing code for a single purpose. Write a poker program or write a program that reads in this file and spits out this data. Those lack creativity because one has no choice. I’m actually assessing creativity, which I can’t do if students have no choice, if all I’m looking for is good code. For the record, the harder the projects get, the messier the code. If I graded just on whether the code was organized, my students would fail.

Creative ideas and solutions to problems are more important to me than neat code. And girls seem to want to come up with creative ideas and don’t want to focus so much on neat code. All I ask is for no errors. If the code doesn’t quite do what you had in mind, fine, we’ll deal with that later. I don’t get hung up on things they don’t need to know until or unless they become professional programmers. Things like comments or even public versus private methods I leave for another time.

Most of my projects, I come up with myself, but many I get from books. The virtual pet project I got from Python Programming for the Absolute Beginner, 3rd Edition. I often modify them or let the students modify them. We discuss what might be appropriate and fun before we start. Familiar projects might be easier for a teacher, but I’m betting the concepts don’t stick with the students if they don’t find them compelling.

Ultimately, I think compelling projects will work for boys or girls, but I find girls often need more suggestions than boys. The industry right now is all about boys so examples of games, for example, come readily to boys. My girls turn to friv, which offers dress-up games and other kinds of girly games, for example. I do worry about stereotyping for some of these games, but if creating a dress-up game will draw in one more girl to CS, I can address the stereotype issue later (which I always do). Just ask girls what they’re interested in, and then try to turn it into a project. That usually works better than trying to come up with your own ideas.

2 Replies to “Projects for girls”

  1. For my Programming I class the first project I give is draw a house in Small Basic with the turtle. I require some embellishments and coding requirements so the project is not as trivial as it seems. Both the girls and the boys seem to enjoy the project. The girls actually have a tendency to dive into it a bit deeper than the boys, wanting to get really fancy with animation and complexity. The nice thing about this project is I can carry it over to Visual Basic. I typically go from SB to VB. Having already done the project in one language reduces the need to plan the project and just deal with the new language.

  2. Garth, I do something similar early on, just with robots. The robots draw the houses. I’m pretty sure I’ve stolen project ideas from your blog. šŸ™‚

Comments are closed.