Friday, July 18, 2014

Reflections on 'Learn to Program With Python'

This past June, I designed and taught an introductory programming course through Girl Develop It! Ottawa called Learn to Program With Python.  It was a two-part course hosted at Shopify and geared toward complete beginners.  I wanted to give a solid foundation in four core programming concepts —  variables, conditionals, iteration, and functions —  using the visual context of Python's turtle module, then reinforce these concepts by building up a simple text adventure game.

You can check out the outline and delve into the detailed contents of the course here.

Overall, I'm pleased with how the two three hour sessions went.  Not only did I think that the material was about right for the length of time, it served as a test run for my arts and social science class.  I am hoping to use Turtle this fall to get my students to learn the same core programming concepts.

One negative aspect was that we had a mix of experience in attendance.  Generally those who weren't beginners would have not benefited from the course as much; I truly wanted to start from the very beginning.  Deciding how to pace the course is difficult when some students already know how to program, and just want to learn Python in particular.  It is impossible to please everyone.  That said, if I prepare myself and the TAs better for this in the future, we should be able to come up with extra challenges and things to try for those with more experience.

The general feedback was positive, and the sense of community both nights was amazing.  Alexandra sums it up well!  I think our next courses will start to delve into the core Girl Develop It tracks, which will please those with more experience.  First we need to figure out what to do about setting ourselves up properly as a foreign Girl Develop It! chapter in Canada.  I hope it doesn't take too long because it's clear there is a need for more opportunities to learn to code!

I would like to leave you with a picture one of the more experienced students Carolyn drew during the course.  She was actually a star student of mine this past year at Carleton, and came this course for a fun way to learn some Python.

The coolest part is that she showed her daughter this picture as the turtle drew it, and the daughter thought it was like magic.  Hopefully Carolyn can turn that excitement and wonder into a desire to learn some programming! :)

Thanks a million to the wonderful TAs who came out to help with this course, and to Kristyn for taking the wonderful photos you see above and in the Meetup event.

Wednesday, July 2, 2014

GLS10 / Let’s Prototype: Women at the Intersection of Learning, Games, & Design

The tenth annual Games, Learning and Society Conference, held this past June in Madison, WI, featured a panel on women in gaming.  Moderated by games-journalist-turned-grad-student Amanda Ochsner, the panel featured some heavy hitters: Elisabeth Gee, Deborah Fields, Yasmin Kafai, Colleen Macklin, and Mary-Margaret Walker.

The discussion was mainly focused on how to get girls interested in both game design and computer science (but not necessarily both).  Following is a summary of some of my notes from the panel.

Image modified from original via Wikimedia 

How can educators create better mentoring opportunities for young women?

The first answer was a great one: be visible, and be outspoken.  Show why this is such an exciting time to be in games.

The experience of some panellists is that no matter how they set up workshops featuring game programming, it's always the boys who sign up.  We need to talk to teachers and actively talk to girls, personally inviting them to come.  Perhaps girls-only groups are needed (that's what I've been doing in my own outreach!).

One panellist pointed out that she was able to attract girls by featuring stories, music, and animations rather than games and programming directly.  The students don't even realize they are programming at first.  In another panellist's workshop, attendees would work on e-textiles; in this case, marketing must be done very carefully as both boys and girls hold onto stereotypes they aren't even aware of ("no sewing, circuitry or programming required").

Another challenge is that many still hold onto stereotypes about what it means to be a gamer; supposedly, only uncool gamers take game design classes.  At ASU, they are trying to infuse game design into journalism.  Foregrounding the subject matter that games are about seems to be a successful way to attract more women.

How can we approach teaching game design in ways that support a diversity of ideas and process?

In a sense, the discussion surrounding this question presented a solution to the previous one.

One of the most interesting ideas was that all art is technical - there are always technologies to learn that you use to be creative.  Hence, making games, and all the technology behind that (including programming) could be considered an arts subject.  The technical element is simply something you need to learn in order to effectively express yourself.

How might we engage young girls in game design, programming, and technology at earlier ages?

Something to remember: "We can't do it all, and we can't do it all in programs." Nonetheless, it is not difficult to find really good tools to help design programs to engage girls.  We can engage kids in actively designing and making things, and in making connections to things they care about.

