Jupyter Notebooks, which allows one to combine narrative and computational content in the same document.
Jupyter Notebooks are runnable, meaning that students can edit them, interact with them, and generally explore with them live.
Jupyter notebook is an open source web application that is a game changer for data scientists and engineers. A simple web UI that makes it simple to create and share documents that contain live code, equations, visualizations and narrative text. The Jupyter notebook has now evolved into JupyterLab. This new web-based interactive development environment takes Jupyter notebooks to a whole new level by modularizing the environment making it easy for developers to extend the platform and adds new capabilities like a console, command-line terminal, and a text editor.
It's important to realize the Jupyter is a layer on top of Python itself. It's not necessary to write python, or to run data science/analytics projects. But it's a great in educational settings because it can help in telling the story of your data and provide context around the story using Markdown