s

p

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.

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!)

Summary


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.

Python and Pi Helped Make Go Code Girl 2014 A Great Success

On the last two Saturdays of March, a group of high school girls came to both Carleton University and the University of Ottawa to learn about computer science and try their hand at coding.  This was our second annual Go Code Girl event, and thanks to Python's turtle module and the Raspberry Pi, it was even better than last year's!


Last year, we based our one-day workshop on Processing (postmortem here).  When my colleague from Ottawa U, Nathalie Vallières, suggested we try using the Raspberry Pi for our two-day workshop this year, I was both excited and scared.  Excited because I'd always wanted to try out the Pi, but scared because any time you introduce hardware, things can (and will) go wrong.

Biting the bullet, our School of Computer Science ordered some Pis to go with the set that Ottawa U already had. We decided to teach Python using the turtle module on the first day of the workshop at Ottawa U since Python seems to be the most popular language for the Pi.  We would then focus on the Pis themselves on the second day of the workshop at Carleton. In the end, both days ended up going very well.

On the first day, after introducing what computer science was all about, we started drawing with our new turtle friend.  Students typed in a minimal program in IDLE and ran it to see the magic happen.  From there, we introduced basic programming concepts one by one, leaving time in between to try some challenges or just experiment.  First came repetition, then variables, and finally booleans and if statements.



On day 2, we had the girls set up the Pis in the computer lab we normally run tutorials in (having a projector in there was really nice).  The monitors there had HDMI inputs; perfect for the Pis.  The keyboards and mice were easy to "steal" for the Pis as well.  The only problem we ran into was the power outlets mounted on the desks: sometimes, the Pis didn't seem to like the level of power coming from them.  So some girls just plugged the USB cable powering the device directly into the monitor.  Smart.




We started with a lesson on using the command line.  I was worried this would be dull for them, but starting with a pictorial representation of how they could feel like "movie-style hackers" with the command line probably helped.  They loved doing things manually at the prompt and seeing the results in the GUI file browser! I was shocked but thrilled.




After playing with the command line, I walked them through a few of the steps needed to make a text adventure game.  To be honest, I wish we had more time for that.  But they seemed to enjoy it anyway.  Once again, we encouraged them to play and experiment, so if they wanted to play with Scratch or look around on the Pi instead, that was ok too.

All in all, I'm very happy with the formula we came up with this year.  If you'd like to see the slides and other resources I posted for the girls, check them out on my website.  If you've ever done a workshop similar to this, I'd love to hear about it in the comments.

Planning for Go Code Girl 2014: Python and Pis

Last year's Go Code Girl was a great success.  This year, we wanted to build on that as well as try something a bit different.  Keeping the same overall format, we're hosting two days of coding fun: the first at University of Ottawa and the second at Carleton University.


Instead of teaching the girls Processing again, we'll use the turtle module to draw fun pictures in Python, LOGO-style! Then, on day two, we're going to see what we can do with the Raspberry Pi.

I'm a big believer in teaching programming to beginners in a visual way.  Not only is it more exciting than printing text out onto a console, but it can help understand commands in a more concrete context.  In can even allow for an embodied understanding of concepts, for example by imagining yourself as the turtle moving around the screen, leaving a pen trail behind you.

It's no surprise that I'd favour using something visual to introduce Python.  But as you may know, I tend to favour Processing over Python as a first language.  Why use Python? Partly to get more first-hand experience in teaching it as a first language, and partly because it seems to be the language of choice for the Raspberry Pi.


I know that in the three hours we have on the second day, we won't be able to do that much with the Pis.  I want to try to give the girls enough knowledge and confidence to continue exploring on their own, should they wish to purchase a Pi of their own.  Thus, it's important that they know a bit of Python.

As an added bonus, I can experiment with the turtle approach for teaching programming to my arts and social science students next year.  I imagine it would be a big improvement over how I did it last fall.

I'll report back on how things went and provide a link to the workshop materials when it's all over.

CS Principles and the CS 10k Initiative / GHC13

As the opening keynote here at GHC reminded us, computer science has a supply problem.  The number of people we need to create technology is increasing at a much faster rate than students taking computer science in schools.  The Exploring Computer Science and Computer Science Principles projects are aiming to help fix that.


At a panel discussing the two projects, we learned why they matter and how they work.  CS Principles is an advanced placement (AP) course for high schools that is currently in pilot mode.  (AP classes, for the non-Americans like myself, are like college level classes taught to high school students in exchange for college credit later on.)  On the other hand, Exploring CS is intended as a high school level class taught to high school students.

Both take an approach to teaching computer science that is dear to my heart.  They want to show why computer science is interesting and relevant; students should "learn how computer science is used as a lever to move the world."  They do it not through typical lecture-based styles of teaching, but through inquiry, offering interesting problems that engage students.  Exploring Computer Science is described as student centred, collaborative, and inquiry based — a very powerful combination!


