# Python Environment Setup: Video Breakdown
## Video 1: About Python, Git, and Jupyter Notebooks
This video should include information about different Python versions, which version we will be using for the course, revision control via git, and a basic description of Jupyter notebooks.
## Video 2: Windows Setup - Terminal
This video should describe the Windows pre-installed terminal (cmd), the new Windows Terminal preview app, PowerShell, and WSL.
## Video 2: Windows Setup - Python Installation
This video should show the appropriate location to download the Python installer as well as the suggested options to use during installation. The video should also include information on verifying installation of pip and that paths are correctly setup.
## Video 3: Windows Setup - Git Installation
This video should show the appropriate location to download the Git for Windows installer as well as suggested options to use during installation. This video should also include configuration of git thereafter (user.name and user.email).
## Video 4: Windows Setup - Jupyter Installation
This video should show the process of using pip to install jupyter and a quick verification to see that it was installed correctly.
## Video 5: Mac OS Setup - Python Installation
Similar to Windows.
## Video 6: Mac OS Setup - Git Installation
Similar to Windows.
## Video 7: Mac OS Setup - Jupyter Installation
Similar to Windows.
## Video 8: Linux / BSD Setup - Python Installation
Similar to Windows.
## Video 9: Linux / BSD Setup - Git Installation
Similar to Windows.
## Video 10: Linux / BSD Setup - Git Installation
Similar to Windows.
## Video 11: Getting Started - Writing Python
This video should demonstrate a few options for writing and editing Python files and show examples of editing files and saving them. Perhaps demonstrate basic workspace organization and structure.
## Video 12: Getting Started - Running Python
This video should demonstrate a few options for running Python scripts, including as arguments passed to the python binary as well as having shebangs and executable file permissions. Perhaps even demonstrate execution from within an editor like vscode.
## Video 13: Getting Started - The Python REPL
This video should explain the purpose of the Python REPL and how it could be used to quickly prototype or try out small bits of logic.
## Video 14: Getting Started - PIP and third-party packages
This video should explain the purpose of PIP and demonstrate its usage to install some of the packages commonly used in cadCAD work.
## Video 15: Getting Started - Using Jupyter Notebooks
This video should explain how to start a Jupyter Notebook server and basic navigation / usage of the UI. We should also note any UX 'gotchas' here for students to be aware of.
## Video 16: Getting Started - Git Basics
This video should quickly demonstrate how to clone a project from github, how to create and initialize a new repo, how to create a work branch, commit, and push changes to a server (GitHub). This will be one of our longer videos, I think.
## Video 17: Getting Started - Virtual Environments
This video should demonstrate how to create, view, delete, and use virtual environments via venv.