This week marks the end of my summer research collaboration with my students. I usually wrap up research by the end of July/first week of August so that I can spend some quality time with my family and particularly the kiddos before school starts back up. Granted, this is more of a perk when we haven’t been cooped up together for months….
The last research week is always hectic. No matter how on track we’ve been all summer, there’s always a lot to do to wrap things up. Finish the analyses. Make sure all the code is in the repo. Make sure all of the code is commented. Get a rough draft of the eventual conference paper to some stage of “completion”. And so on. A million little details, some of which inevitably slip through the cracks.
Every summer I tell myself I will make a checklist of what needs to be done. Every summer I fail to do so. Maybe it’s because I see my students every day, or almost every day, so part of me assumes that it will come up during a meeting, or that I’ll pop into the lab and remind them to do whatever just popped into my head.
But this summer, we’re all online, in 3 different cities in 2 different time zones. I’ve gotten in the habit of putting more things in writing, more formally. More lists, more systems in place. More structure.
Turns out, this put me in the perfect mindset to finally write that checklist.
Here’s my checklist for this summer. I suspect that in the future, particular details might change based on the nature of the project, but that the overall categories and most of the items will largely stay the same, or at least very similar.
I. Complete project writeup. (I always have students write something up about the project, no matter where we ended up. I think it’s important for students to get some practice writing for a technical audience.)
- Write up the methodology for each of the analyses you completed.
- Write up the results for each of the analyses you completed. Include graphs/tables.
- Write up the takeaway points for each of the analyses you completed. What did you learn? What do you think the results indicate? What are the next steps that should be done?
II. Check in and clean up all code. (I’ve learned the hard way over the years that students need to be reminded of this, and also of specifically what I mean by “clean up”.)
- Make sure all code is commented. Think of You, Six Months From Now. What does You, Six Months From Now need to know/remember about what’s in this code?
- Write a TODO list for each of the (major) scripts you wrote. (You can put this at the top of the file, in the comments.) What’s not working that needs to be fixed? What’s working imperfectly that needs to be fixed? What are the things you hoped to get to, but ran out of time?
- Write up how to execute each script. (You can put this at the top of the file, in the comments.) What data files does this operate on? Where are they specified in the code? Are there command line arguments? Any other assumptions that you made that others should know when running the script?
III. Write up onboarding docs and next steps for next set of students. (This is still a work in progress. Students, understandably, find it difficult to anticipate what others will struggle with, and invariably forget what they struggled with early on in the project.)
- Make sure all README files are up to date.
- Write up a “Start Here” document that describes what students starting on the project should know about the project, the code, and the data. (I ended up outlining this document for them, because they were really struggling with what to include.)
- Make sure all metadata documents (on all datasets) are updated, correct, and easy to find.
IV. Write up a short reflection for me about your experience. (You can defer this until next week if you’re overwhelmed!) Email is fine for this. (I don’t always remember to ask for this, and I always regret when I forget! I learn so much from these reflections.)
- What were you hoping to get out of this experience?
- How much of that do you feel you accomplished this summer?
- What, if anything, surprised you about your experience?
- What were you hoping to accomplish/get out of this experience that you did not?
- What work are you most proud of, and why?
- When/if I write letters of recommendation for you, what parts of your contributions to this project would you like me to emphasize?
- What advice would you give to future students on this project?
- What advice would you give to me to help me better mentor future students on this project?
V. Celebrate a job well done! (Admittedly, this is trickier to do in the time of Covid. Usually I take them out for lunch, but that doesn’t work when we’re all in different locales. I will likely send my students a little gift of appreciation and a note, but I’m still trying to figure out what to send.)
Do you use a checklist with your research students to keep track of end-of-the-project todos, or at other stages of your research project? I’d love to hear your experiences.
One thought on “My checklist for wrapping up summer research with students”
Pingback: Small gratitudes, summer edition | This is what a computer scientist looks like
Comments are closed.