  Computational notebooks allow data scientists to express their ideas through
a combination of code and documentation. However, data scientists often pay
attention only to the code, and neglect creating or updating their
documentation during quick iterations, which leads to challenges in sharing
their notebooks with others and future selves. Inspired by human documentation
practices from analyzing 80 highly-voted Kaggle notebooks, we design and
implement Themisto, an automated documentation generation system to explore the
Human-AI Collaboration opportunity in the code documentation scenario. Themisto
facilitates the creation of different types of documentation via three
approaches: a deep-learning-based approach to generate documentation for source
code (fully automated), a query-based approach to retrieve the online API
documentation for source code (fully automated), and a user prompt approach to
motivate users to write more documentation (semi-automated). We evaluated
Themisto in a within-subjects experiment with 24 data science practitioners,
and found that automated documentation generation techniques reduced the time
for writing documentation, reminded participants to document code they would
have ignored, and improved participants' satisfaction with their computational
notebook.
