Skip to main content

Discussion 1

Learning Objectives

  • Understand the difference between an environment and a directory
  • Understand the basics of git and GitHub
  • Understand the basics of working with third-party libraries
  • Understand the basics of reading documentation for third-party libraries
  • 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