When I first started to write notes for my PhD work, I remember trying to keep notes in a single .txt file on my laptop. As new ideas came in, I just added them to the file. Eventually, that file got huge, making it really hard to find anything useful when I needed it. I eventually abandoned the .txt file, losing all that content in the process. Then, I switched over to writing my notes in composition notebooks. The quad ruled ones were and still are my favorite. My note taking was a bit better in the quad ruled notebooks, but I still had the same problem. How could I find relevant notes after I had written them? Once I’ve filled an entire notebook with ideas, diagrams, and results, how on earth do I find them afterward? I basically had to flip through every single page, unless I knew for sure that what I was looking for was near the beginning or the end of the notebook. After years of failed attempts at note taking, I finally realized that the medium didn’t matter. I had the same problem digitally as I did on paper. I needed a system for organizing my research notes.
I laughed when I realized what the problem was, given that I’m a researcher in data science. It is literally my job to make it easier for other people to organize, explore, and make sense of their data. The same principles apply to my own data as well. After coming to this realization, I made it my mission to develop a note taking system that actually works for me. After ten years of trying, I believe I finally have a system that works. It is magical! In this post, I share my note taking strategy, so you can apply it to your own computer science research.
The Key Idea: Focus on Connections, Not Just Content
My goal with note taking is to build a powerful information system to support my research. But how do we structure such a system? To answer this question, consider the structure of two of the most powerful information systems in the world. One is the brain, which contains an interconnected network of billions of neurons used to pass information from one part of the brain to another. In machine learning, neural network architectures try to mimic how the brain uses neurons to build vast networks of information. Another example is the internet, which is an interconnected network of digital information spread all over the world. You can be on the opposite side of the world from me and through the internet you can still read this post. Within the internet, consider Google search, specifically the Page Rank algorithm that made Google famous. The way Page Rank works is it analyzes which webpages are connected to each other through hyperlinks. The more tightly clustered a set of pages are through hyperlinks, the more likely they are to be semantically related. Furthermore, the pages that are linked to the most are likely to be the most authoritative pages within the clusters. In other words, Google exploits the connectivity of the internet to power its search engine. See a theme here? To apply this concept to research notes, we simply substitute neurons and pages with individual notes. In this case, the content of a note matters, but how it connects to other notes (and our brains!) is even more important.
High-Level Steps to Writing Excellent Research Notes
Here is a quick summary of my key strategies for writing great research notes:
- Write everything down
- Tag notes by category, concept, or theme
- Link related notes together
- Create a table of contents for each major project
In the rest of this post, I describe each step in detail and provide some helpful tips to boost the utility of your research notes.
Step 0: Choose Where to Write Your Notes
If you do not currently take notes, then you will need to choose a note taking application to write your notes in. My favorite note taking application is Evernote, so I will be using it in all of my examples. However, you can apply these same principles to any other note taking strategy, including paper notebooks. Check out commonplace books for examples of how people applied similar concepts throughout history. However, having access to hyperlinks and search bars makes navigating related notes much easier. Also, digital notebooks never run out of pages! So I recommend going digital if you can.
I wrote up some helpful tips on picking a good note taking app in a previous post. If you already have a note taking app that you enjoy using and it has the features that I recommend, just start there. Don’t delete anything and don’t make a new notebook. Just use the default notebook for now. The beauty of my note taking strategy is that it doesn’t matter whether all the notes are in one place or not. To keep things easy though, we will place them all in the default notebook. If you are a bit more advanced and want a separate notebook to test things out, then feel free to create a new one and change the settings to make it your new default notebook.
The most important part of Step 0 is to be consistent. Keep all of your notes in the same place. For example, I keep all of my research notes in Evernote. For me, if it’s not in Evernote, then it doesn’t exist. This way, I never have to remember where I put my notes. Do you want to migrate to a new note taking app? No problem, but make sure you copy all of your notes to the new app. If you have hundreds of notes this might sound intimidating, but trust me it’s worth it. If you don’t want to do it all at once, then do the following:
- Just migrate 5 notes per workday. The most important thing is to be consistent. Do what you know you can handle on a daily basis and do not stop!
- Do not tell yourself that you can just “get it all done on the weekend.” Find a way to do the daily migration on workdays only.
- For each note you successfully migrate to the new app, delete it from the old app. That way, you always know exactly what still needs to be migrated.
- If you are pressed for time, then go down to 1 note per workday, but do not stop migrating! Then, go back up to 5 notes per workday as soon as you can.
- If you have more time, try to migrate more notes, for example 10 notes instead of 5 notes. But remind yourself this is just a temporary boost. Go back to 5 notes the next workday.
- As a bonus, start tracking your migration using your favorite habit tracking method. For example, you could use a habit tracking app, check off a daily task in your preferred calendar app, cross days off on a paper calendar, and so on. Do what works best for you, but as Jerry Seinfeld famously recommends: don’t break the chain.
This simple trick of breaking big projects down into easy micro-tasks and doing them every single day is the reason why I started this blog. This strategy applies to everything in research, and arguably everything in life. My goal is to show how to apply this method to any and all aspects of computer science research in future posts.
Step 1: Write Everything Down
To build an information system, we need information and lots of it. Also, with an open-ended discipline like computer science research, we never know which notes will lead to new scientific breakthroughs. For these reasons, we need to write everything down in our research notebooks. However, much like how I can’t just write crappy, disorganized webpages and expect to rank highly on Google search, I can’t haphazardly write disorganized research notes either. The information stored within each top ranked webpage has to be organized a certain way for Google to recognize its value. In the same way, each research note has to have a detailed and consistent structure.
My biggest tip for writing detailed notes is to always write the note as if someone else, for example a new student joining a research project, will need to use the note. An even better way to look at it is to treat notes like webpages that someone else might search for online. Is the note content going to help a random person searching for this information online? If not, then it probably will not help you either, at least once the original context is forgotten. Forgetting the context only takes a couple of months, but research projects are completed on the scale of years. Do your future self a favor and write everything down now. My second biggest tip is to write a descriptive title. Imagine all those Google search results you ignored because the webpage titles were too vague. The same holds true for searching your own notes. Again, make life easy for future you and just write the details down now.
I’ve written an entire post on how to structure individual research notes, and describe four types of notes to focus on: ideas notes, process notes, reference notes, and results notes:
- My ideas notes capture new ideas in the moment so I never lose them.
- My process notes record step-by-step guides for critical yet complicated research routines.
- My reference notes manage external resources that I turn to again and again as I do my work.
- My results notes record the findings and implications of completed research tasks.
If you want a concrete example of how to write ideas notes in a structured way, check out this Evernote template that I made. It provides all the details you will want to track for your ideas. You don’t have to use the whole template, and can complete each part at your own pace. For example, I typically write the core idea down as soon as possible, then add relevant papers and whatnot over the following days, weeks, or even months, depending on how long it takes me to get back to the idea. If you want detailed tips on how to write all four types of notes, please check out the original post linked above.
Step 2: Tag Notes by Category, Concept, or Theme
After you’ve written a new note, the next step is to help your note app understand how it connects to the rest of your information system. This step matters because keyword search is not always that effective out of the box. Unlike bloggers and website owners, when I write notes, I’m just writing my thoughts down, and not necessarily trying to maximize keyword relevance and back links. This is exactly how notes should be written. However, this makes keyword searches over your notes less effective than online keyword searches over websites. That being said, there are steps we can take to make keyword search work better. One step that will definitely help is to use your note taking app’s tagging feature.
The key idea with tags is to include information that you might not include in the body of the note. To keep things simple, I recommend using the following types of tags:
- Note Type Tags: for the type of note you wrote (idea, process, reference, result)
- Project Tags: for the research project this note belongs to.
- Task Type Tags: for the type of work you were doing as part of this note, such as “paper writing”, “thesis writing”, “user study”, “proposal/fellowship”, “job hunting”, “teaching”, etc.
You could also add tags for research areas, such as “visualization” or “databases”, but I would avoid them since different areas may go by multiple names. For example, “database” research could also be “data management” research or “database management” research, or even “data science” research. Furthermore, this content will likely end up in the body of your note anyway and so will be redundant as a tag. Save yourself the trouble and avoid adding these kinds of tags. For conferences, you will probably put the conference name in the body of the note, so there’s no need to add a dedicated tag. The same goes for course numbers if your note is related to a course.
I often like to include tag names in the title as well. For example, research idea notes I might title as “Research Idea: [rest of title]”. This helps me skim notes while reviewing search results in Evernote.
Step 3: Link Related Notes Together
My absolute favorite feature of Evernote is internal links. This feature is arguably the single most important feature for building a robust information system! I prefer to find relevant notes by clicking a couple of links rather than having to use the keyword search feature.
Never used this Evernote feature before? All you have to do is:
- Right click on the thumbnail of the note in the notes view on the left hand side of the Evernote window.
- A menu should pop up, like the one below.
- Click on the “Copy Note Link” menu item.
- Paste the link within a different Evernote note as desired.
When you paste a note link in Evernote, it will look like this:
The link will be green instead of blue, and the title of the note will automatically be used to describe the link. As I work on projects, I try to always include links at the top of the note to other relevant notes. For example, if I am analyzing a dataset three different ways, I may make each analysis a separate note, and add the links for the other two analyses at the top of each note. Here’s an example from my own notes. This note is from an old project where one of the main contributions was a literature review:
We had to iterate on the clusters of papers we wrote about, and the text for the literature review itself. I kept track of these previous iterations using Evernote links.
However, you may get to a point in your research project where it becomes a huge chore to copy all of the links over all the time for each new note. Furthermore, not every note about a project is relevant to every other note for that same project. This is where the last step becomes crucial.
Step 4: Create a Table of Contents for Each Major Project
There is actually a fifth type of note that I use all the time in my research notes. However, this note type is more organizational than content focused. This is why I don’t include it in my four types of notes. The fifth type I call a “Table of Contents” note. This note is the master list for all relevant internal and external links for a given project. Here’s an example for an old research project:
For this project, I conducted a user study and had many smaller analyses I needed to do using the study data. I made separate notes for those analyses, and linked them in the table of contents. I also had to submit the paper a total of three times, and wrote a lot of notes on how to improve the paper for each submission. I linked those notes in the table of contents as well. As you can see, I had a lot of notes to keep track of for this one project! Furthermore, I did not start my table of contents until after my paper was rejected the first time, so there are older notes that did not make it into this table of contents example. My recommendation is to save yourself some trouble and create a table of contents note at the very beginning of the project, that way you can just maintain the same note the entire time. If you end up having to spend a year or more on a project, then you will be glad you linked all of your relevant project notes in one place.
When writing papers or generally collaborating with other people on a project, I also write content outside of Evernote, such as in google docs or Overleaf. Table of contents notes are also great for capturing these links. Furthermore, if there are specific resources that I need to reference for the project, such as submission guidelines for a particular conference or award program, I include those links as well. Here’s another example for a (rejected) proposal I wrote last year:
Something I love to do is to add table of contents notes to my Evernote shortcuts. That way I can always go straight to the table of contents for an active project to find a relevant note. Once the project is no longer active, for example once the corresponding paper is finally published, then I remove the note from my shortcuts.
Bringing Everything Together: Some Helpful Guidelines
I provide specific steps above for creating an effective information system to support your research. Although following these steps has worked well for me in the past, you may want to adapt these steps or even create new ones to better suit your needs. Here are the key principles to keep in mind when extending these steps:
- Write your thoughts down ASAP: It is difficult if not impossible to remember every detail and every outcome from years of research. Even if you choose to write different kinds of notes or focus on different note details, the most important thing is to write down your thoughts as soon as you have them! Write down as many details as possible to capture the full context. If you do not do this, you will hinder your growth as a researcher.
- Keep everything in one place: If you are like me, then you tend to lose things when they are not in an intuitive place. My life is much easier when I have exactly one place to look for things. Even if you hate Evernote or prefer paper notebooks, I hope we agree that keeping notes in a single notebook or a single app is easier than keeping notes in multiple places.
- Cluster related notes: I shared three ways that I cluster relevant notes (keywords, links, table of contents). The key idea is for notes that are related to have an established connection that you can use to navigate easily within the cluster. Even if you don’t remember the exact details of a specific note, you may still remember the general topic or theme and can use these connections to find it.
Writing good research notes is all about the connections, how different ideas connect to one another across notes. Connecting disparate ideas together is the definition of creativity and the cornerstone of scientific innovation. If you want to accelerate your ability to make these connections, then you absolutely must organize your research notes! In this post, I described my four step process to organizing my notes, and the key principles behind my organization strategy. Check out the infographic summarizing the steps below. If you want more details on how I organize individual notes, check out my previous post.