← All projects

Teaching

Teaching reproducible Python workflows

An introductory demo I prepared as a data engineering TA, covering virtual environments, testing, Makefiles, Docker, and GitHub Actions.

Duke · IDS 706 teaching materials

PythonpytestDockerGitHub Actions

The goal

How can a small Python example help students practice the tools around their code? The program itself prints a welcome message, leaving room to focus on setup, tests, containers, and automation.

My part in the project

I prepared the demo for my role as a teaching assistant for IDS 706: Data Engineering Systems.

What I prepared

  • Kept the Python application small and added a test suite and Makefile.
  • Included a Dockerfile and a GitHub Actions testing workflow, with setup instructions for different operating systems.
  • Published an accompanying web demo. A separate containerization example uses a city-weather analysis to demonstrate a reproducible project structure.

Results & discussion

The materials give students a small project to work through while learning how to test and run their code consistently. The repository includes the setup instructions and example files.

Limitations

This is an introductory exercise. The application is intentionally small so students can concentrate on setup, tests, containers, and automation.

Teaching demo prepared by Ammy Lin for IDS 706 at Duke University.

For the code and full project details, see the project repository.