Project Month
Around this time last year, the first term of my last year of undergrad was over, and I was probably madly preparing for final exams. Fast-forward to the same time this year, I'm still madly preparing for something, just not final exams.
Last week, I submitted my final exam for CPSC 509. It was a take home exam which we had one full day to do, and I have to say, it was bittersweet when it finally came to an end. It was a course I had been looking forward to taking ever since I thought about going to grad school, and it was the most interesting course I'd taken this term by far. Not only was the content interesting, but I don't know of any other course where I'm allowed to freely shitpost like this
If there's one thing I like a lot, it's shitposting. All levity aside, 509 was a course that challenged me in terms of my mathematical ability (proofs was never my strong suit), and I feel like I've only barely scratched the surface. Maybe I'll join the programming languages reading group. This edition of the newsletter is entitled Project Month, and that's what I've decided to call the month of December. Because that's what it is. All the final exams I would have been madly preparing for in undergrad have now been replaced with course projects.
Automatic Predicate Inlining for Viper (CPSC 513)
513 is the graduate formal verification course offered at UBC. In very basic (and probably incorrect) terms, it's when you construct a mathematical model of a software or hardware system and manipulate the model to derive conclusions about the system. Speaking frankly, I was pretty disappointed by this course; the course content didn't seem to be well-motivated, and lectures were often very dry with no real thematic thread cutting across them.
That said, we still have to do a project for the course, so a few members of my research lab who happened to be taking the course with me opted to tackle an open source verification language called Viper. You can find our project video below
I was incredibly surprised when I found out that Viper was written in Scala. I wondered when I would be able to work with my (current) favourite language again, and I didn't know it would be this soon.
Mobility and COVID-19 (CPSC 547)
There's not really too much to say about this one. 547 is the graduate information visualization course at UBC, and I've learned a fair bit about line charts, heatmaps, chloropleth maps, and other types of visualizations that I never knew existed. If I could describe some of the most important things I've learned in this course, they are
- No, you don't need a 3D bar chart
- No, you really don't need a 3D pie chart
- No, you don't need a 3D ...
Of course, I say this jokingly (half-jokingly, really), but I realized just how much of the visualizations out there today are actually quite bad in terms of what they communicate to a user.
Our group's project for this course is creating an interactive explainer that visualizes changes in how people move. I don't have a link to share quite yet, but maybe I'll share it when it's ready.
In my life outside of school, a lab member was kind enough to organizer a holiday gift exchange. The last time I participated in a gift exchange was back in December 2017 at my first co-op, so it was interesting coming back to one. I purchased a gift for my match? so they should be getting it in the mail quite soon.
In more serious news, I've recently been following some news in tech about ethical AI and I have to say that what I'm reading is making me incredibly depressed. Of course I don't presume to have all the data and information necessary to formulate a completely sound idea of what actually happened, but what I've read so far doesn't paint a really great picture in my mind.
This brings me back to the idea of ethics in the tech industry. I keep meaning to write about this topic, but I think it's something that I would need more time to formulate a coherent opinion on.
That's it for this week's newsletter, hopefully by next week's I'll be finished CPSC 547 and can go back to blissfully writing Scala for 513.