One greater issue is the poor quality of many games designed for girls.  According to panellists, there is nothing in these games to get girls interested in computing and other technical pursuits.  The games have a low level of complexity.

We are often trying to get girls interested in game design and computing at the same time.  Perhaps, panellists pointed out, we should sometimes keep these types of outreach separate.  Learning about technology, for example, doesn't always have to be done through game design.  There are many other great opportunities like e-textiles.  At the same time, we don't always have to be trying to get girls interested in programming and computer science when we teach them game design.

Remember that each kid is already designer ("I designed my first games during recess").  That's a start.  Now let's talk about how games are actually made.  In the 1980's, you typed game code from a magazine to be able to play.  Everyone understood how programming worked because we had to.  Can we make programming not such a special thing?


For more, see my conference notes on this session.

Wednesday, June 18, 2014

GLS10 Keynote Scot Osterweil: It's Not About the Game

When I attended the 2014 Games, Learning and Society Conference (GLS10) in beautiful Madison, Wisconsin, I did not expect to engage much with the topic of stories in games.  True, it's a hot topic these days, but I didn't think it would show up much at this venue.  Thursday's keynote speaker Scot Osterweil proved me wrong.

Osterweil, Creative Director of the Education Arcade at MIT, titled his talk "It's Not About the Game."  Though I am not confident I know for sure what he meant by this, I have two guesses: it might be related to Eric Zimmerman's Games Are Not Good For You talk, which Osterweil discussed at length; or, it could be a call to focus on the importance of narrative within games.

In part, Zimmerman's talk was trying to say that we need to just let games be games.  We should not be instrumentalizing them for other purposes (like, say, education?).  This made Osterweil realize what we are really doing as educational game designers.  We are trying to change people with technology.  In a sense, it's not unlike the reprogramming scene in A Clockwork Orange, he points out.  Is this what games are supposed to be all about?

Games are supposed to be about play, and play is all about agency.  It's what we do when we don't have to do something else.  We don't do it for some specific purpose —  not even education.  Play is about freedom: freedom to explore, freedom to fail, freedom of identity, and freedom of effort.  How many educational games actually include all of these freedoms? No game can make you play harder than you want to.

You can't just add "fun" to a math game.  If you don't find something fun to begin with, you shouldn't make a game about it.  Games are much more about building conceptual frameworks and preparing for future learning - not instructing something.

So what about narrative?

Osterweil says he grew up wanting to be a storyteller.  He noticed that the Greeks had a word, agon, that was relevant in multiple areas important in Greek culture.  Agon means competition, which has context in games (i.e., competing in the Olympics) and stories (conflict in theatre).

When we go into a game, we enter as a contestant: "we willingly submit to arbitrary rules and structures in pursuit of mastery, only if we can continue to be playful".  In other art forms, like film and theatre, we are spectators (though possibly not passive ones).  We construct knowledge differently with these two roles, and with stories in games, we can make them overlap.

In addition to being contestants and spectators, we can also be creators.  Perhaps where all three overlap is where the most powerful educational opportunities lie.

Osterweil emphasized that we as game designers need to start thinking more about the affordances of story and gameplay.  We need to start thinking more about the ways narrative is engaging our players.  Beyond this, when making games, we have to care about it ourselves; we can’t just think about what the kids want or else we'll end up giving them a creepy tree-house.  Both the creator and consumer of narrative need to be leaning forward in interest.

To read more about the keynote, you can look at my raw conference notes, the collaborative conference notes, Sam Potasz's blog post summary, and Donelle Batty's Storify of the second conference day.

Friday, June 6, 2014

Mini-Course 2014: Survey Results

After a one-year hiatus, I ran my all-girls mini-course on computer science and games again this past May.  Along with a picture of my lovely class, I wanted to share this year's pre- and post- survey results.  Note that while I compare some numbers to past courses, I did not post data from 2012 and there was not course in 2013, so neither year is mentioned.

Pre-Course Survey Results

Before we begin with our first class, I ask the girls to fill in a survey to try to capture their attitudes toward computer science.  Naturally, I hope to see a general improvement in these attitudes by the end of the course.  Here are some of the more interesting results.

"I am confident that I understand what the field of computer science is."

  • Strongly agree: 1
  • Agree:5
  • Netural/don't know: 11
  • Disagree: 2
There was less confidence about what the field is than in some previous years (e.g. 2010, where 50%  agreed to this statement in the pre-course survey).

