Housekeeping around the blog

There’s just one week left until Millie and I fly to Vancouver! Packing is almost done, old friends are coming up for the weekend to say goodbye, and now I’m just itching to move on — so there’s not too much to report here.

But I have done a little housekeeping. I added a Bookshelf page to keep track of what I read next year (it’s an ambitious list… then again, I’ve cut out Netflix, so anything’s possible). I also (finally!) started to flesh out the Resources page. It’s still pretty sparse, but we’ll get there.

In cute, happy news, I’ve officially made two new Vancouver friends through this blog! If you’re attendingĀ the BCS program in the fall and would like to say hi, I encourage you to do so šŸ™‚

“Oh, the places you’ll go…”

Millie looks proud with her obedience school certificate.
So regal! So proud!

Guess who graduated this week?!

No, not me…


She successfully finished Obedience Level 2 at a local dog training facility.

That’s basically theĀ elementary schoolĀ of dog training —Ā “So it’s not a big deal,” you might conclude.

But you would be wrong.

For Millie, this is basically her PhD in Dog.

I adopted Millie from the Kingston Humane Society when she was somewhere between 8-12 months old. Little did I know that she had pretty severe dog reactivity.

This actually stems from fear and lack of confidence, not aggression, but it has been a long journey to get to the point where we can happily finish a group obedience class together (sure, she had maybe 3-4 minor meltdowns per class, but she’d pull herself together again after 10 seconds or so each time — and it was only ever if one of the other dogs started it, so I don’t think she wasĀ that bad).

So Millie and I are pretty pleased with ourselves!

Millie’s training saga got me thinking a lot about what dog and human learning has in common.Ā For example, with both dogs and humans, we often approach learning all wrong:

  • We expect dogs to learn things on our terms, not theirs, and consider using dog-friendly motivators like treats as ‘bribery’ — while we also fail to connect what we’re trying to learn with our own personal goals and dreams.
  • We frighten dogs into avoiding the wrong behaviour (e.g. jumping up)Ā as opposed to teachingĀ dogs to choose the right behaviour (e.g. sit nicely) — while we are also terrified of failure, experimentation and learning from mistakes in our own education.
  • We get frustrated and angry when our dogs don’t perform as expected — and we get frustrated and angry atĀ the teacher, course, or other circumstances when things don’t go as planned.

With my own dog, Millie, I’m committed to using scientifically-sound and humane training methods — namely positive reinforcement only, lots of regular treats, praise and happy voices, no punishment or fear required. It’s worked out pretty well for us so far.

But this blog isn’t about dog-training — it’s about how people learn! Here are a few tips I’ve picked up for my own studies after working with Millie for the past 4 months.

Milk what motivates me