The goal is not to teach coding, but computational thinking.  For example, CS Principles centres around several big ideas including creativity, global impact, abstraction, the Internet, and more.  It does make use of fixed-response questions as assessment, but it also has performance tasks that give much more flexibility to students. This really gives some insight into the kind of "content" delivered.

It's this kind of philosophy that I was inspired by when creating my version of our "Introduction to Computers for Arts and Social Students" course.  Of course, with 440 students in a huge lecture hall, the kinds of in-class activities and assessments is somewhat limited.  Even still, I could take this course's design so much further than I have so far, and hope I get the chance to in the future.

I'd also like to push my outreach teaching and curriculum to the next level.  As I do, I should take heed of the advice given by the panel in response to an audience question: If you are a non-profit (like Girls Who Code, for example), and you are considering using these curricula, start by talking with teachers.  They know how to engage a group of high school students and teach them effectively.

Making the Most of Your Messaging in 'Women in Computer Science' Outreach

If you've ever done outreach with girls to try to get them into computer science, you may have wondered what the best way to do it is.  After all, we've been at this a while, and yet we haven't seen the level of progress we had hoped for.  What is going wrong?


I have a formula that I've used in my outreach for the last 6 or 7 years now.  It goes something like this:
  • I introduce myself with fun pictures of my family and hobbies.  I also include a photo of me at the Golden Gate Bridge so I can talk about how companies like Google support women in CS through scholarships and gatherings.
  • I ask the girls what computer science is, then explain that it's really all about problem solving.  I go through several domains to show how computing is connected, and if there's time, I ask them for their hobbies and give some possible connections there.  I also show a video from University of Washington on various pathways in computer science to drive home the point that CS is really diverse.
  • Our discussion then turns to the issue of women in CS.  I show some graphs that illustrate the problem, then ask the girls to discuss three questions in small groups before we bring it up with everyone: (1) Why don't girls go into computer science? (2) Why is this a bad thing? (3) What would make you interested in trying computer science in high school or college? This is followed by the great little video on women in CS from Google.
  • Finally, I do a hands-on activity to showcase a real computer science problem (typically, a CS Unplugged activity).
This formula has served me well.  In my mini-course, I have this discussion on the first morning of five full days of learning about computer science and videogames.  I do pre-course and post-course surveys to see how the girls' attitudes change, and generally the trend is positive.  Even when they aren't sure about CS being a good career for them, they are interested in pursuing some courses in the future.  (You can see some results here, here, and here.)

But is my approach the best it can be? Will it encourage the girls to stick with CS even if they do decide to pursue it somewhere they are likely to be the minority?

My section on the 'women in CS' issue has been questioned a couple of times.  In the first, Barbara Ericson mentioned that when they tried to counter stereotypes, they actually ended up reinforcing them, causing a decrease on the number of girls who thought they could succeed at computing.  More recently, Jim Davies pointed me to research about normative behaviour, explaining that by pointing out the problem, people are more likely to focus on that and behave the same way.

Obviously, these two things had me a bit concerned, and got me wondering if I should be dropping that portion of my outreach altogether.

But I knew I had a purpose for talking about the problem.  It would feel disingenuous to ignore it altogether because I think most people realize it's an issue; however, if doing so improves our results then it may be worth it.  Another reason I do it, though, is based on the fact that I am not only trying to change a current opinion about the field.  I want to make sure that if I can convince them to further pursue computer science, they will not leave again as soon as they run into the issues that might have kept them away now.  In other words, I want to prepare them for what may come next.

Based on this, I knew I had to dig deeper so I could try to modify my approach instead of dropping that section altogether.  I found the research that Jim was talking about: a paper called Managing social norms for persuasive impact.  It describes a study on what type of messaging is most effective when trying to convince people to behave a certain way (in this case, to stop people from stealing wood from a petrified forest).

There are two main ways of illustrating the type of behaviour you want from people.  You can use descriptive norms, which make use of what people are currently doing.  Public health campaigns use this often: "more than 3 million youths in the US smoke and ... 3,000 become regular smokers each day."  Alternatively, you can use injunctive norms, which focus on what people ought to do.  For example, "don't leave your campfire."

Previous theories as well as this particular study have shown that the most effective type of messaging is not descriptive, but injunctive, for the reason Jim mentioned above.  Further, it is much more effective to use negative wording rather than positive (e.g. "don't leave your campfire" vs. "stay with your campfire").  This is interesting given how many campaigns meant to persuade people ignore this advice.

In my case, it seems clear that focusing on the actual number of women who don't go into computer science is a mistake, given the descriptive nature.  The girls in my audience may focus on that and think, "well if no other women go into computer science, why should I?" The follow-up discussion may counteract that, but why risk it?

If I still want to address the issue in some way, I need to find an injunctive way to do it.  I think it may be possible to do this by focusing on what we want the girls to do: try computer science.  A negatively worded question I came up with is this:

What would stop you from trying and enjoying computer science?

I think this avoids the issue of focusing on women who don't go into CS, yet allows us to explore the issues they might face later on.

