This lesson is being piloted (Beta version)

Better Documentation

Have you ever been handed a piece of legacy code to use or maintain, only to find that there is little to no documentation? How long have you spent trying to decompose and understand its functionality?

In this lesson, students will learn about the different types of software documentation, as well as how to write it well and tools to enable better documentation habits.


  • Basic understanding of git
  • git (installed locally)
  • Basic understanding of python
  • Python 3.7+ with pip (installed locally)
  • Text editor
  • GitHub account
  • Copy of INTERSECT Day 2 Template


Setup Download files required for the lesson
00:00 1. Introduction What is software documentation?
Why do we care about it?
What are the challenges?
00:10 2. Types of Software Documentation What are the different types of software documentation?
How do the types differ?
00:20 3. Documentation Better Practices How does bias affect documentation?
What are better practices for software documentation?
00:50 4. Documentation in Practice What does developer documentation look like in practice?
What does user documentation look like in practice?
01:05 5. Documentation Tools What tools enable better documentation?
What tools can streamline the documentation process?
01:30 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.