Jupyter Notebook provides a web-based interface for student to run code. Assignments are completed within a single notebook, with code and plots inline. Unfortunately, while students can install Python and Jupyter Notebook for free on their own computers, the different versions, combinations of packages, and operating systems make standardization difficult. A notebook that worked on one computer might not on another. Before the server, students were often working on their own computers and thus had to move files between computers (e.g., email, USB keys, scp) to share their code or submit assignments. Another problem was that some of the large datasets crashed students' laptops.
The Jupyter server fixed these issues. Students need only a web browser (and a VPN connection if off campus) to log in. Everyone is using the same environment. To submit assignments, students simply place their final versions in the homework folder; they can easily look at what other students have done; and the instructor can troubleshoot notebooks remotely. Additionally, the server is significantly faster. Students appreciated these advantages, such that all of them switched over to the server within one week of its coming online.
This presentation will provide examples notebooks and highlight lessons learned over the four years of teaching this course using the server, including useful Notebook extensions and file management strategies. Lab and Homework assignment notebooks are available on Github at https://github.com/karenshell/climate-data-class.