Purpose:
The purpose of this lab resource is to explore some of the basics of Jupyter notebooks while having a discussion about the value of simplification in physics models. The tools I used in creating the notebook, (Toast2.0 on the Software Resource page), that we will explore in this lab are the same ones that you will use for your Getting Started Lab. Download the .zip file, unpack it, and save it somewhere as a reference notebook.
Procedure:
1) We will begin with a discussion of how one approaches the question of simplification. What is a more manageable version of toast sliding off the edge of the table? What are the parameters or features of the problem that are probably relevant but add complexity to the problem? Is there a version of the problem which is too simple in the sense that the meaning of the problem is lost?
How would you apply these ideas to the question of trying to explain how Megan Rapinoe bends the soccer ball around the line of defenders to score on a direct free kick?
What is another problem in the real world that, at least initially, seems to have too much complexity to be solvable?
2) Now that we have some sense of why I'm considering such a simple version of the toast problem we'll open up the Jupyter notebook called Toast2.0 (because 1.0 was a mess and I left it behind!).
3) We will begin by illustrating how you create a cell in a notebook and how you identify it as a markdown (text) or code (python) cell. We will also discuss the basic features of how and when you 'run' the cell.
4) We will explore the markdown cells in this notebook to understand the various ways in whcih we can control the formatting and presentation of the text. This includes creating active links, python code fragments, math formulae, greek symbols, and headers. We will also discuss how to search for tools to do things you want to do that I haven't discovered yet.
5) Finally, we will go through some very basic python operations including basic math, asignment of variables, and printing output. Along the way we will discuss some crude ideas about how all computer codes work. We will save it for next time to actually start exploring the code I wrote in this notebook. You have a week to demonstrate that you have a plan for creating and running jupyter notebooks as well as creating a little text and math in a markdown cell and do some simple operations in a code cell.
- Model Outcomes:
1) Simplification: You have some ideas about how to simplify complex problems without going so far as to throw the baby out with the bath water.
2) Jupyter notebook: You can open a notebook and create markdown and code cells. You can also close a Jupyter notebook politely.
3) Markdown language: You can write some text, create headers/titles, and embed math expressions in your markdown cell.
4) First steps with python: You can convince python to do some simple operations with blowing up or biting you. You can use the print statement to tell you what python thinks is going on inside the code. You don't freak out when you get an error message!