Thursday, September 25, 2014

C++ and Java Together in CS2: Will it Be Great or a Disaster?

I've been trying something a little bit different for our CS2 class this semester.  The course typically covers object-oriented programming in Java along with topics like recursion.  In fact, students becoming proficient in Java is one of the hard requirements of the course.  But students who have recently passed the course did not seem sufficiently prepared for what came next: systems programming with C.  In fact, some students (barely) passing the course seemed not to be able to program sufficiently well on their own at all.

I knew there was an appetite to try something new, and I thought I had the perfect book to try out: Think Like a Programmer.  Only problem was that the book uses C++, and as I said above, we need to use Java.  I ended up chatting with a member of our curriculum committee about it, and we realized that maybe, just maybe, we could do both.  We could teach just a bit of C++ so students would understand the book, and do our major examples and assignments in Java.  So that's what I'm doing.  The question is, will it turn out well, or end in disaster?

In some ways, it seems like trying to cover two languages in a course where many students can't grasp even one is a really bad idea.  But hear me out.  I am not trying to teach them how to be proficient C++ programmers.  My goal is only to show enough C++ so that students can understand Think Like a Programmer, and even more importantly, so that I can more explicitly illustrate some key concepts in Java that are normally hidden away.

For example, C++ makes you choose whether you are passing by reference.  With some simple examples, I can illustrate the difference between pass-by-reference and pass-by-value more clearly. When we get to Java, I can easily explain what gets passed by reference automatically.  Understanding dynamic memory can also be made more explicit in C++, then applied to topics like creating linked lists in Java.  Even the fact that C++ allows me to build up to objects without needing to have a dummy class in the meantime is quite helpful.

We're only in our third full week of class so far, and we're just getting started on Java.  So I don't know yet how well this experiment will work once we have the two languages going side by side.  But I can say that it has been very beneficial to be able to approach the course using the problem-solving perspective of Think Like a Programmer and the slightly lower level view that C++ allows for things like how variables and arrays are stored in memory.  If this continues working well, I think this could be a winner.

I'll be soliciting anonymous feedback after a couple of weeks of using both languages, and hope to report back after I get some data from students.  Eventually I'll also share more details about the course design itself.

In the meantime, I wold love to hear your opinion - does this approach have potential, or do you see it as a disaster waiting to happen?

Monday, September 22, 2014

How Beyond the Code Attendees Found Their Spark with Anita's Quilt

Recently, Shopify put on a super cool conference called Beyond the Code.  Hosted at the Ottawa Convention Centre, the event's main goal was to highlight the role of women in technology.  All types of folks were there,  from devs to designers and the audience was more than half female!

I was lucky enough to run a lunchtime workshop called Find Your Spark with Anita's Quilt.  Some of my fellow Quilters developed this workshop, so I had a good base to start from.  The general layout we used was to sort people into tables as they came in (we used chocolates!), then have them introduce themselves to their table mates, pick and read a story from the Find Your Spark! page, and  talk about the stories using the discussion questions we provided them (now also on the Find Your Spark! page).  After the discussion, we had a few tables share their biggest takeaways (there wasn't enough time to go through all tables let alone all questions).

It was an enjoyable way to spend lunch and meet some new people, but the thing I was most excited for was to hear what the participants actually got out of reading the stories.  I have been working hard to curate a lot of the great content on Anita's Quilt, so of course I wanted to know whether it has been meaningful and even useful to readers.

I was really impressed with the insights that came out of the discussion.  A few key issues were brought up:
  • One group noticed the prevalence of the imposter syndrome, that feeling you get that makes you think you don't deserve to be where you are and that everybody's going to find out any day now.
  • Another group pointed out that a lot of the stories are about how somebody corrected course when their life got back on track.  Realizing this allows the reader to see how others did in case they ever face the same situation.
  • The fear of failure was a big theme.  That lead to discussion on the importance of a support network of friends, family, and mentors/sponsors that can help you lose the fear of failing.
  • The last group brought up the issue of the kind of language women tend to use, and how it often portrays less confidence, or attributes success to factors outside of their own good work.