What do you think? Is there a better way to approach this problem that fits with the research? Where can you switch your own messaging from descriptive to injunctive?

A Picture of Me Dancing With Graphs

On Wednesday, I did my annual mentoring with Girls @ Virtual Ventures, the all-female section of the popular science and engineering camp held at Carleton.  As usual, the girls made a wonderful audience as I told them what computer science was, had them discuss why there aren't more women in CS (and why it mattered; things got intense!), and ran the CS Unplugged searching activity.


This photo was posted on the Virtual Ventures Twitter account.  I like it; it looks like I'm dancing with graphs. :)

In other news, my post about how improving CS education improves it for everyone was featured on the blog of the Ontario NSERC Chair for Women in Science and Engineering.  Stay tuned for an original, more personal post to appear there later this month.

Unboxing GoldieBlox

Way back when, I missed out on the Roominate Kickstarter campaign, and I regretted it afterwards. So when GoldieBlox was proposed, I jumped on it.  Plus, $30 to have the toy shipped right to me sounded like a pretty good deal!

It took a little longer than they expected to ship to Canada, but it was worth the wait.  I got my toy a few weeks ago and finally had the chance to try it out! My (lowish quality iPhone) photos of the unboxing are below.

The toy is really neat, and my only criticism is that some of the manufacturing isn't perfect, resulting in it occasionally being difficult to get the figures to stay on top of the wheels.  I am sure this will improve over time.

I can't wait for Molly (currently only 1.5) to be old enough to try it out!








Go Code Girl a Great Success!

On Saturday the University of Ottawa held its inaugural Go Code Girl event.  I designed the workshop's curriculum and taught the English section for the day.  I must say, it was a great success!


We started the morning with a general welcome session with the workshop organizer, then headed to the computer labs in two groups (French and English).  I had my group of girls "interview" someone they didn't know yet after introducing myself, then had them introduce each other.  It was really great to see what a big variety there was in their backgrounds.  Some girls came because their older sisters brought them along, others already knew they were interested in programming, and still others came because their parents made them.  All of these girls stood to benefit from attending.

As I often do, I began with a discussion of what computer science is really all about, and why women don't tend to go into it.  I usually do this with a younger audience, so it was great getting insight from the high school perspective.

The key points that came up were the fact that many girls don't know what computer science is (and how it connects to so many different areas), that it's easily seen as a boy's thing given the current gender imbalance, and that it is intimidating being one of the only girls in a large class.

Interestingly, the discussion focused from there on the quality of high school programming classes.  Over the years, I have been asking high school students what they thought of these courses.  Anecdotally, it seems that they are often not overly effective, particularly for women.  The girls in the workshop wished that the courses weren't just about programming, but rather used programming as a tool to solve more interesting problems that they actually care about.

It also seems that the backgrounds of some programming teachers is not even related to computer science.  In one girl's high school, the gym teacher also happened to teach programming; he didn't even bother promoting programming when they had a course fair for students.  This means that the quality isn't necessarily the fault of the teachers.  There just aren't enough computer scientists willing to teach! But that doesn't mean we can't train others on how to teach CS.  In fact, this is something I want to do as time goes on, similar to what Barbara Ericson from Georgia Tech does in her home state.

After our discussion, I had the girls download a finished Processing project.  It was a memory game I had created for a previous workshop and then adapted for the undergraduate game dev tutorial I was TA'ing for.  I told the girls I wanted them to play with the game, look at the code, and start finding ways to tinker with it.  I interrupted them every ten minutes or so and taught them a new programming concept (variables, boolean and if, loops, arrays and lists, methods, and objects).  After each concept, I left up a small snippet of code they could independently type in and tinker with to better understand the topic.

This was a new approach for me, but a few smart people had suggested it works pretty well (including Barbara mentioned above, as well as one of the creators of Processing himself!).  It supported the idea of just-in-time teaching, where we expected the girls to run into problems so we could help them learn something right when they needed the knowledge.

Did it work? Let's just say a mentor mentioned to me that one girl said she had just learned more about programming in the first hour of the workshop than she had in four months at school.  Sounds promising to me!

In the afternoon I had the girls choose a tutorial to work on where they were guided in making a mini-project of their own.  Every needed step was described, but not always completely explicitly.  Some of the girls struggled with these more than others, so it might be worth making an easier one for those who are less confident.

We still have some data to look at via surveys we gave at the beginning and end of the workshop, but overall I think the day was quite successful.  Huge kudos to Nathalie Vallières from the University of Ottawa who organized the entire day, contacting me as a potential instructor months ago.  I'm looking forward to this becoming an annual event!

'Go Code Girl' Processing Workshop Registration is Open!

I'm pumped that registration is open for a workshop I'll be leading April 20 at the University of Ottawa.  It's called Go Code Girl and it's going to be a programming workshop for high school girls.  I'll be basing the day off of my earlier Processing workshop for Girl Develop It with a few new tricks up my sleeve.


If you are or know of an Ottawa area high school girl, be sure to visit the registration and info site today! My guess is that spots will fill up fast.

