This tutorial will give participants an introduction to the use of IPython notebooks in teaching numerical methods or scientific computing, at the level of an undergraduate or graduate university course. Prior familiarity with notebooks is not necessary. Participants will create an interactive notebook that explains and helps students to implement and explore a numerical algorithm.
This tutorial is targeted to those who are or soon will be teaching numerical methods or scientific computing and are interested in using Python as the programming language for their course. The tutorial will be useful both to academics teaching university courses and those in industry who run training sessions. No prior knowledge of the IPython notebook is necessary, but participants should have some familiarity with Python, Numpy, and Matplotlib.
IPython notebooks are an excellent medium for teaching nuemrical methods since they can include both mathematical explanations and executable code in a single document. The tutorial will begin with an introduction to the IPython notebook, emphasizing how to overcome aspects that can be confusing to students. Next we will go over available free resources for
We will also review a number of excellent existing resources containing IPython notebooks for numerical methods courses. Using these notebooks as examples, we will discuss how to design effective notebooks for teaching, including
We will briefly discuss different approaches to using IPython notebooks in a course, including their use as the basis for
Finally, participants will be asked to develop, individually or in small groups, a notebook of their own that could be used as an assignment, classroom exercise, or lecture.