Wednesday, May 22, 2013
There are many resources out there for Python, but I've recently had the opportunity to enjoy a fully colour printed book on the topic. Sure, it's called Python for Kids, but that doesn't mean the young at heart can't benefit from it, too.
The book follows the traditional trajectory for learning programming by introducing the fundamental concepts individually before putting them together in two game projects. The first chapters briefly introduce Python itself, variables, data types, control flow, functions and modules, drawing, and even classes and objects. None goes much deeper than 'need-to-know,' but perhaps that is a good thing given that the most fun stuff comes later. The second half of the book guides you through making a game where you bounce a ball on a paddle (like breakout without the bricks) as well as a stick man game.
Where this book shines is in its language. Tyler DeWitt encourages science teachers to make science fun in his popular TEDx talk, embedded below. He emphasizes the use of simple terminology and the use of stories.
Jason Briggs achieves just the right tone in Python for Kids, explaining programming concepts with words everyone can understand, and throwing in jokes and amusing references wherever he can. It doesn't come across as childish; it's just plain fun. The full-colour illustrations also add a lot to the overall aesthetic.
Although I do like what is actually in the book, I can't help but feel like Briggs missed some huge opportunities. Too often in the first half of the book there are tiny, isolated examples that feel meaningless. Why not motivate the concepts as you learn them? He could have started with the games, or better yet, connected the what better to the why using real world problems that kids can still relate to. Another criticism is that the pictures, while fun, don't do anything to illustrate the concepts being discussed.
Regardless of the downsides, I will most definitely be hanging onto this book to work through with my (currently 1.5 year old) daughter when she's older. I can't wait.
Monday, May 20, 2013
Last week, I attended the annual meeting of the GRAND (Graphics, Animation, and New Media) research network, held in Toronto. Although the research and discussion presented and held at the conference spanned much more, the focus for me was on games and stories in games.
The presenter I was most excited about seeing was Jane McGonigal of Reality is Broken and Superbetter fame. She believes that gamers are actually practicing some rather useful skills when they play. For example, they learn to be hopeful and creative, two of several things that we should want people solving the world's greatest problems to be. I reviewed her book a couple of years ago and still find that it influences my thinking on games. Although I already knew most of what she talked about at GRAND (having been a fan for a while), I loved seeing her in person, and loved even more that my friends and colleagues now buy into her ideas as well.
A surprise for me was how much I loved Terry O'Reilly's talk. I admit I'm not much of a CBC follower (unless they're airing an Ottawa Senators hockey game), so I didn't know who Terry was ahead of time. He spoke about the power of stories, mostly with respect to marketing and advertising. One of my favorite quotes:
Make people feel your message, not just understand it. -Terry O'ReillyBesides being an extremely good talk, it was fascinating how much I connected with his message with respect to games. In particular, I found myself being convinced by him (and less directly by Jane McGonigal earlier) that stories can truly make a difference in learning with educational games.
On Tuesday night I presented my nicely designed research poster. I was quite pleased to see a few other really great posters. My favorite poster (possibly of all time) described Tiffany Inglis's research on pixel art in the form of a comic strip. Check out the poster on her project page.
Finally, on Wednesday, the last day I was at the conference, I attended the Women in Games panel. The panel featured Grace from Fat, Ugly, or Slutty, Cecily from Dames Making Games, Anita of Feminist Frequency (which is most recently focusing on tropes vs. women in videogames), and Brenda of Silicon Sisters, a women-lead game studio in Vancouver. The discussion was fascinating, and I saw a lot of what I do with women in CS shine through, even though involvement in games can be much broader than programming/CS. It was also really neat to see what Brenda and her company have been working on, since I had been chatting with Brenda about stories in games the previous evening at my poster.
Even though I had less than two days between trips (poor baby Molly!), and even though I could only stay for two days, I'm really glad I ended up coming to GRAND. I feel energized as I move into my attempt to get a lot done research-wise this summer...
Wednesday, May 15, 2013
Blog posts have been sparse lately: I have been traveling. Last week I spent five days in Palo Alto, California. The visit was primarily for the Anita Borg Institute Advisory Board meeting, but I also had the opportunity to take a break from being a mommy and grad student (too often at exactly the same time) as well as visit and network with friends new and old.
The problem is, the more often I visit, the more tempting it is to live there!
The Advisory Board meeting was fruitful for the Anita's Quilt project. I don't want to say too much yet, but suffice it to say I think the Quilt's stories have a bright and exciting future. After the meeting I had the pleasure to join fellow board members Kathy, Kitty, and Carol (who hosted us). Besides a most excellent meal, I enjoyed sharing what insight I could into Canadian politics and the like.
On Thursday, I had lunch at a tasty Italian pizzeria with my friends BJ and Valerie, both of whom I know through work with ABI and the Grace Hopper Celebration. It was so great to catch up with them.
Thursday night I attended my very first ABI Women of Vision Awards. As expected, it was highly inspirational. I especially fell in love with Maja Matarić. Without us realizing who she was at first, she had started chatting with a group of us in the pre-banquet reception. She mentioned how she should probably wear some makeup even though she doesn't usually; otherwise, her mother (who was in attendance) might scold her. So she pulled out the lipstick her mother had given her and put it on. As another woman who never wears makeup, I felt like we might be kindred spirits. (Her award speech was also absolutely incredible.)
Finally, on Friday, I met up with my friend Carlos, whom I met after a cold-email to tell him how much I loved his book Lauren Ipsum. I visited him at Facebook, where he worked. We walked around while we chatted, and although I got a great personalized tour of the Facebook campus, I was admittedly enjoying our conversation too much to properly pay attention.
I did take a few photos, though. For example, this is the front entrance of the campus. It is surprisingly nondescript!
There is a whole different look and feel once you step outside the lobby into the "walled garden." The aesthetic of the architecture, landscaping, and all the small details is really appealing. You will also see a hacker motif showing up everywhere, but not in an obnoxious way. See if you can spot it in the next two photos.
With all the wonderful people and beautiful places to live and work in the Bay Area (and that's not even mentioning all the amazing tech events to attend), it is certainly tempting to move down there. But not to worry, fellow Ottawans: it's not going to happen anytime soon! Having family here is too important. I do have to admit I am thinking it might be a good option in 20+ years when our kids are all grown up... ;)
Thursday, May 9, 2013
I'm a strong believer in creating conference posters that look good. If they have a striking resemblance to printed papers, in my opinion something has gone really wrong. With that said, I have to say I had a lot of fun designing my most recent poster.
Although this image is slightly out of date from the final print version, it gives a good idea of what I was going for. You can get the gist of the research by looking at it, but it does not contain all the information a paper would. That's what the poster presentation itself it for: I will have the opportunity to discuss the work more deeply.
There is no reason whatsoever that a poster can't be both beautiful and functional, so I encourage you to see what you can come up with the next time you create a poster! If you have an example to something you're particularly proud of, I'd love to see a link in the comments.
Edit: You can now check out the high resolution PDF of the poster if you'd like.
Tuesday, April 30, 2013
Recently, I happened to start looking at some of the stories featured on the new Lean In website and came across Marissa Mayer's. For all the interest and controversy she's drummed up in the news lately, I quite liked hearing her perspective on joining Yahoo! when expecting a baby.
Although she'd received offers like that of Yahoo!'s before, this time was different. The company was a perfect fit for her experience. But as she says, "...it wasn’t a foregone conclusion that I would or could make it work when I got that first phone call. At the time, I was pregnant, and I was thrilled."
Motherhood is an oft-discussed topic for women in tech (and probably women everywhere). It can be difficult to be a pregnant woman among many men who don't necessarily understand what comes with that. Equally daunting is the prospect of taking time off for maternity leave when you'd be one of the few to do that in your company or perhaps in your position. (If there were more women in the field, it wouldn't seem like an uncommon occurrence.)
Mayer had been looking forward to a six-month maternity leave with Google, way longer than most Americans can even dream of. By taking the CEO job, she would cut her leave down to almost nothing. "The responsibilities were too big, and time was of the essence—it just wouldn’t be fair to the company, the employees, the board, or the shareholders for me to be in the role, but out for an extended period of time."
Did she find that motherhood has hurt her ability to be CEO?
I’ve come to realize that being a mother makes me a better executive, because motherhood forces prioritization. Being a mom gives you so much more clarity on what is important. I’m very close to my own mother; she has always been my most important role model. I’m grateful to her and to my father for a lifetime of their love, attention, teaching and sacrifice. Over the past five short months, my appreciation has grown for all parents, especially those balancing work obligations, because I know they have that same clarity of dedication and purpose.Clearly, it's not an issue. Granted, she has much money at her disposal to help keep her personal priorities. However, families around the world have been figuring out many different ways to make it work for many years. Money might make some things easier but it's not the only answer.
So can we stop bringing in the pregnancy and motherhood issue into discussions of women in tech (and other) companies? It's not like we ever do the same thing for men with young families.
Wednesday, April 24, 2013
Two recent Y Combinator graduates contacted me recently in an effort to recruit a female technical co-founder for their startup. Although any awesome engineers would be welcome in their company, they believe that women are likely to better understand what other women would want in their fashion-focused product. This is such a great example of why we need more women in tech — why should only men design products intended for women?
Here's a blurb about their company and info about who they are looking for. If you think you've got what it takes to be a technical co-founder, I hope you'll give this opportunity consideration!
Join team StyleUp! A Winter 2013 Y Combinator-backed company, StyleUp is a Pandora for fashion. We are influencing the way people shop and get dressed every day and are looking to expand our engineering team. We are looking for part-time as well as full-time candidates. Tasks include (but are certainly not limited to) creating new product features, responding to customer feedback, and working closely with the StyleUp CEO, Kendall, a former Conde Nast fashion editor and MIT Sloan MBA '13, to shape the product vision and road map.
If you are scrappy and creative, love working with fun people and get stuff done fast, we want to talk to you! Please send your resume to email@example.com.
A little about the technology stack:
- Python/Django stack with a MySQL database
- Front end using Bootstrap for CSS; jQuery/jQuery UI
- Hosted on Amazon EC2; deployment in Fabric and Boto (EC2)
Monday, April 22, 2013
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!