On Allowing Boys Into a Girls' Camp

Today I had the pleasure of speaking on a panel about engaging girls in STEM at Actua's annual conference.  I offered my perspective on computer science outreach in particular, drawing on 5+ years of experience.  One question that came up was whether we should allow a boy enrol when he is interested in joining a girls-only camp.

The school pet at a girls school / theirhistory

I thought this was a good and very interesting question.  On the one hand, what would be the harm? Maybe it would be beneficial to all involved.  Plus, there may be issues of gender inequality if disallowed; a reverse discrimination in some sense.

But on the other hand, I remember the panic I felt when some boys had ignored the description and signed up for my girls-only mini-course.  It was the first year I ran it, and I suppose it wasn't clear enough at the time that it was only for girls.  Some boys who really really wanted to make sure they could get into a games course signed up for both mine and the open one.

I felt like allowing the boys to join us might not have bothered some of my girls, and perhaps would have worked out fine in the end (despite research saying that girls tend to learn better in a girls-only environment).  But I couldn't shake the feeling that I was betraying their trust.  As confirmed later through pre- and post-course surveys, some of them signed up specifically because it was just for girls.  What would it have meant if they showed up on the first day and saw that suddenly boys were present as well?

Besides that, some of the discussion we got into in the course would have been quite difficult to have in a mixed class.  This isn't to say that boys aren't capable of discussing the issue of women in tech (though I do question whether middle school boys would be mature enough).  But I have no doubt that the things the girls said in these discussions would have changed if the class was mixed.  To me, this would be a huge opportunity missed, indirectly lessening the impact of the rest of the course.

In the end I'm not sure I have a clear-cut answer to this question.  I am leaning toward either sticking to an all-girls class if that's what you set out to do, or have a mixed class where you reserve half the spots for girls if you want to avoid the issue altogether.

NSF Funding Opportunities and Effective Proposal Writing Strategies (GHC12)

Even though I'm a Canadian grad student, the Grace Hopper session on National Science Foundation (NSF) opportunities was very relevant to me.  As my collaborators and I try to put together a team and plan for my Gram's House project, we are looking toward putting in a grant application.  So at this talk, I was looking for inside tips from the panellists representing NSF that might help increase our chances of success.


The presentation gave a good overview of the various programs available from NSF, but rather than reiterate those here, I encourage you to look at the funding portion of NSF's website.  The program I am most interested in was Computing Education for the 21st Century since I thought that would be the best fit for Gram's House.

One interesting statistic on the applications for NSF grants: the percentage of women applying tends to be low, but the acceptance rate of men and women according to how many applied is more or less equal.  Turns out this is because when women are rejected, they often stop there.  But when men are rejected, they get mad, and try again. And again. However many times it takes.  I'll have to keep this in mind as we try to move our project forward.

As for strategies for success, it's important to remember there's no magic formula.  It's useful to keep in mind some of the key questions reviewers will want answered:
  • What do you intend to do?
  • How important is the work? (probably the single most important part)
  • What has already been done? (also extremely important)
  • How are you going to do the work?
  • Does it fit into the solicitation? (note that you can actually indicate a secondary program, so take advantage!)
I asked a bit about some of this after the session, and learned that, in our case, it's going to be really important to get the past work part right.  After all, many many people are trying to do things with games, and reviewers will tend to have their own favourite projects.  We don't want to miss mentioning theirs if at all possible.  Plus, many are still skeptical that girls even like to play games, so we need to make sure you dispel that myth effectively as well.

Some of the advice the presenters gave for developing your bright idea includes:
  • survey the literature - if not relevant to a particular body of work, cite it and say why it’s not relevant
  • contact other investigators working on the same subject - collaboration opportunities?
  • prepare a brief concept paper
  • discuss with colleagues and mentors
Naturally, you need to be prepared to actually carry out the project:
  • determine available resources
  • realistically assess your needs
  • develop preliminary results
    • if you don’t have preliminary results, it’s probably not going to do well
  • present to your colleagues, mentors, and students
  • present to non-experts! If a non-expert can understand, that’s a good start
  • determine possible funding sources
    • NSF responsible for 80% of funding in terms of size - seek out the other 20%
  • understand the ground rules
  • read solicitations carefully
We're working on a pilot project with Gram's House right now, and I strongly believe our results will be crucial to any potential success with our application.

The top 5 strengths of successful proposals:
  • Important, timely topics and responsive to needs
  • Expertise in the area, solid prior work
  • Sufficient detail and clear plans
  • Innovative, novel, with potential for big impact
  • Convincing broader impact
    • don’t just write about it - actually think about it and do it!
Although I have done a lot of work in the area of outreach for grade 8 girls, I don't have a large number of related publications.  I may not have the desired (provable) level of expertise.  I think finding the right partner is going to be key.  We have someone in mind that I'm going to pitch the project to soon, but if you think you're the right person, I'd love to hear from you as well!

