/ python

Scope Change and Girl Develop It Ottawa

I have had so much trouble writing this year I'm starting to worry the part of my brain that actually allows me to put words in sequence in a borderline acceptable way has atrophied and fallen off. I've been trying to produce this post for over a week, I've written at least three drafts and scrapped them all because they don't 'feel right'. Welcome to Version Four, the one I'm releasing even if I'm reduced to slamming my face on the keyboard in lieu of actual words.

Boring things first, I am officially merging my two blogs, that means as of now both personal observations and somewhat scientific musings will all be kept here. If you're only into the blog's old stock of the latter I'll be tagging posts like that as either 'Philosophy' or 'Computer Science' or both for easy RSS feeding. Updates are planned for every other Thursday (with the exception of this one) with one day a month specifically dedicated philosophy and computer science, I may write more given my mood but without dead easy access to scientific papers these posts are more difficult to write. Finally, Empty Cage, my seven year old venture in creative ways to apologize for not writing is probably just going to redirect to a portfolio I'm building because I can't seem to bring myself to take the old girl out behind the shed yet. Right, onwards.

Not last Monday, but the two before that (the 16th and 23rd of June) I was a TA for Girl Develop It Ottawa's first (in a very long time) pair of courses. These courses were beginner level Python courses. I'm a big proponent of getting ladies into software development so I volunteered as soon as GDI had opened applications. I thought I'd do a quick tear down of what happened, what worked and why all this was so valuable.

The newly minted leader of GDIOttawa taught the course, Gail Carmichael, a professor at Carleton University so at least we could safely say one of us knew what we were doing. She was excited about CS, and put a lot of focus on inventing rather than regurgitating which worked out incredibly well in my opinion. During the first class we played with Python's turtle library (which I had never heard of), and during the second class we worked on developing text adventures. The class was awesomely creative and really ran with the freedom they were given.

Numbers were pretty great. I don't think we had as many students as we wanted however I think 15 students for a $60 first time event is pretty reasonable. We also had an exceptional number of TAs (7 or 8) with a full range of skills and backgrounds. Almost all the participants were women and half of the TAs were -- much better than the sausage fiesta that tech things usually are. Fewer people showed up the second week than the first week which I found strange since the course was a paid one. Maybe a more obvious reminder the night before might have been a good idea, after a weekend I can see people forgetting about that course they signed up for -- I certainly would. Either way, the TA to student ratio meant that we were able to hand out very focused attention making the event seem more like a workshop than a class.

The first class had us developing images in Turtle Python a simple pen based graphics module, I thought this was a pretty excellent choice for beginners. My first (non-web-based) programming experience was in C++ and while the characters 'Hello Fucking World' on a command line were the most magical letters I had ever seen there was a certain remoteness to them. Before you're a programmer you're not usually really into the command line. That's why turtle was an awesome choice, you can learn important programming constructs, variables, functions, loops, and conditionals while getting interesting visual feedback.

Very Interesting Feedback

On the second day we moved onto the command line and covered slightly more traditional topics in a more interesting way than every programming book's favourite -- number problems; instead we developed text adventures. I was extremely under-caffeinated thus headachy and sedate so was probably far less fun than I could have been, but I personally adore writing text adventures and though everyone's adventure started in a particular groove we were soon seeing some awesome deviations from the formulae and infinite loops, of note were dildo and broken beer bottle weaponry. Because this is the class where the focus was on methods and organization I found that things plodded a little as students were mostly working to 'get their sea legs' as it were.

One things that I wished we had had more time to work out bugs that show up later in the dev process, because the class was open and creative I think that leaves the door open for interesting bugs in the future. Maybe a short tutorial on Git as well as a GitHub organization for post-course workshopping? I noticed a number of TAs actively helping between the classes on Twitter so I'm sure we could get together a number of people to help workshop code after the course had concluded -- I know I sure wish I had learned version control earlier in my career.

That's it for my long delayed report, I was going to talk about some of the differences and similarities between lady heavy and dude heavy coding events, but this post has already gotten pretty long, so I'll save that for another week. All in all I had a great time, and I'm excited to see where the organization goes over the coming years, I'm certainly glad to be involved.