This course is an introduction to useful python functionality in scientific research and engineering applications that is rarely taught rigorously in universities. It begins with an overview of required numerical libraries, such as NumPy and SciPy, and eventually moves on to techniques such as interpolation, curve fitting, and solving systems of differential equations. A heavy emphasis is placed on real world examples; datasets will be examined in lectures, and students will expand on the analysis of these datasets in the 5 thorough course assignments.
At the end of this course, you will feel comfortable using python as your preferred programming language in a research setting. In addition (and most importantly) you will have learned to properly interpret output, such as the error on parameters in curve fitting, and what an interpolated data point actually means.
Some datasets examined include: radioactive particle energy measurements obtained in a crystal detector, photon spectrum in a radiotherapy unit used to treat cancer patients, and photon attenuation data in a block of lead. In the differential equation section, we will look at solving the following systems of equations: the pendulum, projectile motion with friction, the Lotka Volterra equations, and finally (a question that combines most concepts of the course) dark matter evolution throughout the history of the universe.