SSBW - Jupyter Tutorial 1: Interacting with an Online Jupyter Notebook

Mike Brudzinski, Miami University-Oxford

Author Profile

Summary

In this interactive tutorial built for a learning management system, students 1) practice using basic Python syntax, 2) use a Jupyter notebook interface to interact with code created by someone else, 3) edit code in a live Jupyter notebook to adjust the purpose, 4) perform mathematical calculations and text string manipulations, 5) create functions, loops, and if/then/else statements in the code, and 6) Use the Scientific Python Ecosystem (NumPy, SciPy, Matplotlib, pandas)

Used this activity? Share your experiences and modifications

Context

Audience

The IRIS Seismology Skill Building Workshop (SSBW), which is a free, online, open-access, large-enrollment, 12-week summer workshop for upper level undergraduates.

Skills and concepts that students must have mastered

This assignment builds on prior experience using basic Python command syntax and variables, a basic understanding of arrays and functions, basic use of NumPy and matplotlib functionality for making simple plots, and the ability to retrieve relevant information about programming and seismology from internet research or help pages.

How the activity is situated in the course

This is assignment number 31 of 35 in the Seismology Skill Building Workshop (SSBW).

Goals

Content/concepts goals for this activity

Proficiency with interactive Jupyter notebooks, Python, mathematical calculations and text string manipulations, loops and if/then/else statements, NumPy, SciPy, Matplotlib.

Higher order thinking skills goals for this activity

Retrieving relevant information from digital sources to accomplish tasks, using correct programming syntax, evaluating and describing computing output in the context of science concepts, evaluate error messages to identify and fix problems in code.

Other skills goals for this activity

Description and Teaching Materials

1. Open an interactive Jupyter notebook from the Seismo-Live website on the Binder cloud hosting site
2. Learn about the different features in the Jupyter notebook creation environment
3. Execute basic Python code built into a live Jupyter notebook
4. Edit code in a live Jupyter notebook to adjust the purpose
5. Perform mathematical calculations and text string manipulations
6. Define and use functions to subdivide a series of tasks within a set of code
7. Use for loops and if/then/else statements to control the flow of a program
8. Evaluate error messages to identify and fix problems in their code
9. Use the Scientific Python Ecosystem (NumPy, SciPy, Matplotlib, pandas)

 

Teaching Notes and Tips

This assignment was constructed in the Moodle learning management system, and has been exported in the GIFT format. More information about the syntax of this format can be found here: https://docs.moodle.org/en/GIFT_format

Assessment

This assignment is automatically graded by the learning management system. The number of questions of each type used are:
22 multiple choice questions
5 multiple answer question
4 numeric questions (output values, quantifying output)

References and Resources

During the Seismology Skill Building Workshop, students are provided with a virtual Linux machine that was tailored to include the software specifically needed to complete the assignments. This software is all freely available on the internet, but interested parties are encouraged to contact the instructor for access to this tailored virtual machine.