"I would consider computer science as a good career for women in general."

  • Strongly agree: 5
  • Agree: 14
 Despite the lower confidence, there was not a single neutral response for the first time.

"I would consider computer science as a good career for me."

  • Strongly agree: 5
  • Agree: 5
  • Neutral/don't know: 9
This is the highest number of any type of 'agree,' let alone 'strongly agree.'  Could it possibly mean that the widespread efforts to get young people (especially girls) into computer science are actually starting to work? I hope so!

Post-Course Survey Results

I ask many of the same questions after the course, as well as some new ones.  Here are the most interesting responses.

"Are you glad the course was just for girls?"

  • Yes: 8
  • No: 1
  • I'm happy as long as I'm not the only girl: 10
We did our surveys before we got together with the other (mostly male) class to share our games and eat pizza.  It would be interesting to see if their responses would change after that event.

"I enjoyed learning about what computer science is really all about."

  •  Strongly agree: 12
  • Agree: 6
  • Neutral/don't know: 1
This is a great result, even considering how many came to the course open to the idea that computer science might be interesting.

"I would consider computer science a good career for me."

  •  Strongly agree: 8
  • Agree: 6
  • Neutral/don't know: 5
This is the best year-to-year result for this question that I've seen.  Even though 2011 was a good improvement over 2010, this is better still.  It is also wonderful to see so many responses move up (neutral to agree, etc).

"I am more likely to try computer science in high school or university after taking this course, or this course has confirmed my desire to do so."

  • Strongly agree: 8
  • Agree: 10
  • Neutral/don't know: 1
Fantastic.  I only hope that their next experience with CS is a good one.  (I hate that I have to worry about that!)


This year's course was not changed drastically from previous years.  We spent some more time in the lab, and had more guests talk to them.  I also skipped the section on women in the industry.  Although one person said she wished I had covered that topic in her survey comments, I have to wonder if skipping it contributed to this year's success.  (I previously wrote a bit about messaging in these sorts of workshops and courses.)  Either way, I am thrilled, and can't help but think that maybe these sorts of programs are finally going to make a difference soon at the post-secondary level.

As usual, you can read more about the course here, or take a look at the materials as presented to the girls.

Tuesday, May 27, 2014

Go Code Girl 2014: Impact Survey Results

This year's Go Code Girl event, which focused on programming with Python and the Raspberry Pi, was a great success.  The impact surveys the girls filled in at the end of the second day really help illustrate this.  The results are summarized in the image below, and again in text below that.

(If you'd like to take a look at the slides etc, you can do so here, keeping in mind that pacing and interaction with students is not evident from slides alone.)

I enjoyed learning about what computer science is really all about.
  • Neutral/don't know: 2
  • Agree: 16
  • Strongly agree: 9
I enjoyed leaning how to program (or learning to do new things with code if I already knew how to program).
  • Neutral/don't know: 1
  • Agree: 14
  • Strongly agree: 12
I enjoyed playing with the Raspberry Pi.
  • Disagree: 1
  • Neutral/don't know: 3
  • Agree: 15
  • Strongly agree: 8
My confidence in my ability to use and understand computers has increased.
  • Strongly disagree: 1
  • Disagree: 1
  • Neutral/don't know: 7
  • Agree: 16
  • Strongly agree: 2
My view of computer science as something to study or as a career has become more positive.
  • Disagree: 1
  • Neutral/don't know: 6
  • Agree: 15
  • Strongly agree: 5
I am more likely to consider taking computer science and/or programming courses in the future because of this workshop.
  • Disagree: 2
  • Neutral/don't know: 5
  • Agree: 14
  • Strongly agree: 6
I thought Python was a good choice for this workshop.
  • Neutral/don't know: 3
  • Agree: 21
  • Strongly agree: 3
I thought the Raspberry Pi was a good choice for this workshop:
  • Disagree: 1
  • Neutral/don't know: 5
  • Agree: 14
  • Strongly agree: 7
I felt the workshop content was clear and well explained.
  • Strongly disagree: 1
  • Neutral/don't know: 3
  • Agree: 14
  • Strongly agree: 9
I felt the workshop had the appropriate level of interactivity.
  • Disagree: 1
  • Neutral/don't know: 2
  • Agree: 15
  • Strongly agree: 9