Another couple of tips that I did not know about include the ability to speak with the program manager on the phone for advice (they encourage it!) and the ability to ask NSF for access to successfully funded applications.  I think I will do both for our project.

It is going to be an interesting experience applying for NSF funding, but if we can eventually make it happen, it will be so very worth the effort.  I am looking forward to seeing Gram's House realized in a professionally developed game and testing its impact.

Quick Tips for Teaching Mini-Courses

I've been running my 'Computer Science and Games: Just for Girls!' course for Carleton's annual Enrichment Mini-Course Program for five years now.  And so at this year's instructor's luncheon, I was asked to share some advice for running a successful course.  Below are some of my key points.

#1: Don't be Afraid to Challenge the Students

These students, who are mostly in grade eight and occasionally high school, are much brighter than we tend to expect.  I have been teaching them computer science topics since the very beginning and am always impressed with how well they understand the concepts (proven by the puzzles or discussions we have after a lesson).  Computer graphics and artificial intelligence aren't exactly easy.

#2: It May Be Better to Stick to High-level Concepts

I don't try to introduce really specific algorithms and I never do any math.  Depending on the audience, I think you could certainly do some math, but so far my course has worked really well by sticking to high-level concepts.  It's only a week, so I figure it's better to deeply understand a few things than to barely understand many.

#3: Lecture As Little As Possible

My entire teaching philosophy is based on this.  It's even more important for this age group.  I am always looking for interesting ways to avoid talking to the students.  There are always things I need to tell them, but if I incorporate doing that with discussions, videos, activities, and so on, then it doesn't even seem like I'm lecturing.  Someone at the luncheon said a good rule of thumb was to lecture only for an hour.  I agree, but add that it shouldn't be all in one chunk.

#4: Look Online for Proven Activities

Thanks to the Internet, we can find proven lessons for almost every discipline out there.  I love using CS Unplugged activities for my course because I know they work.  See if you can find something similar for your course.

#5: Try New Things

This year, I'm running an experiment in my mini-course with the help of some colleagues.  We're going to test how much of a difference story makes in teaching computer science topics.  Why not try out some new teaching techniques in your own course? If you approach it with confidence, the students will likely be forgiving if it doesn't go as planned.  And who knows, maybe you'll get a research paper out of it in the end. ;)

Help Design a Book for Computer Science Beginners

Bringing computer science to the masses is my passion, through education and outreach.  I've run mini-courses for girls, designed a video game, lead workshops for professional women, taught arts and social science students, and TA'ed for computer science students.  Now I have a chance to broaden my impact thanks to a professor named Binto George, who contacted me about a book he wanted to write.


Our book is all about exploring what computer science is, and finding the beauty in it.  We're going to look at a variety of CS topics in everyday contexts.  We are taking extra care to make the content appealing to a wider audience, women included.  Our main targeted use is for non-major CS courses like the one I taught for arts and social science students, though we hope that many more people than that will enjoy it.

We recently put together a really short survey to help determine the best topics to focus on.  We would very much like to have your input on what you'd like to see.  We would very much appreciate the two or three minutes it would take for you to fill it in.


Thank you so much, and watch this space for periodic updates as the project progresses!

Celebrate HER

Serena and I were nominated for Celebrate HER.
Celebrate HER is an Ottawa-based gender inclusive non-profit organization. Our vision is to facilitate greater social responsibility within our community. Our goal is to raise funds for charities and programs supporting women in the Ottawa area. Our mission is to raise awareness of women’s issues, support local programming, and honour amazing woman making a difference in our community, locally and globally.

I'm quite pleased about this given the good company Serena and I are in.  For instance, right beside our profiles is that of Jennifer Flanagan, co-founder, president, and CEO of Actua, an awesome Canadian outreach organization.  Virtual Ventures at Carleton is part of Actua, which I've been volunteering with for a while.  Each year, I give a workshop on computer science to the girls' camps.

We were nominated thanks to our work on Girl Develop It Ottawa, but as you can see on my profile, my teaching and outreach in general are being celebrated.

This seems like a great opportunity to highlight the best of Ottawa, and I'm honoured to be a part of it!

Digital Media - New Learners of the 21st Century

