Some Things I Learned From Writing My First Research Report

Last summer, I was tasked with writing a report about the research I completed and submitting it to my supervisor by the end of the summer. I, of course, had never done this kind of writing before, so I learned several lessons. The hard way. The learning process was super painful, but it did come in handy when I had to write two other research reports in my classes last fall. Here are a few of the lessons I learned.

Read more...

Research Opportunities for Computer Science Students at Carleton University

This information is accurate as of Feb 9th, 2025.

What is research?

The goal of academic research is to add to the body of knowledge within a field. Generally speaking, research either aims to understand (e.g. “Are there biases in the outputs produced by large language models?) or to create (e.g. “Here is a new protocol for sending messages across the internet”). Depending on the specific field, this could involve running experiments or simulations, designing algorithms or processes, interviewing or observing participants in a study, and so on. There is also generally an expectation that the results be communicated in some way. Most commonly, this is done through a written report, a poster, or a presentation.

Read more...

Which Math Courses Should I Take in First Year?

A Guide for Computer Science Students at Carleton University

This page was last updated on February 9, 2025.

What is COMP 1805? Is it math or programming?

COMP 1805 involves no programming, though at times reading pseudocode may be involved. It is very explicitly a math course, though it’s probably not the math you are used to doing in high school. Whereas high school math courses teach you techniques for doing different sorts of calculations and algebraic manipulations, there are close to no calculations in COMP 1805. Instead, the course is about learning the language used by computer scientists and mathematicians to describe problems more formally (which in turn, makes it easier to decide whether or not a problem has been “solved”). Topics covered in COMP 1805 include “foundations of math and reasoning” such as propositional logic, basic set theory, functions and relations on sets, and proof techniques, as well as topics intended for computer scientists, such as an introduction to graphs and networks, Big O notation, and asymptotic analysis of algorithms.

Read more...

Do You Need to Understand the Math Behind a System to Implement It?

A while ago, someone in a Discord server I’m in asked how much of the math behind a system you need to know to implement it. I thought it was an interesting question, and I felt qualified to answer it, so I ended up writing quite a lengthy response. It just occurred to me that it might also be useful to other people, so I thought I would clean it up a little bit and archive it here.

Read more...

Research Papers Shouldn’t Be Read in Order; or, How to Read a Research Paper

I just finished a blog post where I discuss things I’ve recently learned about how to read research papers. I almost included this as a point in that post, but I think it’s important enough to warrant its own article.

Here’s the idea: you absolutely should not be reading the sections of a research paper in order.

It took me a while to learn this one – I can’t remember if I first read this advice somewhere, if someone told it to me, or if I reverse-engineered it from advice I got about how to write papers. It doesn’t matter which one came first, really – my point is that I only found this out in a roundabout way through googling and trial and error and harassing people with questions.

Read more...