Support material for an introduction to using Jupyter to teach computer programming.
This repository contains Jupyter notebooks and other material intended to help teach "how to use Jupyter for teaching programming". The intended audience for the course are the "master teachers" participating in the Simons Foundation Math for America program.
From the Jupyter.org web site: "The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more." ... and they forgot to mention it's a great tool for teaching programming.
This course will show by example how to use Jupyter to teach basic concepts of Python programming. The course
- walks through some example notebooks which teach programming concepts by demonstrating them in action.
- discusses advantages, disadvantages, and technical characteristics of the Jupyter infrastructure which relate to educational uses.
- discusses different ways of deploying Jupyter and Jupyter notebooks.
Resources A Python quick reference card.
Note: For sharing temporary information with the class cl1p.net provides a useful temporary clipboard service.
In order to actively run the material in the notebooks discussed in the course you should either
Install Jupyter/Python/git locally and "clone" this repository as described below, or
Run using Binder "in the cloud". For best results you will need to authenticate as a Google user to use our Binder. You can also use the public Binder, but you may have performance problems (linked above in the binder image).
Either way please verify that everything is working in your environment by navigating to the validation notebook
notebooks/validation test.ipynband executing each of the cells of the notebook.
NOTE: The hardest thing about Jupyter is that you must use "Shift-enter" to execute a cell!
To install locally it is best to use the Anaconda distribution. The conda installations and some of the other installation steps can take a few minutes to execute. Below is the procedure I recommend:
Get the Python 3 Anaconda distribution for your platform. Install using "single user mode". If the install asks to change your "path" allow the change.
Open a "terminal window" so you can use command lines. On MS/Windows open the "anaconda prompt" you can find using the start menu. On Apple/Mac use Applications/Utilities/Terminal.
In the terminal install git using the conda command line:
conda install git
(optional) make a directory for storing install files and change to that location.
Use git to clone this repository to your machine:
git clone https://github.com/flatironinstitute/mfa_jupyter_for_programming.git
Go into the repository:
Install the requirements for the repository:
conda env update -f environment.yml
Run the Jupyter notebook server:
When you are done you can stop the Jupyter server by sending 2 control-C's to the terminal.
What did I just install?
Anaconda is a professional programming environment with associated tools widely used in academia and industry.
gitis the dominant method for managing software repositories.
The environment update added a bunch of other functionality used in the course.