PBS aired this program back in February this year.  It is almost an hour long and features many of the big names in 21st century learning, including James Paul Gee and Katie Salen.  If you're interested in game-based education, educational games, and digital media for learning in general, it's a good watch.  I quite enjoyed it.  (Note: It looks like you can't watch the whole thing in the embedded video, so if you have an hour, head to the full link.)

Event Idea: The Truth About Women in Science and Engineering

I recently came up with what I thought was interesting event idea.  Our Dean of Engineering had expressed some interest in CU-WISE coming up with an idea for a recruitment event that would attract the media and encourage high school girls to consider choosing Carleton in their upcoming university applications.  I haven't heard back from the Dean so I am not sure if this event will happen, but I thought I'd share the idea in case it helped any of you come up with your own.

The Truth About Women in Science and Engineering

The proposed premise is to be honest about what it’s like to be a woman in science or engineering. This begins as something that comes across as negative as we share the common challenges faced by students and others, but the idea is to show how a group like CU-WISE and all the other awesome things that Carleton does turns this all around. It is a risk to do anything negative at all (and it needs to be approached in just the right way), but there are two good reasons for this approach:
  1. It will build trust in the students we want to reach as well as their parents. All schools are trying to sell themselves as a product, but how many are willing to be honest about the situation? It’s the elephant in the room, and our audience should appreciate our ability to discuss it in the open.
     
  2. To attract the media, your approach has to be different. Sure, maybe you’d get a bit of air time for the usual outreach events, but they tend to be fairly similar to each other. Being willing to talk about these issues is not something that’s very common.
The proposed event would be a dessert reception held on the afternoon of a weekend. The reason for this is that a dinner would not only be more expensive, but require longer periods of sitting in one place (it will become clear why this isn’t desirable shortly). Choosing an afternoon on a weekend makes it easier for students and parents to attend since families need to get home from work and eat dinner before attending an event like this during the week. The great participation numbers at Go Eng Girl (held on a Saturday) proves that weekend events can be successful.

The dessert reception should include something to please both the parents (who are big influencers to their children’s choices) and the students. Offering beer and wine, if affordable, shows we are thinking of the former, and having cupcakes, cake pops, and milkshakes or smoothies for the girls should thrill the latter.

The main format of the event would be to have a short talk at the beginning to discuss the challenges faced by women in science and engineering and how CU-WISE and other Carleton initiatives help. This would be followed by a structured networking opportunity where parents and students would speak with current students, alumni, and faculty. Finally, hands-on demo and other info booths would be available during the last segment, when casual networking would take place. Dessert could be served in both of the last two segments or just at the end.

Possible Agenda

TimeItemReasoning
20 minutesTalk: The Truth About Women in Science and Engineering
(One or two guest speakers, depending on whether it will be joint between Engineering and Science)
As explained earlier, this is an opportunity to talk about the elephant in the room and build trust with both the parents and the students.  It is also an opportunity to showcase how CU-WISE helps by providing a support network and other great initiatives to Carleton students so they know they can expect to be able to overcome the challenges at Carleton.
40 minutesStructured Networking:
  • We will have a set of current female students, alumni, and faculty available to participate.
  • There will be at least one person from each of these groups at each numbered table.  They will see three different groups of parents and students and will be asked to talk about their experiences at Carleton, including challenges they faced and how they overcame them.
  • Each student/parent pair will draw three table numbers from separate bins, set up so that they get one table assigned to a current student, another to an alumnus, and another to a faculty member.
  • In each of the ten minutes, the student/parent pair will sit at their assigned table and have a discussion with the student/alumnus/faculty assigned to that table.
  • This will repeat twice so each pair talks to each type of person assigned to the tables.
  • Ten minutes in the schedule is allotted for time taken switching tables, etc.
Students appreciate the opportunity to see what life is like for current students, what kinds of jobs they can expect if they get through the program, and who will be teaching them.  This makes coming to university much less intimidating, and if they find themselves connecting with any of these people, they are more likely to remember Carleton favourably as a place they could see themselves studying at.


If possible, we may even be able to ask participants to tell us what programs they are applying for, and pre-match the tables they visit so they are able to speak to at least some people from that program or, at least, faculty.
60 minutesDemo and Info Booths
  • Demo booths should provide an opportunity to touch and try things as well as listen to someone from Carleton talk about the demo itself and how it relates to the kinds of things you study at Carleton.
    • Potential demos might include robotics, satellites, brain dissection, interesting interfaces from HCI students, water filtration, etc.
  • Info booths - such as one from Athletics - are important to emphasize the kind of balance you can have when you are a student at Carleton, and can show what other services are there to support students.
Besides the usual reasons for having hands-on demos (engagement, etc), they implicitly show the success of women at Carleton.  This continues to follow the theme on the Truth of Women in Science and Engineering in that we see what awesome things women here are really doing.

Computer Science is Everywhere! (Even Photography)

Last week I did a couple of workshops at the Canadian Museum of Science and Technology for National Science and Technology Week.  I managed to improve the usual 'computer science connects to everything' theme to be more interactive, and judging by the apparent engagement of the students, it was a success.  Below is an outline of what I presented - feel free to adapt it for your own presentation (with some credit to me if you don't mind).
I'm here from Carleton University to tell you about one of the biggest reasons that I love computer science: it connects to everything! No matter what your interests are, or your passions, there is a problem waiting to be solved and a way to make life easier or better with computing.  Even something as creative as photography has a lot to do with computer science, as we'll see later.
My name is Gail Carmichael, and I'm a computer scientist. Of course, that's not all I am.  I'm also a PhD student (which means I've been in school for almost ten years since high school!). I do Taekwondo (anyone else into martial arts?) and like to go backpack hiking and work on my garden.  And, as you can see, I'm also going to be a mom soon!

(I always make an effort to show the students that just because you are into computers doesn't mean you can't also be into lots of other fun things as well.  This time I was also able to talk about becoming a mom, which I think it really important for both the males and females to see.  In fact, one of the boys came up to me after the workshop to wish me luck with the baby - how awesome is that??)

I'm also part of a group at Carleton called Women in Science and Engineering.  In fact, I helped start this group a few years ago.  I don't know if you all know, but we still have far too few women in computer science, and we want to fix that.  So, ladies in the audience, I encourage you to look into computer science as a possible career if you see anything today that interests you! (Guys, too - we want all the smart people!)

Ok, so let's talk about computer science.  Anyone have any ideas of what computer science might be? Or maybe what kinds of things computer scientists do?

(You usually get answers more related to using computers, but you can also often get some good insight into what the field's really about.)

I'll tell you exactly was computer science is about in one second.  But first, I want you to all take a minute to brainstorm as long a list as you can of areas of your life where computing is involved.  Think of the obvious, like cell phones, to the less obvious, like toasters (yup, even your toaster might have a little computer inside!).


Here are some of the areas I thought of.  Some of these are more obvious, like the iPhone and video games.  What about some of the others?

(I find the students love giving more ideas on these topics or asking questions about them.  Invite interaction here as much as possible.)
  • Music: You could write software that analyzes music and automatically creates a playing list that would suit our current mood.  Or you can try to teach the computer how to create good music from scratch.
  • Medicine: You can use computers to simulate chemical reactions and help us narrow down what sorts of things might be effective in treating particular illnesses.  You can also use computers to crunch the huge amounts of data in our DNA, helping us find genetic issues in a person.  (Bet you didn't think you'd be able to save lives as a computer scientist, did you?)
  • Video Games: Sometimes we want to provide good entertainment as computer scientists, and making games is one way to do this.  You can even study game development as a whole concentration in our computer science program at Carleton!
  • Geography: When's the last time you used Google Maps or a GPS device? There's a lot of computer science happening there, such as when you are finding the most efficient route to your destination.
  • Psychology: If you're interested in the way people think, you can help design technology that makes sense to humans.
  • Math: Computer science can be a very mathematical way of thinking.  (But don't worry, you don't have to be a math whiz to do well in this field!)
  • Robotics: We have to program robots to get around without running into things and much more.
  • Education: I want to make games that are both fun and educational.  School looks very similar to what our great-great-grandparents experienced, but I think that technology can help change that and make learning more fun and effective!

In the end, computer science is really all about solving problems.  It's not about programming or software or any of that stuff on its own - these are all just means to the end of making the world better.

(Try to relate the students' answers from earlier into the above discussion.)

What problems are there to solve in photography? How can we improve such a creative practice with technology?
Some of you might remember taking photos with film before digital cameras became standard. Film worked by having an actual chemical reaction to the light that hits it.  How do we take a picture digitally?

(If there's time, it's fun to get them guessing how we get from a scene in the world to an image on the computer.)

Instead of using chemicals that react to light, we can create what's called a digital sensor that can sense what light is hitting it.  But how does this translate into what the computer can understand?

Do you know how data on your computer is stored? What everything ends up being in the end? (Answer: numbers! Binary numbers in particular.) Even an image is going to end up as numbers.  So we need to translate the light hitting the sensor into numbers somehow.
Let's say I took this photo with my digital camera and I'm looking at it on the computer.  What happens if I zoom in really close? (Answer: it gets pixelated, blocky, blurry, etc.)

Our digital sensors are made of grids of pixels as well, and each of these pixels captures the amount of light that hits it.  Then we can store this as a number for each pixel on the computer, representing the image.


(At this point, I use images from the CS Unplugged Image Representation activity to demonstrate how this can work with black and white images, and I give them some time to try recreating the pictures on the handout on pg 4 of the PDF.  We discuss the pros and cons of the two ways of representing the image - each pixel as its own number or writing out the number of black or white pixels that come in a row - and I emphasize that we often have to consider tradeoffs when solving problems in computer science.)

To conclude, let me say again that computer science is everywhere.  In photography, there are many more problems that computer science helps solve, from organizing and searching through our photos to applying interesting effects to them.  Computing touches every part of our lives, from keeping us healthy to keeping us entertained.

Teaching at Girl Develop It Ottawa's Kickoff Event

Girl Develop It: "Want to learn how to code? Have a great idea? Don't be shy. Develop it."  It's exactly what the Ottawa community needs: a way to engage professional women in learning technical skills, particularly programming.  Ultimately, this might also help bring together the community of women in technology with the women near technology, and maybe blur the line between the two.

Good friend and one of the four original CU-WISE founders Serena Ngai got an Ottawa chapter of Girl Develop It started this past summer, and I couldn't help but offer my time and support to make it happen.  When we met to talk about what we should do for the first class or event, I suggested a free afternoon workshop that would not require too much of a time commitment from participants, yet still give a taste of what programming was like; hopefully participants would be itching for more and look forward to signing up for the more extensive classes to be offered later.

And so our kickoff event was born: Intro to Scratch Programming was held this past Saturday and if you go by the enthusiasm of the participants both during and after the workshop, it was a great success!


I was able to re-purpose the content I had developed for my Introduction to Computers for Arts and Social Sciences course that I teach at Carleton in the summer.  I started with a description of what exactly computer science is, emphasizing how it connects with whatever interests you might already have and why it's useful to learn even now long after school is done for some.  Then I went through some basic programming concepts in Scratch: boolean values, if and if/else statements, loops, variables, and Scratch's special broadcast functionality.  Finally, I showed how to make a game by filling a bit of code to an unfinished project and left some time for the audience to play and explore on their own.


Something I really appreciated being able to do in this setting was allow the group to test their understanding and explore Scratch a bit after every main concept I presented.  I usually asked them to do something specific but also encouraged them to go beyond that and experiment with other code to see what would happen.   This was not possible in my summer course, since not all students had a computer in front of them during lectures.  It made a huge difference in terms of audience engagement and their ability to learn: this is absolutely something I recommend that all instructors do for future Girl Develop It classes.

Like I said, I think the workshop was a success, and overall I'm very happy with how it went.  As always, there is something to improve for next time, and so here is my list of what I would have liked to do differently:
  • I must admit I put my slides together at the last minute since I knew I could reuse material from my summer course.  But this made me forget to make a backup PDF copy of the PowerPoint slides like I normally would.  When the projector didn't work on my Windows install, I had to reboot into the Mac side of my laptop and present the slides with messed up formatting.
  • I usually like to do a round of introductions among the audience to break the ice and get a feel for where everyone's coming from, but forgot to do this after we finally got our projector woes sorted out.
  • I am glad that I talked about what computer science is, but I usually get to spend more time on this, giving more practical examples.  I was worried about time so kept it pretty general.  Hopefully the main idea of how widespread CS is and how many areas it connects to came across.
  • The game I showed at the end was called Oscartime and was from a first year course taught at Harvard.  As soon as I started to go through it, I realized that it was a bit much for a three hour workshop.  I was still able to use it to point out the practical use of some of the programming concepts learned earlier, but there were a couple of things that were a bit advanced.  Though in a multi-day course I would show this game at some point, I should have shown a simpler example first.
Download the Workshop Slides

You can download my slides in one of two formats:

Why Computer Science is Relevant No Matter What You're Teaching

I had only half an hour to put forward my case. I wanted to convince the educators who attended a special CU-WISE event last week, Discover WISE, that no matter what subject they taught, they should throw a bit of computer science into the mix.



I started with a discussion on what computer science actually is.  After all, so many people have a misconception that it was likely these science and technology teachers did, too.  It didn't take long to get down to the real answer with this group (great bunch!), but it still had to be done.  After brainstorming, I started with my usual "big fancy definition" from Wikipedia:
Computer science (or computing science) is the study of the theoretical foundations of information and computation and their implementation and application in computer systems.
("Bet that doesn't sound like something that would fit into your class!")

Then I gave my own take on what it was all about.  This is the same list I show during outreach or even my Introduction to Computers for Arts and Social Sciences course.
  • It’s all about finding ways to figure stuff out.
  • What can be computed automatically?
  • How hard is it to compute?
  • What cool applications are there? (Like video games, Facebook, and more)
  • What’s the best way to set up a computer so it can do all this stuff fast?
Then I briefly showed them how computer science can connect to many different areas. In fact, I always say, give me anything you're interested in and I'll find a way to connect CS to it - after all, computers are everywhere! There's always a problem that can be solved with computing.


So why should these teachers care about teaching CS to their students? As the stats show, computer science is suffering greatly from a lack of females (and from people in general - some stats say that we won't have enough talent to fill jobs in the near future!).  One of the reasons seems to be that girls never find out what CS really is.  (I always ask the girls I do outreach with to tell me why they think there aren't more women in CS, and this is a reason they consistently offer.)

If students make it to the computer labs, it's usually to learn how to type or write reports or do research online.  Only about half the teachers present said their school even had computer science classes, and I'm willing to guess that among the courses that do exist, many of those teaching them don't have a CS background.  So even if girls were to make it into a high school "computer science" course, what impression are they likely to leave with? There's a good chance they will think CS is all about programming boring example programs that aren't relevant to them.

But if we can show how computing connects to the courses they are taking (you know, the ones they are actually passionate about), we might get a few girls interested in considering at least a minor in CS, if nothing else.

So I told the teachers about CS Unplugged, and showed how the various activities could fit into other classes from art to history to biology or physics.  In fact, I even have a document I made that suggests some of these connections (though I've thought of many more since writing it).  I told them they could ask for my help if they wanted to be able to do some of the activities on their own, or said they could invite CU-WISE to come to their classes and do some activities for them.

I know at least a few in attendance were convinced of my position.  Here's hoping that we can start infiltrating non-CS classes with some good old fashioned CS fun, and that some students will get hooked in the process.