Scheduling Algorithm for a PhD Student
This post was inspired by Christian and Griffiths Algorithms to live by. Unlike other self-help books, it argues that the optimal scheduling strategy depends on your goals. If you want to minimize lateness of your single latest output, you should use Earliest Due Date. If you want to minimize the number of late items, use Moore’s Algorithm. If you want to maximize value for time, select by value-weighted processing time (value/processing time). And so on and so forth. Based on their work, here is my scheduling plan for different items.
Coursework
As a phd student, I cannot afford to submit any coursework late. A high maximum lateness is bad for my reputation. Therefore, for coursework I want to use Earliest Due Date. However, I only want to devote a portion of my time to coursework: my primary goal is to become a producer of research, not a consumer. Therefore I should limit the amount of time I spend on each assignment (this also helps w/ focus). I have devised the following heuristics (and usually set timers for each activity)
Reading an article: 20 min
Reading an article relevant to my interests: 40 min
Reading a book: 2 hrs [1]
Reading a book relevant to my interests: 4 hrs (in two sessions)
A problem set: until completion
A coding problem: until completion
Writing a reading response: 20 min
After coursework is done, I switch immediately to career development.
Career development
These tasks include every behavior that increase my chance of becoming a professor, producing good research, and producing juicey QALY’s. The most common tasks are pitching articles, analysing data, writing, editing, writing, communicating w/ coauthors, and writing more.
These tasks should be ordered by value per weight. I have more ideas than I have instrumentalized time to explore them. Any tasks which will take a long time to complete but give only marginal academic value can be thrown out.
The real problem is assigning values to the different tasks. How valuable is planning out my course schedule for the next year? Evaluating a specific research agenda? Exploring the papers in a new field? Unfortunately, I lack good answers for these questions. I’m vaguely aware that I should have >5 articles published when I enter the job market. But the weightings for quality, quantity, prestige and coherence of these publications are unclear. This is a vital area for further research.
Thesis ideas
This is the one task for which I drop any activity to write it down. If I am reading a paper and I come across a new question or if the authors assumption lacks depth, I go straigth to markdown and write a description on my github. It’s okay if the description but refers to the literture that gave the intuition.
- ↩︎
I know this sounds crazy, but in my discipline you summarize lots of info fast.
How long is the median article in your field? More like 5 pages, more like 20 pages, or more like 40 pages?
I have been slowly developping my own python app to solve this. I have talked here about this before so let me put the link to my previous comment where I explained this : https://www.lesswrong.com/posts/54Bw7Yxouzdg5KxsF/how-do-you-organise-your-reading?commentId=aGtZWpnn9ecPtQoLp
I am selftaught and terribly bad at estimating what’s left to code. I’ll probably finish it when my exams make me procrastinate the most.
To sum it up in a few words : It manages a db of entries containing your goals It asks you “which is more important” after picking 2 items It then asks you “which takes most time to complete” It computes ELO score (one for “importance” and one for “length”) You do this with enough pairs of entries, you can now rank all your tasks by what is the most important and takes the less time, even if sometimes you can’t compare two items the ELO will find a way to converge somewhat, and supposedly fast enough.
The reason my coding is so slow is that I try to make it generalizable for n scores. For example for my movie database : it takes into account importance / length / size of the file. In your situation, you could add a question “what will help me most to become a professor” etc.
This way I watch what’s important and short while never fulling my hard drive to the brim.
If there are coders that whish to participate and that are armed with tremendous patience for my lack of skills, I could open the github. If you have any question or recommendation don’t hesitate.