It's almost as though we went through a checklist of common issues facing women in tech!

If all this sounds intriguing to you, or you could just use a really good story to get inspired, be sure to check out the Anita's Quilt Story Campaigns archive,  or follow the Find Your Spark! model to choose a story and think about the discussion questions.  Let me know what you get out of the stories you read!

Monday, September 8, 2014

Cool New Science Show for Kids on TVO

I recently checked out the pilot episode for a new science show that premiered on TVO called Annedroids.  Although I found one of the characters overly annoying, I was definitely a fan of the android creator Anne.  The show nicely integrated topics like the scientific method and discussion of electricity, even if their specific use of lightning to power up an android seemed a bit far fetched.  The animated androids were quite well done.  Overall, I'd say this is worth checking out, especially if you have kids you want to introduce to science!

Here's some info from the press kit:
“Annedroids” features photo-real CGI android characters in a gritty live action world. It's a series that celebrates science, technology, engineering and math and does it all through the lens of an 11-year old girl. There's nothing Anne likes more than getting her hands dirty to make things, breaking things apart to see how they work, and mixing things together to see that happens. Anne takes the stereotype of a typical tween girl and busts it right open.

Anne likes to push the boundaries of what’s scientifically possible. This is a girl who’s built three androids on her own: PAL, who is fascinated by everything and loves asking questions; EYES, whose ability to see things from all angles can get him into trouble; and HAND, who’s strong and dependable but a little bit clumsy. Anne’s experiments always lead to unforeseen complications, hijinks and misadventures. And that’s where Anne’s assistants Nick and Shania come in – Nick and Shania have an uncanny way of figuring out the real life solutions to Anne’s scientific problems. Needless to say, when Anne, Nick, Shania and the androids work together, the results are far from predictable.

“ANNEDROIDS” premieres August 25th at 5:30 p.m. ET on TVO, and July 25th on Amazon Prime Instant Video (US and UK). The series will also air in 2014 on The Knowledge Network in BC, and in French on Société Radio-Canada SRC. Internationally, “ANNEDROIDS” will air on KiKA in Germany, NRK Norway, SVT in Sweden, Horizonte Conteudos and Globostat in Brazil, and Discovery Asia. 

Tuesday, September 2, 2014

Be a GHC Community Volunteer and Change Your Life

You should sign up to be a volunteer community note-taker or blogger by our new deadline of September 8.  It could change your life! Seriously!

I started attending the Grace Hopper Celebration of Women in Computing in 2008, and have only missed a single year since (I was too pregnant to fly).  I started off as a volunteer blogger, like you might be considering doing now.  My good work opened the door to becoming lead blogger and eventually co-chair of the Communities Committee.  It opened up a lot of opportunities, including joining the Advisory Board for the Anita Borg Institute, who puts on the conference.

Now, your path will likely be different than mine, but I hope you are convinced that good things can happen.  Here are some other benefits to becoming a volunteer:
  • Provided you contribute three session blog posts or notes on the wiki, you will get a ribbon to wear on your badge.  Ribbons are coveted at the conference, and the more you have the better!
  • You were probably going to blog, tweet, and pin anyway, so why not get recognized for your efforts?
  • Blogging or note-taking is a great way to give back to the community if you've been funded to attend the conference.
  • You will make some wonderful new contacts.  Some will be very useful professionally, and some will become great friends.  It's quite fun having someone to visit no matter where you travel in North America!
  • You can feel good about bringing the conference to those who can't make the sessions they want to, and those who can't make it to the conference at all.
Ready to sign up? Here's the official info:
Every year, GHC has a vibrant and active community of bloggers and note-takers. With an amazing schedule this year, we do our best to cover as many sessions as possible. How about taking notes or blogging about a session? Join other GHC community volunteers to capture presentations, workshops, poster sessions and more.