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...

Some Thoughts on “Academic Training”

I’ve long said that university education starts to make a lot more sense if you look at it as a precursor to academic training. Historically, there have really been two major types of undergraduate university training, in my opinion: there was the liberal arts type of education, which was meant to turn rich people into cultured members of society (several of whom then went on to pursue academic training and scholarly activities, because they were rich and could afford to do so), and the more specialized type, which is meant to make the student literate enough in the major foundational ideas of the field to pursue additional training at the graduate level. If I remember correctly, universities functioning more like businesses is relatively new, the idea of university being a place for vocational training is relatively new, and the idea that most adults should get a university degree to be employable is also relatively new. (Also of interest: see “credential inflation.”)

Read more...

How to Watch a Technical Research Talk (or Workshop, or Tutorial) Recording (and Make the Most of It)

When I’m trying to approach a highly specialized topic for the first time, one of my tactics is to find a recording of a research-geared workshop about it and watch it as my introductory crash course. The benefits of this are as follows:

  • I am learning about the subject from (hopefully) a credible expert in the field.
  • Workshops and talks usually try to be self-contained, which means basic background info will likely be given and I won’t have to pore through 10 different research papers, searching for an obscure definition, in vain.
  • Talks typically have the benefit of including visuals and informal intuition conveyed by the speaker, which generally won’t make it into academic papers, because they’re not rigorous. However, the visuals and informal statements and intuition are invaluable for gaining a better understanding of the information.
  • The speaker will generally include a bibliography and mention related works, which is a great jumping off point for further investigation and saves me from having to figure out what the seminal sources are myself.

However, there are also some drawbacks:

Read more...

Hypergraph Theory Basics

Graphs can be seen as a way to represent pairwise relationships between objects. With graphs, we have one object type and one relationship type. In one of the most common canonical applications or graph theory, social networking, we are trying to understand and represent social groups using graphs. In that case, our object is people, our pairwise relationship is friendship, and two people have a relationship between them if they are friends.
Read more...

What Reading a Research Paper Feels Like

You’ve started a new job, you’ve stumbled into a conversation that’s been happening for several decades, and you’re feeling way too lost to even begin to follow what anyone is talking about, let alone participate. You’re confused, so you go see John, who seems to be semi-acquainted with the people having the conversation. You briefly sketch out what (you think) you heard, and tell him that you didn’t really understand anything anyone said. Maybe he can help you?

Read more...