- Understand the concept, importance, and components of reproducible research
- Define reproducible research
- Name four ways that reproducible research practices can help you in your own work.
- Name & describe the four facets of reproducible research
- Explain advantages of using Jupyter Notebooks/Python for implementing reproducible practices
- Be able to describe the architecture/components of a Jupyter notebook service/application/environment
- Describe components of the wider Jupyter ecosystem (draw a diagram?)
- Other Languages that interface with Jupyter
- Extending notebooks
- IPyWidgets: Interactive components within the notebook
- Outputs: Slides, PDFs, html format
- Alternative User Interfaces: (API Manager, Dashboard Server → https://github.com/jupyter-incubator )
- Identify and describe the components of a Jupyter notebook service: web interface, ipynb/JSON notebook format, programming language kernel, Jupyter server
- Describe components of the wider Jupyter ecosystem (draw a diagram?)
- Be able to use a single Jupyter notebook effectively
- Access a Jupyter notebook environment Either: install a Jupyter environment from scratch Or: access an online Jupyter notebook environment
- Manage a running Jupyter notebook server application (/tree page): notebook listing, running kernels, terminal
- Use the browser interface interface to an individual Jupyter notebook effectively:
- Understand the functions notebook tabs (File, Edit, View, Insert, Cell, Kernel, Help)
- Execute and modify cells:
- Insert & delete cells
- Change cell type (& know different cell types)
- Run a single cell from taskbar & keyboard shortcut (shift + Enter)
- Run multiples cells, all cells
- Re-order cells
- Split & merge cells
- Stop a running cell
- Use Jupyter notebook keyboard shortcuts effectively: Shift + Enter → run a cell
- Kernel management Clear and restart a kernel Know which kernel you are running on
- Use a Jupyter notebook to create a document that combines text, code and executed code output:
- Use Markdown cells to: generate rich text, demonstrating: headings, lists, embedded images, code formatting embed media objects: images, video, audio
- Use code cells to:
- execute code fragments
- create rich outputs: tables, images
- perform command line operations: use the ! operator
- display documentation and help files: use the ? operator
- list variables, functions, and modules in your notebook (%whos)
- Be able to access the wider Jupyter community
- Identify 2+ resources (online or a local group) you can use/ask questions as you learn & develop your Python research project.
- Jupyter Google Group
- GitHub repo, gitter etc?
- Identify 2+ resources (online or a local group) you can use/ask questions as you learn & develop your Python research project.