Why Does Theory Matter in Computer Science? (Part 3)

The Densest Subgraph Problem, Peeling, and Iterative Peeling Algorithms

In Part 2 of this talk, we gave a crash course to graph theory and showed how we can use it to view some real-world problems as instances of the densest subgraph problem (DSP). But what exactly is the DSP? If you’ve studied graph theory, you may have heard of something called the Maximum Clique Problem. The goal of the max clique problem is to find the largest complete subgraph in a graph. If we consider our vertices to be people, and edges to represent a friendship relationship between two people, in the max clique problem we are trying to find the largest friend group in a community.
Read more...

Why Does Theory Matter in Computer Science? (Part 2)

Real-World Problems and a Crash Course to Graph Theory

In the first part of this talk, I made the case that theory is useful because it allows us to find (or at the very least, have the correct toolkit and language to explore) solutions to real-world problems. In this part, we are going to look at some examples of such problems and develop mathematical language to be able to discuss them more abstractly. I’ve put the term “real-world” in quotes in the title, because I’m going to be talking about these problems in a lot of generality. However, I want to stress that specific instances of these problems are actually relevant in industry, and I think it’ll be easy to see why once I start talking about them.
Read more...

Why Does Theory Matter in Computer Science? (Part 1)

Introduction and Big Ideas: Abstraction and Generalization

If you’re a computer science student, you probably had to take an introductory discrete math course at some point. Did you enjoy it? If so, this talk probably isn’t for you, so you can feel free to skip the rest. (Or not – hopefully you feel like you can still learn something from me!) Jokes aside, it’s actually okay not to enjoy your intro to discrete math course: like, personally, I loved mine, but I also completely hated my discrete probability course and would prefer never to see it again. But I pick on discrete math because I feel like if it’s taught well, it can be a turning point for many people, and it certainly was for me.
Read more...

How to Be a “Talentless Hack” in Public

When you call yourself a “talentless hack” (which you probably don’t, but you might if we share a similar sense of humour), it’s likely for one of two reasons: either you’re caught in a situation where you suddenly have to perform or get results or do something, with zero experience or knowledge of what’s going on (at which point feeling like “a hack” is somewhat legitimate), or you’re doing it out of self-deprecation because you have imposter syndrome.
Read more...