All Girls Intro to Computer Science Camp

A few weeks ago I had the privilege to be part of a team that taught an Introduction to Computer Science camp for girls who were rising 9th and 10th graders.  According to the student online journals and our discussions with the parents on the last day, the camp was a big success for most of the students.  We had three other teachers (total of two men and two women) with experience teaching high school computer science.  Things that worked:

  • We had a variety of activities.  It was not all coding:
    • We visited NC state’s unbelievably awesome, new engineering library.
    • We had a way cool female guest speaker from the tech world talk about IBM’s serious gaming division (she is the Manager).
    • We visited the CS graduate student teams and were able to talk individually about their projects.  This interactivity with programmers as well as the variety of projects that were being worked on allowed the students to get a good feel for what it was like to work in the field.
    • We showed videos in the morning while the students were arriving that started with non-CS/Math (popular/funny YouTube videos) moved to fun math/CS (Vi Hart)videos to more serious videos about computer science (girls in tech, careers in computer science etc…).
    • We did logic warm-ups that were fun and a little difficult.
  •  Pedagogy that worked:
    • Non-computer learning activities.
      • Human walk-through.  It is important for the students to be able to visualize what the computer is doing.  Most new students don’t realize that you have to tell the computer to do everything (pick up pen, put down pen etc…)  We required the monitors to be off while for the short beginning lecture and used a “human-walk” through of the concept with the students giving the commands and the teacher performing exactly what they told the teacher.
      • Hands on activities.  We did the popular binary birthdate necklace activity.  I actually thought this was a waste of time before we did it.  Why did the students need to know about binary in an introduction to CS course?  Boy, was I wrong.  It was an awesome activity.  It is critical to do a good job explaining how binary works.  I showed a cool Vi Hart video on it the next day.  It was really cool to see that the students were like “I understand this… this is cool”.   We did a decent job of explaining how it works (it helps that the students are very smart).  The positive social energy while they made their necklaces (everyone was helping each other) was amazing. Some girls wore their bracelets all week.
    • Immediate application of the concept.  The students immediately “tried out” the concept using an easily accessible coding language (Snap!).  We assigned the students short projects that allowed them to try their new learnings.
    • Collaboration – We assigned students to work in pairs and re-arranged the students into different groups every day.  This worked extremely well (especially since we had 3 pairs of identical twins).  Not only did they get to know each other, but if they were with someone that they did not work well with, it was not for long.  For the project the last day and a half, the students were allowed to pick their partners based on the type of project they wanted to create. It is always interesting to see who worked whom. There were some pairs that I would not in a million years have thought would choose to work together, but they got along great and were extremely effective.  We had the students “peer review” each others final projects.  This was an informal activity where the students could see, comment on, and ask questions about other team’s projects.
    • We played music while they worked.   It sounds like a small thing, but it added to the positive energy of the room
    • Created room for personal creativity.  Most of the short projects allowed the students to add their own uniqueness to it.  The could import a picture to use as background or choose a sprite that was a unicorn or a dragon (or just keep it as an arrow).  Another project required the students to create a mad lib.  The functionality for all of the students was the same, but they could choose their story.  Programming is ultimately a creative endeavor and letting the students put their creative stamp on the project made it a lot more interesting for them.
    • Culminating project that brings it all together.  The students were almost addicted to working on the last project.  We gave them categories (android app, game, story, etc…) but they were able to create anything they wanted to.  We had to tear them away from their computers for lunch and they asked if they could go back after they finished eating to continue on their projects.  Many of the girls worked on their projects from home.
    • Online journals.  We asked the students to journal at the end of the day.  Not all of the students liked to journal, but we found out a lot that was working and was not working from the journals and were able to make adjustments for the next day.
    • Used different lecturers, especially someone the students can identify with.  All four of us taught at least once, but we also had an undergraduate student who was helping us. She was very familiar with Snap! and give a lecture for one lesson.  She was close in age to the students and she was a way cool girl.
    • Daily post-mortems.  The four teachers would meet at the end of the day and list what worked and what did not and then make adjustments and plan for the next day.
    • We tried not to make too much out of the fact that they were girls in CS and they were very unique.  We did tell them some of the facts (only 17% of the CS majors are women and ten years ago it was 35%).  Instead, we not only tried to show them examples of women who were in CS (through guest speakers, the teachers and videos), but also women working with men in tech.  For example,  they visited grad student teams that were working on various projects.  Almost all of the teams were an equal mix of men and women.  It was very powerful for the students to see how men and women programmers work together.  The grad students who were women were just programmers, they were not some weird special breed.
    • We tried not to go “pink” and make the camp “girlie” (see article on the backlash to “pinking” CS), but we did do some activities that may not have gone over well in an all male CS camp (such as the binary bracelet and using a meowing cat as the first project) and most of the girls enjoyed these activities.  Giving the girls the opportunity to choose an activity or design that is more feminine is important, but assuming all of the girls would make the traditionally feminine choice is a big mistake.  Yes, some girls chose the unicorn as a sprite in Snap!, but others chose the fire breathing dragon and others chose the bat.  It is a tough balance to keep.  They are girls and, in general, they are different than boys.  But, they are much more than just “girls”.  They are individuals and this individuality should be encouraged and respected.
  • Things I might do differently
    • Create a large project that incorporates all of the concepts being taught and allow the students to work on the pieces of the project that use the new concept.
    • Make sure the students save frequently.  We had multiple issues with the equipment and the students lost their work.
    • Have the students journal from the first day.
    • If the teacher walks the students through some code, have the code actually printed out so the students can easily refer to it.
    • Make the camp two weeks instead of one.  This would allow for a project that could really incorporate all of the concepts.
    • Use some kind of mobile app creator (such as app inventor).


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s