My very first hackathon: UBC Local Hack Day

After a wicked snow day resulting in a cancelled final exam, the unexpectedly highest GPA of my life (so much for “not being a math person”), and abandoning my darling doggo to a Vancouver kennel (my heart breaks for her), I am finally nestled in snowy Ontario with family for a short winter break. I promised in my last post that I would write a little more often while I had the chance, so I thought I’d share my experiences at my very first hackathon, UBC’s Local Hack Day on December 3, 2016.

UBC Local Hack Day is part of the Major League Hacking (MLH) Local Hack Days happening worldwide. Instead of the more typical grungy 24- or 48-hour coding sprint, MLH Local Hack Days are a humane 12 hours long — much better! The organizers provided us with free snacks and pizza, and I even got some shiny new stickers for my laptop:

GitHub and MLH stickers on my laptop.
Sweet stickery swag.

Major League Hacking (MLH) encourages high schools and universities around the world to organize their own Local Hack Day, and UBC hosted one of them. At the same time that I was plunking away at my laptop in Vancouver, BC, students all over the world were doing the same thing. MLH representatives were at some of the larger schools — I think they were in New York, for example — interviewing attendees and generally sharing upbeat quotations and photos. It was pretty fun and lighthearted.

I had the option of joining a team and presenting my final project at the end of the hackathon, but I chose not to. Part of the Hack Day’s appeal was its non-competitive, celebratory and beginner-friendly atmosphere — I wanted the chance to hunker down and work on a personal project in a dedicated environment, without any pressure to actually finish, so that I could continue working on it post-hackathon (indeed, I’ve spent most of today working on it! More on this later.). The introductory speeches included quite a lot of talk about the MLH code of conduct and kindness, which I appreciated.

A few speakers stopped by. Susan Ibach, a Tech Evangelist from Microsoft, was back to talk about Azure and, like the last time I saw her speak, was pretty hilarious. Some students from the UBC Game Developers’ Association gave a helpful talk about version control and GitHub.

In hindsight, I feel like I could have gotten even more out of the event, but I just got too excited by, well, coding. Instead of taking the time to learn from the talks, or chat with the professional mentors, I put my head down and worked for about 11 hours straight. My head was spinning by the end! I think an important aspect of these events, especially since I wasn’t aiming to win a competition, is simply found in the networking. I completely missed that part.

My biggest regret is not staying to hear my peers’ presentations, but I just couldn’t tolerate sitting in that auditorium any longer. Hack Day went from 9am to 9pm; I left at around 7:45pm, right before the presentations began. I needed a break (and a shower).

My next hackathon is the Vancouver Game Jam in January, which is more traditional in length (48 hours!) and definitely team-based. I hope to learn a lot at this one since I’ve never actually developed a game before, but after my experience at UBC Local Hack Day, I also know the importance of taking regular breaks.

BCS term 1 review: CPSC 121, STAT 200, MATH 200, and COGS 200

I’ll admit that my plans to blog weekly fell through in a pretty big way this term. My last exam is tomorrow morning (possibly I should be studying), but for all the potential BCS applicants out there, I did want to at least write a review of the 4 courses I’ve taken this term and my general impression of the program so far. I’ve got a couple weeks off over Christmas, too, so I hope to share more about what I got up to over the last three months during that time.

One of the very first things that UBC tells you about the BCS program is that

“We expect that, for many participants, the first eight months of the BCS (ICS) program will be an intense and challenging experience, immersing students in new ways of thinking, creating, and communicating.”

Emphasis mine. And they aren’t kidding.

I worked harder in the last four months than I did during my undergraduate or MA degrees. It was exhausting. For the first 8 weeks, particularly, I kept my head down and — apart from being out with Millie for 1-2 hours per day — essentially did homework and readings from morning until about 8pm at night, every day. I wasn’t even in the most labour-intensive course (that award has to go to CPSC 110, from which I was fortunately exempted). But the transition from a humanities background to a fast-paced, problem-solving environment — with labs, assignments, readings, quizzes and problem sets due every week — was a tough transition for me.

There have been moments of despair! Several moments, actually. Nobody talked much about this during the limited orientation we got to the program, but I went through (and am still going through…) a shock very similar to what I witnessed in first-years at Queen’s: the realization that just because we were pretty smart and capable back home, we aren’t necessarily going to get those same results here. (MATH 200, I’m looking at you.) All of the friends I’ve made here in Vancouver felt the same, at some point or another, although we only started sharing these dark feelings later in the term as we got to know each other better.

So, if you’re currently in the BCS program and feeling like garbage, let me tell you: you’re not alone. You’ll get through it!

(This is partly a pep talk on my behalf, too, in advance of final grades coming out in a week or two.)

If you’re curious about what exactly I took this term, here we go:

CPSC 121: Formal Models of Computation

