A self-paced, 2-day equivalent course designed for analysts, data scientists, and engineers who rely on Jupyter Notebooks for real work- not just experimentation.
This course is asynchronous. Enrollment for this self-paced course is offered on a rolling basis and may be started at any time beyond May 13, as there are no live instructor-led sessions or scheduled meeting times. Learners will receive full access to all course materials and the resource platform within 1 - 4 business days of paying the course payment invoice. Learners may complete the program at their own pace within 60 days of their access date.
Why This Course Matters:
Reproducibility isn’t just good hygiene; it’s how your work scales beyond a single machine and a single analyst.
Jupyter Notebooks are powerful, but without discipline they quickly become hard to rerun, are fragile to environment changes, and nearly impossible for teammates to reuse.
If you share notebooks with others, or expect to, Jupyter & Reproducible Workflows will teach you how to make them trustworthy, reusable, and production aware.
This course helps you:
-
Turn exploratory work into reliable workflows
-
Avoid hidden environment “gotchas”
-
Make your future self (and your teammates) grateful for clean structure and logs
-
Lay the groundwork for team-ready, production-conscious notebook practices
Who Should Attend:
This course is ideal for:
-
Data analysts & data scientists working heavily in notebooks
-
Machine learning engineers and researchers prototyping in Jupyter
-
Intelligence or mission analysts using notebooks for repeatable workflows
-
Developers transitioning from ad-hoc notebooks to team-ready code
-
Any technical professional tired of “it used to work, I don’t know what changed”
Scope Statement:
Jupyter & Reproducible Workflows is a self-paced, 2-day equivalent course designed for analysts, data scientists, and engineers who rely on Jupyter Notebooks for real work- not just experimentation.
Across eight focused modules, learners absorb how to design, build, and share reproducible workflows using Jupyter. The course walks through reproducibility principles, environment setup, dependency pinning, parameterization, lightweight testing, provenance logging, and minimal Continuous Integration (CI) concepts.
Through guided exercises, example notebooks, and a practical capstone, learners move from “it works on my machine” to notebooks that teammates can rerun with consistent, verifiable results.
The course ends with a hands-on exam-style capstone where learners fix and improve an existing notebook to meet best practices for reproducibility.
During this course, you will gain the skills to:
Design Reproducible Jupyter Workflows
-
Explain the core elements of a reproducible notebook workflow.
-
Configure environments so notebooks run consistently across machines.
Manage Environments & Dependencies
-
Create isolated Python environments.
-
Install and pin dependencies.
-
Export and rebuild environments from requirements files.
Parameterize & Reuse Notebooks
-
Understand why parameterization matters for repeatable runs.
-
Add basic parameters to support different inputs and configurations.
-
Use tools like Papermill concepts to support batch execution and templating.
Add Lightweight Tests & Guards
-
Apply simple tests and assertions to catch regressions in workflows.
-
Move repeated logic into small functions for easier debugging and reuse.
Convert Notebooks for Team Handoff
-
Convert notebooks to scripts or HTML reports.
-
Package reusable code into small modules.
-
Assemble handoff bundles with requirements and clear run instructions.
Log Provenance & Results
-
Generate reproducibility logs that capture inputs, parameters, versions, and outputs.
-
Treat notebooks like code by using version control and clean, rerunnable states.
Understand Minimal Continuous Integration (CI) Concepts
-
See how linting, tests, and simple CI workflows can keep notebooks reliable over time.
-
Connect local quality habits to automated checks used in team environments.
Course Format:
This self-paced course is designed to be completed in roughly 2 days of focused effort. However, you can learn at any pace that fits your needs, putting you in complete control of your learning schedule.
-
8 instructional modules with PPT-based explanations and worked examples
-
Hands-on Jupyter exercises using provided .ipynb notebooks and project structure
-
Command-line practice for environment and dependency management
-
Incremental build-up from hygiene and structure → parameterization → logging → minimal CI
-
A capstone notebook where learners pull all skills together into a single, reproducible workflow
- Learners are given a notebook with deliberate issues and gaps in reproducibility.
- The task is to fix errors, improve environment handling, add parameters, add basic tests, and implement reproducibility logging.
- Success is measured by whether the improved notebook runs cleanly end-to-end, produces consistent results, and is clearly documented and reproducible by others
Knowledge & Technology Competencies:
-
A PC or laptop capable of accessing the supplied virtual environment
-
Basic familiarity with Python and Jupyter Notebooks (executing and editing cells, and basic Python syntax)
-
Ability to interact with the supplied virtual environment
-
Basic familiarity with navigating files and working with course-provided notebooks
All required exercise notebooks, starter files, directory structures, and the virtual environment are provided.