Homework can be a real bummer. It’s demoralizing when I can’t figure it out, it often takes way more time than I thought it would, and there are always other, way more fun things I might be doing instead. When I’m teaching Millie a new behaviour, I have to consider what’s most motivating to her. (In this order: 1. Small furry moving prey. 2. The smelliest, meatiest treats. 3. Praise from me (a distant, distant 3rd…).

So what motivates me? What do I love? Delicious food. Going out with friends. What do I want to do when I graduate? A fun, challenging job. My choice of where to live. Working for a cause I believe in.

With this in mind, I’m careful never to work for too long without deciding on a fun reward, something to look forward to, at the end. I also keep my eye on the big picture when I’m feeling drained. Countdowns help — university terms are quite short (12-14 weeks), as is the degree itself in the long run. I like to purposefully choose these rewards and schedule them proactively so that I can see them coming up in the calendar.

Millie isn’t a machine; she needs to know what’s in it for her when it comes to training. Same goes for me and math homework.

Treat practice problems like play

Currently I’m blasting through Khan Academy’s Integral Calculus section. As a recovering perfectionist, I take it pretty personally when I’m on my nthĀ practice problem and still getting most of them wrong. I have to keep reminding myself that these practice problems aren’t final exams, nobody is judging me, and it’s only by getting these wrong, staying lighthearted about it, and learning from the experience that I’ll actually learn the concepts.

Traditional dog training keeps the dog so scared of making a mistake, they’re afraid to do anything at all. These dogs seem well-behaved on the surface since they’re so calm and docile, but in fact they’re often pretty stressed. Dogs trained with positive methods burst with enthusiasm and good behaviours — you can tell they are having a blast as they zoom around the agility ring, for example. The way to get dogs like this? Reward good behavioursĀ andĀ treat every training session like a game!

IĀ focus so much on my mistakesĀ that IĀ fail to notice my success, which means I often feel stressed and tired about my homework before I even start. That doesn’t feel good, and it also means I’m more likely to procrastinate doing the work.Ā I’m trying to flip this dynamic — focus on what’s good, what am I doing right, andĀ use that information to do better next time at the hard problems. My hope is that one day I’ll treat homework as a fun experiment without any fear of messing up.

Avoid the blame game

I hear a lot of dog owners say things like, “Well, my dog is just so stupid he could never…” or “My dog is so stubborn she could never …” I also hear students (and myself!) blaming the course, the teacher, the circumstances, etc. when things go wrong — a failed test, misunderstood homework assignment, bad grade.

What’s the use in that?

This isn’t to say that courses, teachers, and circumstances are never to blame for bad outcomes. Of course they are — sometimes. But most of the time, those elements are out of our control — in the same way that our dogs’ temperaments, histories and genetics are out of our control, too. I think those feelings of bitterness and blame only bring ourselves down without improving the situation at all. It might bring a short-term relief because the outcome is no longer my fault, but now I have to carry those negative feelings around with me. Gross!

Better, I think, to take responsibility for the parts that are in our control — “My reinforcement timing was off with the dog at that point,” “I didn’t think to check in with the teaching assistant before handing in the assignment” — and then just let go of the rest. Move on. Know better for next time.

All easier said than done, I know. Don’t blame me! šŸ˜‰


A summer update at long last, plus my experience with edX’s Systematic Programming Design

The last time I posted here, I had just accepted my offer to the University of British Columbia and was preparing to move to my parents’ house in the GTA for the summer. Well, here we are, almost two months later ā€“ and I’m getting ready to fly to Vancouver in just over a month!

I don’t have a great excuse for not posting regularly, except that I’m the kind of person who gets the most done when I already have a lot on my plate to schedule. When the days drift by without much structure, I procrastinate…a lot. And boy oh boy, do the days ever drift at my parents’ house. Half the time the internet doesn’t work here.

I have been keeping busy, though. Just yesterday I finally completed edX’s Systematic Program Design Parts 1-3 (SPD). Let me tell you, it was a real shock compared to everything I’ve learned at Queen’s University (where I have completed the first 3 computer science courses ā€“ 1.5 years’ worth of school).

SPD ā€“ normally just a 12-week course at UBC ā€“ covered more ground than all 3 Queen’s courses combined. It was wild. I’m a little nervous about what to expect at UBC now, and I am really glad to only be taking 4 courses per term next year (as recommended by the program advisors). I hope that not all UBC courses are this intense.

To be fair, I didn’t try my hardest at really learning the material. By Part 3 I was feeling burnt-out by the fast pace, since I did about a week’s worth of coursework per day. This meant I often skipped practice questions and relied on watching the videos and doing the quizzes. I feel like if someone put the final exam in front of me right now, I would probably fail it ā€“ or at least barely pass. But I feel like I understand the concepts; I’m just not comfortable with reading or programming in Racket quickly. (That may not actually be true ā€“ maybe I really just don’t understand the concepts too well ā€“ because Racket isn’t the trickiest language to learn. It just looks really weird. A lot of parentheses.)

I do, however, really recommend this course as an introduction to programming. I wish Queen’s had taught their courses in the same way. SPD was very well-structured, clearly taught, with a lot of bonus practice questions to try if things didn’t click the first time. It’s mind-boggling to me that in 12 weeks we reached tail recursion, accumulators and graphs. The only downside is that, being an online course, SPD did not provide very much additional support if the videos and examples weren’t enough.

My plan for the rest of August is to review Differential and Integral Calculus on Khan AcademyĀ to prepare for my Multivariable CalculusĀ course in the fall. Speaking of courses, here is what I’m taking:

  • STAT 200: Elementary Statistics for Applications (3 credits)
  • CPSC 121: Models of Computation (4 credits)
  • MATH 200: Calculus III (3 credits)
  • COGS 200: Introduction to Cognitive Science (3 credits)

Yikes! Typically UBC students take 15 credits, or 5 classes, per term, but the Department of Computer Science recommends its students sign up for just 4. CPSC 121 has a lab component so it is worth 4 credits instead of the usual 3, so I’m only 2 credits short of a full courseload. In the winter term, I am taking two computer science courses with lab components, so I’m only 1 credit short of a full courseload then. Hopefully I’ll have settled into a routine by then so it won’t be too tough…

For those of you reading this who are interested in attending the BCS program someday, you might notice that I am not taking the typical BCS first-year courseload (which typically includes MATH 180, CPSC 110, ENGL 1** and something else). This is because the BCS program advisor exempted me from both communication requirements, the first two computer science courses, and the Calculus I requirement (and I actually took Calc I/II at Queen’s so I get to leapfrog into Calc III at UBC).

On the one hand, all these exemptions allow me to take the math and stats courses I need as prerequisites for some interesting upper-year computer science courses in my last year of the degree.

On the other hand, it also means that I may not be in any classes with fellow BCS students, at least not in my first year. I’ll have to make an extra effort to meet people in my program.

I won’t lie ā€“ I’m pretty nervous! Especially because I have a little dog relying on me for at least 2 hours of entertainment every day. But I’m also excited for a new challenge.