Wednesday, September 17, 2014

Changing the Programming Gender Gap at NNHS

This year, my colleagues and I are focusing our efforts on addressing the gender gap that exists in our programming classes in our school. Our curriculum consists of Programming 1, Programming 2 (each a semester course) and AP Computer Science (2 semesters).

THE DATA

Before developing a plan for how we would attempt to address this issue, we looked at our enrollments over the past four years. The numbers confirmed to us some positive things, and gave us some data so that we can evaluate if our efforts are paying off.

Without going into great detail, here is a brief view of our enrollment numbers over the past four years.

THE PLAN

We know that this will not be an easy, or immediate change we can affect. However, over the course of the last year we began to make plans for how we could start to close this gender gap in our programming courses. Here is an overview of some of the things we have done, and are planning to do in the future.

Room Remodel

Our first step was to redesign the programming room to be a more collaborative and inviting space. This was a major change and the work was completed over the summer. We removed the old "rows" of computers that students used to sit in and created team pods of 4. We painted the walls to soften the room up. We purchased new comfortable chairs for each computer and four new couches for collaboration.  We installed a white board the size of one of the walls, and repositioned the two projectors to provide large presentation areas on the white board so that there would not be a "bad" seat in the room during instruction. We added a new teaching station, closer to the center of the room. We purchased a class set of I-PADS with keyboards, to both increase learning opportunities and opportunity for collaboration.

We still have a few items left to check off of our list before we consider this project complete. We will be printing and hanging examples of student created Turtle Art, Fractal Trees, Media Computation Collages, and other visual examples from class and hanging them in frames around the room. We are designing some large visual pieces that will visually reinforce that all students can succeed in the class to hang on our windows and walls.

Here is a look at our room before, and its progress to date:
 BEFORE
AFTER

Curriculum Changes

We also began making curriculum changes. Changes in both how we teach, and what types of activities we do.

We looked at ways we could increase student collaboration in our instruction.This included an increase in use of strategies like Pair Programming, Peer Instruction, and Team Discussions. The goal is to create more opportunities for our females to collaborate and work as a member of a team.

We also evaluated our activities to see if they were biased or skewed in anyway against our female programmers. Many of our activities were good, but some needed to be updated. Here are a couple examples of what I mean. 

In the programming 2 class, the final capstone project had been that students made a 2D video game. While many students enjoyed the activity, there was no opportunity for choice to explore something else. The programming 2 capstone project is now a menu of choices that students can select from, including 2D video games, Turtle Art, Media Computation, GUI programs, or I-PAD apps. The idea is that now our female programmers have something to choose from that better represents their interests. Indeed, this seems to hold as a positive change, as most of my female students chose something that was not a game last semester.

In Our AP Computer Science Course the students do a unit with the LEGO MINDSTORMS. Their final activity with these used to be a "Sumo" battle of sorts in which one team had to push the other team out of the circle. Now, instead of a combative battle, the students work together as a team to solve a series of problems, like getting out of a box that has only one opening. This increases the collaboration of the team and is a better way of engaging our girls in problem solving.

Outreach

We are planning several ways to reach out to female students during the year to attract them to our courses. Last year we did a Code Week where we set up in our cafeteria and showed off some the student created work and activities that students have done in our courses. This year we will do something similar, but also with other classes in our department hoping to draw a wider variety of students over.

We will also be airing a promotional video throughout the semester across our schools growing video communication system. The video below will air in our cafeterias and building hallways throughout the semester to let our females know that they have an opportunity to be great in our programming courses. The video can be seen below:

Personal Invitation

One of the new things we will be trying this year, and that we believe could be very powerful, is to send out personal invitations to some of the freshman female students we believe could benefit from, and have success, in our courses. We are going to identify freshmen females in a variety of math and science courses who's teachers feel they have an aptitude for continuing on in their fields or show early signs of success in the class. We are going to write personal invitations to these ladies to come visit us and learn how computer science can benefit them in their future pursuits and to personally tell them that we believe they will have success in our computer science course if they are willing to give it a try.

Moving Forward

Moving forward we will continue to evaluate the success of our initiatives, and to plan other ways in which we can address the lack of female students in our programming classes. I'll share in the future what does and does not work for us in the hopes that others might be able to implement change in their area and continue to help our young female students become a bigger part of our community.

Wednesday, September 3, 2014

Early Programming 1 Activity - Personal World Lab

LAB 2 - Personal World

In Programming 1 we start by introducing students to what programming is. We start this process by using "Alice", a visual drag and drop program that lets students focus on the principle's of programming in a way that let's them explore without having to worry about the details of code syntax.

Early in this process, we start by teaching the students how to simply use the Alice program and make it do simple things like add objects and methods to their program. After the students have completed a simple formative lab in which they demonstrate they can accomplish simple things in the program, we assign the students the Personal World Lab to let them explore the program.

This assignment is formative in nature, and is intended to let the students explore, learn, and share amongst their peers the things they find out. In essence, the students are asked to use Alice to program the scene of a world in which two people interact. One of the characters has to be a representation of the student. They are asked to share information about their personalities and their interests in the scene they are creating.

Students get so involved with trying to make "their" scene the best it can be, they both deeply explore the program and what programming can do, as well as sharing a lot of information about themselves. We learn so much more about our students by letting them explore and share, then by just engaging them in discussion. It is by far one of my favorite assignments of the year.

Below are some sample scenes that students have programmed for you to explore:





Using Technology Effectively

Our school is piloting a 1:1 Chromebook program and everyone is excited! If you didn't already, you now have the oppor...