On this page
Learning Objectives
Environment Setup using uv (recommended) or conda (also ok)
Go through the README for uv: https://github.com/astral-sh/uv
You can teach conda as an alternative to uv
Explain the difference between an environment (collection of libraries and configuration) and a directory (a path in the filesystem). Information about environments may be stored in directories, students should be aware that you can be "in an environment" without being in that directory.
Jupyter Notebooks
What's the difference between a Jupyter Notebook and a Python script?
Students should understand the following concepts:
Code cell
Markdown cell
Cell execution
Cell output
Kernel, when and why one might restart the kernel
git and GitHub basics
Go through git and GitHub basics
What's the purpose of git? What does it do?
What's the purpose of GitHub? What does it do?
Students should be able to:
Create a repository
Make a commit
Push their changes to GitHub
Open a PR
Merge a PR
You can give an overview of these concepts and give students directions on how to learn more.
Working with third-party libraries
Go through an example of reading documentation for third-party libraries.
Some students have taken a machine learning or data analysis class, but may have not.
Options for third-party packages include: scikit-learn, numpy, pandas, or python builtins like datetime
Show students what is typically included in software documentation:
Class and method signatures and descriptions
Reiterate that a signature describes the input-output behavior of some black box (a method or function in programming, or a function in mathematics)
Code snippets & examples
Examples of Artificial Intelligence Projects
Go through a few sources of resources for artificial intelligence projects:
Kaggle
Hugging Face
Data.gov