Suggestions for fresh Ph.D. students


While I don't see myself as an authority or an exemplary figure in this domain, I've been reflecting on my own path and realized there are some insights I would have appreciated knowing sooner. Ph.D. is very short, it's more about appearing at right location at right time than about who's smarter than whom. With that in mind, I've compiled the following advice.

First, I point to a handbook from prof. Mark Dredze at Hopkins, the content of which I regret not reading earlier:
How to be a successful Ph.D. student

Mark mentioned additional links at the bottom of his handbook. Here are the ones I believe are particularly noteworthy:
10 easy ways to fail a Ph.D.
How to email
How to find research problems

Second, I stress several misleading suggestions I got from my early years, that I wish I never received.

``Teaching in general is a waste of time for research. You should fulfill the TA requirements with whatever course requiring minimum teaching workload, or TA the same course multiple times."

Teaching helps you learn and boosts research. Most likely, you will not be encouraged to teach after the requirements are fulfilled. If you're not sure which class to teach, chill and don't rush in your second year. Unless you need the TA cash, it is a terrible idea to TA the same class multiple times. Mix it up with different courses for cool teaching insights.

``Blah is a challenging research field. Considering the capable individuals who have not succeeded in this, it may be wise to avoid it."

Terrible idea. Maintaining curiosity is crucial. Difficulty should not deter one from making an attempt. People have varying perceptions of what is hard and what is easy. In my opinion, if something appears overly complex, it may be due to a lack of understanding.

For those studying computer graphics

First, I'd like to direct your attention to a selection of online courses that merit multiple viewings. Even if you have already completed a course with the same title at your institution, these may still be worth exploring. Considered classics in the field, they are packed with insightful content. Individuals with diverse backgrounds can extract unique takeaways from these courses. Each time you revisit them, you may discover something new that you hadn't noticed before.

Discrete Differential Geometry (Keenan Crane, CMU)

Shape Analysis (Justin Solomon, MIT)

Numerical Methods for PDEs (Qiqi Wang, MIT)

Deep Learning - Stanford CS231N (Feifei Li & Justin Johnson & Serena Yeung, Stanford)

Second, there are interesting resources I follow, that are not full lectures.

Toronto Geometry Colloquium (Derek Liu & Otman Benchekroun & Silvia Sellán & Selena Ling & Alec Jacobson, UofT)

Geometry Processing (Daniele Panozzo, NYU)

Last but not least, some universities come with a computer graphics track, but most don't. I view computer graphics as a multidisciplinary field in which computer science plays just one role among many. I want to recommend some hidden courses offered outside CS department that might be helpful for your career in computer graphics. You might want to consider taking Differential Geometry from applied math department, and Fluid Mechanics, Heat Transfer from mechanical/aero engineering department.

For those from underrepresented groups

Unfortunately, the world can be unjust, with the majority often defining what is considered ``normal" for the rest of us. However, the silver lining is that it's possible to adopt a different viewpoint. This isn't about gaslighting yourself into believing that everything that occurs is fair, but rather about choosing the high road when faced with unfairness.

I want to point to this profound speech by David Foster, recommended by Bill Gates on LinkedIn:

Your Mind is an Excellent Servant, but a Terrible Master (David Foster)

While designing this website, I contemplated adopting a less feminine appearance by not including a photo and refraining from using pink or pastel shades. Perhaps I will get more citations that way ;) However, I believe that feminism is for everyone, including scientists, and I aim to be a role model for younger female colleagues.

Teaching philosophy

In addition to research, I’ve been developing my personal teaching philosophy and approaches in preparation for my future position at the lectern. I categorize teachers into three levels: The least effective teachers merely recite Wikipedia-based slides, providing no value to students. Slightly more effective teachers introduce high-level ideas but jump to derivations without context. Best teachers teach intuitions, which cannot be googled. This can also be considered as my learning philosophy, as teaching and learning are two sides of the same coin.

Intuition is more important than implementation details

This is the most important teaching philosophy of all. It applies to both theoretical and software courses. It is not surprising that theoretical courses emphasize intuitions. Therefore, I'd like to provide one example in the context of programming course. To elaborate the same concept segmentation fault, a less effective teacher would just copy the Wikipedia definition `` In computing, a segmentation fault (often shortened to segfault) or access violation is a fault, or failure condition, raised by hardware with memory protection, notifying an operating system (OS) the software has attempted to access a restricted area of memory (a memory access violation)." On the other hand, a much clearer explanation could go by: ``If you ran into this error, nine out of nine times it's related to memory. You are touching memories that's not yours".

Interacting with students effectively is nontrivial

Interaction with students is something sounds trivial but difficult to implement. It involves creating a safe environment for asking questions. It should be a big commitment as my student to say ``Understood" in my classroom when I check ``Understand?" (as I might ask them to explain). From my teaching and learning experiences, this approach has been very beneficial for students, because feeling safe to ask questions guarantees learning more.

Learning happens when coding happens

I appreciate heavy coding courses as a student. Talk is cheap in this field. The plan is to do the same for my students. Even for research, strong coding skills help you implement your ideas faster, that way you would be more productive.

Less is more

Humbleness is essential for educators. I will keep in mind that not every single student in the classroom aims at becoming an expert or publishing ACM SIGGRAPH papers. When planning my lectures, I contemplate which single concept I would like my students to retain if they could only remember one thing. For instance, in my rendition of Computer Graphics, the key takeaway from the entire lecture series would be the Laplacian. For my least motivated students, this serves as the baseline expectation. For those with a bit more drive, I strive to identify one enduring concept per lecture that they can commit to memory for a lifetime.

Plain Academic