Blog home »
Starting In and Choosing a Research Area
February 12, 2022
When starting out in grad school, it can often feel like a lot of background is required in order to read papers or to be able to dive into a research problem. It's no longer the case that courses are readily available at your institution for every topic you might need to learn, and the collection of tools you might need could be a drawn from a variety of typical courses. The easiest way to enter new research areas is often to self-teach using resources found online, so it can significantly help to have a good suggestion on which materials to use. The resources listed below were collected by primary researchers in each of these areas.
As for choosing a research area, it can feel overwhelming as a first year grad student when all these different areas seem exciting and you have no idea how to pick the right one. I remember having a conversation during my first year with this wise older grad student (Cyrus Rashtchian) about how I was enjoying working on algorithmic game theory, but how was I to know whether some other topic like spectral graph theory or something else was actually the right research topic for me? Choosing a research topic felt like a multi-armed bandit problem, and one where I had to do considerable research on each arm. So how was I supposed to go about finding the best arm?
But Cyrus remarked that in picking a research area, you don't need to pick the best arm, you just need to pick a good arm. And this is such a good point. You just need a research area that you enjoy working in, that feels good for your brain and your conscience. Should you decide to pivot to a different topic later on, as many people do, multiple times, research skills are highly transferable. The skills of coming up with a good problem, doing a literature review, finding collaborators, breaking the question into subproblems that you can make progress on, figuring out the story to tell, writing a paper, and so forth are all transferable. While perhaps the specific toolbox from one area might not transfer to another (e.g. boolean analysis vs. training neural nets), those skills are easier to pick up, and collecting more tools for your toolbox never hurts anyway. The way that people pick up skills when they pivot is by self-teaching from good resources! If you think about some of the more senior researchers working in newer fields, this is exactly what they do too, because it's not like they learned these fields back when they were in grad school. In fact, part of why I started collecting this list of resources is because I didn't learn cryptography in grad school, and I was looking for some good resources to use to acquaint myself so that I could better under crypto-related fairness talks.
For core TCS topics, if you are a primary researcher in an area and you know me, feel free to suggest a resource and I will add it below.
Algorithmic Game Theory and Mechanism Design:
- Tim Roughgarden's book of lectures on Algorithmic Game Theory or course
- Tim Roughgarden's course on Advanced Mechanism Design
- Jason Hartline's book on Mechanism Design and Approximation
- An aggregation of DP resources
- A course on Privacy in Statistics and Machine Learning by Adam Smith and Jon Ullman
- A course on Algorithms for Private Data Analysis by Gautam Kamath
- Textbook by Katz and Lindell
- Lecture notes by Rafael Pass and abhi shelat
- Justin Thaler's book on "Proofs, Arguments, and Zero-Knowledge"
- Oded Goldreich's book
- Clément Canonne's survey on distribution testing
- Rocco Servedio's course on "Sublinear Time Algorithms in Learning and Property Testing"