This turned out to be my favourite course this term! We did a pretty fun variety of things in this class: playing with circuit boards in the lab, discrete math, easy proofs, propositional logic, weak and strong induction, the very, very basics of a working computer … I found the learning curve tough at the beginning. We had clicker questions in lecture, and I often felt like I was the only person out of everyone I sat with who struggled to get the right answer. Labs also occasionally drove me nuts; our labs always came together by the end of the session, but sometimes it was a struggle to figure out the wiring on our circuit board.

However, by the end of the course, I really started enjoying it. Proofs are great. Propositional logic is great. Hell, I find proving the validity of propositional logic statements very soothing, now. It felt like solving puzzles in its purest form! We did zero coding during the course, but we did examine algorithms to a small extent, and apparently this gets expanded on in CPSC 221 (which I’m taking next term).

The workload felt high at the beginning while I was still getting my bearings, but by the end of the course, it felt manageable. There’s a weekly lab, a weekly online quiz, 5 assignments (each one took me between 4-8 hours to do), two midterms, and a final exam.

STAT 200 – Elementary Statistics for Applications

I found STAT 200 very sneaky. For the first 6 weeks, it felt like my bird course: different types of experiments, parameters versus statistics, the very basics of probability, normal and uniform distributions. So far, so good. Things quickly escalated after the halfway point. I couldn’t even tell you exactly what was hard about it — the math was easy — but I found it tricky to apply the correct formula to a complex word problem. I wish I spent much more time on this class; the early weeks lulled me into a false sense of security. In hindsight, I wish I attended the professor’s office hours to clarify the concepts early on.

STAT 200 has a reputation for being an easy course, and I don’t know if I agree yet or not. It felt easy at the beginning, but we’ll see how the final went. (To be fair, I also had the stomach flu that day.) We had 2 assignments, weekly labs, a couple webwork questions per week, a midterm, and a final.

MATH 200 – Multivariable Calculus (Calculus III)

This course was a roller coaster of emotions. I spent almost every day doing practice problems, studying for the quizzes, or trying to get through the webwork each week. I got 3/9 on the first quiz (and contemplated dropping out of UBC and moving back home). Then I did much better on the next 5 quizzes. I also did very well on the midterm (especially considering our section’s average was 47% before scaling).

And then… the final. Oh, the final. It was tragic. I went into the final with an A in the class, but I blew a couple easy questions (I’ve come to realize I choke under math pressure!), so I am not feeling too great about my grade, barring scaling. I did well in Calculus I and II, but spherical and cylindrical coordinates escape me.

Unless visualizing three-dimensional shapes comes easily to you (and it certainly did not to me), you’ll probably find this course a lot of work to wrap your head around. It’s not an impossible course — previous grade distributions show that quite a few students wind up with 80 and 90+ grades (and a lot of students get under 60) — but I think, for those of us who can’t picture the shapes easily, the course remains un-intuitive and difficult. Part of it was the fast pace, for me — given more time to think about the material each week, I think I would have found it a lot easier. But our professor moved like lightening!

In this course, we had weekly web work, six quizzes, one midterm, and one final.

COGS 200 – Introduction to Cognitive Systems

Finally, COGS 200. I don’t even really know where to begin with this one. This course was all about the theory and design of cognitive systems, or artificial intellingence, and what that might tell us about our own consciousness, to.

It’s interdisciplinary, so we had three professors — a philosopher, a linguist, and a computer scientist — take turns lecturing the material. Coming from English literature, the philosophy and linguistics components were interesting but also pretty straightforward. The computer science was new to me, but I didn’t feel like the professor had enough time to share much in-depth or thought-provoking material.

The real doozy is the group work. 45% of your final grade ultimately comes from a research proposal that you and your three assigned group members have to come up with, research, and write. Our group did very well, but I often found it stressful balancing our different goals for the course as well as different experience levels in academic research (first-years could take COGS 200, after all). If you wind up with a terrible group, well, this course will not be very fun for you.

We had three individual written assignments (mainly short-answer questions, not research papers), a group midterm (terrible), a 1-page research proposal introduction, class presentation and poster, the final 5-page proposal, and a final exam.

Hope you found these course reviews helpful. Back to studying for CPSC 121 — wish me luck!

I’m still here, promise!

Millie has made an uneasy peace with her airline kennel after a traumatic 5-hour flight.
Millie has made an uneasy peace with her airline kennel after a traumatic 5-hour flight.

I have officially been in Vancouver for nearly a month – holy smokes! Class started on September 7 and I’ve now written one test, two long assignments, and 5+ quizzes/weekly math/stats short assignments. Time flies. UBC is much more challenging than Queen’s, and the work never seems to end!

I only wanted to check in now just to reassure you that Millie and I have survived the journey and settling into our new home. I’ve even made a couple new friends and have experienced (so far) one crisis in confidence (I expect that count to increase…).
I have a few ideas for future blogs here. Let me know if you’re interested in anything else:
  • review of all my courses this term
  • differences between studying discrete math vs calculus
  • how I make summary sheets
  • how not to fall asleep during *excruciatingly boring* texts …
  • differences between UBC, UVic and Queen’s
  • how to combat homesickness
  • a couple book reviews, too!