I'm nearing the end of my first year as an undergraduate and am very confident that I want to pursue a PhD in TCS. Fortunately because I quickly realized what I'm interested in and have a solid background in math, I've been able to take multiple TCS classes early on so as to get exposure in the field. I've also been doing lot of study on my own as time allows (though of course it is difficult when taking classes).
It also so happens that I live very close to my university, and at my request one of my professors was nice enough to say that I could come in and work in the theory space every day during the summer. It is still really up in the air as to what I will actually focus on, but I'm just excited to have a space to study TCS all summer.
Since as I said I'm only a first-year, one thing my professor emphasized is I have a choice many undergrads don't have: I could spend the summer doing "research" or studying far more broadly. I put research in quotation marks because I don't think I have enough experience to actually collaborate with a graduate student, but I could devise my own project. I.e., try to find some very recent results in a topic that doesn't require too much advanced math and just go at it.
On the other hand, I found a lot online advising undergrads to (if possible) study broadly instead of narrowly since obviously you aren't going to be working on the same problem in 10 years. To me, studying broadly would look like spending the summer going through as many textbooks as possible and doing lots and lots of exercises. (I would still find this a lot of fun!) And also reading papers in different areas. That said, there is the ever-looming pressure of graduate admissions and the need for some kind of publication.
So my question is basically what would you recommend to do in my situation? (But more widely, should an early undergrad go for depth or breadth?) Some other thoughts I've had:
- I could obviously come up with some kind of compromise. Instead of doing a "research" project I could read and present lots of papers. Since going through a paper is a mini project in itself for me at this point, this would give me some depth but obviously not at the level of a project.
- Some comments I've read online suggest that one reason to emphasize breadth if possible is it will lead to a far smoother initial research experience down the road. However, one thing I've been told is that you will never be fully "ready" to dive into research. Meaning that everything is so specialized at this point that even grad students only understand 90% of their specialization, 70% of their subfield, and 30% of everything else. Someone told me that because this will always be the case, it is better that I dive in right away. (But of course it is hard to know what to dive into!)