Research Mentorship Plan of Toby Dylan Hocking

My main goal when mentoring research students is to help them to make progress toward becoming independent researchers. Students should expect to learn how to:

  • use the scientific method,
    • as described by Carl Sagan in Cosmos (1980), Episode 3: The Harmony of the Worlds. “When [Kepler] found that his long cherished beliefs did not agree with the most precise observations, he accepted the uncomfortable facts. He preferred the hard truth to his dearest illusions. That is the heart of science.”
    • as described by Ann Druyan in Cosmos: Possible Worlds (2020), page 26. “What’s real must matter more than what we wish to believe. But how do we tell the difference? I know a way to part the curtains of darkness that prevent us from having a complete experience of nature. Here it is, the basic rules of the road for science: Test ideas by experiment and observation. Build on those ideas that pass the test. Reject the ones that fail. Follow the evidence wherever it leads. And question everything, including authority. Do these things and the cosmos is yours.”
  • read research papers, think about possible new ideas and future research directions, and review the literature to understand what similar ideas have already been researched.
  • implement ideas for new machine learning algorithms using programming languages such as R, Python, C, C++, JavaScript.
  • write code that implements computational cross-validation experiments, to compare the speed and prediction accuracy of a new machine learning algorithm with previously proposed baselines, and create figures/tables that visualize the results.
  • write and publish research papers which specifically describe the theoretical and empirical novelty of a new algorithm, and cite previous research to emphasize what ideas are old/new.
  • publish free/open-source code such as R packages on GitHub and CRAN, in order to facilitate reproducible research.
  • write scholarship/grant applications which describe future research directions.

Students should expect to do the following:

  • keep a lab notebook / research journal on google docs / github README / similar. The lab notebook should be organized chronologically (most recent at the top), with an entry for every day doing research. Write what you did, links to code you created/used, result figures/tables, what problems you encountered, and specific ideas for next steps.
  • have a one-on-one weekly meeting with me, to discuss progress and next steps (using the lab notebook to help explain). You should work an appropriate amount of time each week in order to make progress each week. For example Graduate Research Assistants (GRAs) should expect to work 20 hours per week on their research project.
  • participate in weekly lab meetings, in which students create and deliver 60 minute scientific presentations, and get feedback from other research students in the lab who are working on similar topics.
  • frequently ask questions about anything you do not completely understand (theoretical concepts, statistical models, data sets, algorithms, coding techniques, etc). In research the goal is to create new knowledge, so being honest about what you don’t know, and asking questions to help clarify your understanding, are important steps in advancing the frontier of knowledge (both your knowledge, and our collective knowledge). “Science works on the frontier between knowledge and ignorance. We’re not afraid to admit what we don’t know. There’s no shame in that. The only shame is to pretend that we have all the answers.” Neil DeGrasse Tyson, Cosmos (2014), Episode 2: Some of the Things That Molecules Do.
  • make backups of data which are important for doing the above activities, by keeping copies in 2+ of the following: (1) your personal computer, (2) github, (3) cloud storage, (4) external hard drive, (5) monsoon.

I am aware of differences between research projects and student capabilities, and I plan to adapt my approach to the specific needs of each case. Again the goal is to advance your knowledge/skills and the progress of the specific research idea/project you are working on.

  • Some students would like to discuss the specifics of the code they are working on (in which case I can do code reviews to help you improve your coding skills), and others may want to focus on how to write papers including interpretation of result figures/tables.
  • Some students may need more or less supervision, including detailed comments/suggestions about what exactly they should be working on each week, and maybe more or less frequent interactions either in person or on email/github.
  • In all cases I expect you, the student, to think about what is working for you, and what you would like me to do differently in order for you to make progress as fast as possible. I am your mentor and advisor, and I want you to succeed, so you should feel free to tell me how you are doing and what we can do together to improve your chances for success.

If you have questions about how to do any of the above, I expect that you will ask me, and you should expect that I take the time to show you.

Updated 21 April 2023: added that students are expected to ask questions and keep backups of all important data.

Updated 22 Dec 2023: added Tyson quote about asking questions.

Updated 4 Jan 2024: added Druyan quote about scientific method.

Updated 18 Jan 2024: added Sagan quote about scientific method.