Successful completion of PY 355 satisfies the following HUB units by meeting each of their respective learning outcomes (LO).
The course develops mathematical (pen and paper) and computational (scientific Python) skills for analyzing a large range of complex physical phenomena (LO1). Many of the methods developed are applicable more broadly in the sciences and society (LO2). Numerical programming tasks include exploratory components which require the quantitative analysis of generated data (LO3) and the consideration of sources of error and limitations of the techniques (LO5). Both through homework, exams and in class discussions, students will communicate using mathematical symbols, numbers and equations and by a wide variety of visualizations, including plots, density plots, contour plots, quiver and stream plots of vectorial information, 3D surface plots and animations. Students are expected to clearly convey physical situations and solutions by these visualization methods using both manual sketches and computer generated plots (LO4).
A major focus of the course is how to analyze and correspondingly visualize complex physical phenomena in ways which clearly communicate and provide insight into those phenomena. Through the Python-based scientific computing modules, students will learn to produce a wide array of visualizations for quantitative physical data, ranging from the venerable graph of a curve to 3D interactive visualizations and animations. These visualizations will then be used as evidence that numerical or physical phenomena are governed by appropriate mathematical laws (LO1).
The course teaches both practical methods for producing visualizations for communication of scientific data (through the internet or the printed page) using Python and, more importantly, how to choose the most useful and effective visualizations for the type of data (for example, how to effectively project high dimensional phenomena to the 2d page, 3d interactive visualization or animation) (LO2)
Basic principles of good scientific visualization will be taught and expected of all sketched and computationally generated plots. These include: clear labeling, effective use of whitespace, color and grids, effective choice of plot type, when interactive or animated visualizations should be generated, etc (LO3).