A notebook interface (also called a computational notebook or data science notebook) is a virtual notebook environment used for literate programming. It pairs the functionality of word processing software with both the shell and kernel of that notebook's programming language. Millions of people use notebooks interfaces to analyze data for science, journalism, and education.
The notebook interface was first introduced in 1988 with the release of Mathematica 1.0 on the Macintosh. It was followed by Maple in 1989 when their first notebook-style graphical user interface was released with version 4.3 for the Macintosh. As the notebook interface increased in popularity over the next two decades, kernels/backends to notebooks for many languages were introduced, including MATLAB, Python, Julia, Scala, SQL, and others.
Notebooks are traditionally used in the sciences as electronic lab notebooks to document research procedures, data, calculations, and findings. Notebooks track methodology as to make it easier to reproduce results and calculations with different data sets.
In education, the notebook interface provides a digital learning environment, particularly for the teaching of computational thinking. Their utility for combining text with code makes them unique in the realm of education.
Example of projects or products of notebooks:
- Mathematica notebook
- Maple worksheet
- MATLAB notebook
- R Markdown
- Apache Zeppelin
- Apache Spark Notebook
- Databricks cloud.
- Mozilla Iodide
- Standage, Daniel (2015-03-13). "Literate programming, RStudio, and IPython Notebook". BioWize. Wordpress. Retrieved 2016-12-01.
- Jupyter, Project. "JupyterLab is Ready for Users". Retrieved 30 May 2018.
- The ReDiscovered Future (2016-04-04), Macintosh + Mathematica = Infinity - April 1989, retrieved 2016-11-23
- Hayes, Brian (1990). "Thoughts on Mathematica" (PDF). PIXEL. January/February 1990: 28–35.
- "Launching Wolfram Player for iOS—Wolfram". Retrieved 2016-11-23.
- "MTN Special Issue 1994". web.mit.edu. Retrieved 2016-11-23.
- "The Rise of Data Science Notebooks". Datanami. 2016-05-04. Retrieved 2016-11-23.
- "The IPython notebook: a historical retrospective". blog.fperez.org. Retrieved 2016-11-23.
- Barr, Valerie; Stephenson, Chris (2011). "Bringing computational thinking to K-12: what is involved and what is the role of the computer science education community?".
- "How to Teach Computational Thinking—Stephen Wolfram". blog.stephenwolfram.com. Retrieved 2016-11-23.
- Databricks (2015-07-06), Spark Summit 2015 demo: Creating an end-to-end machine learning data pipeline with Databricks, retrieved 2016-11-23
- Andrews, Ian (2016-03-30). "Delivering information in context". O'Reilly Media. Retrieved 2016-11-23.
- "jupyter-incubator/dashboards". GitHub. Retrieved 2016-11-23.