The course starts with basic programming using Python, with some notes on other computing frameworks. Students then get acquainted with data manipulation and visualization using “numpy” and “matplotlib.” After learning how to define one’s own function, students learn iterative methods for solving algebraic equations and dynamic simulation of differential equations. The course also covers basic concepts in stochastic sampling, distributed computing, and software management. Toward the end of the course, each student will pick a problem of one’s interest and apply any of the methods covered in the course to get hands-on knowledge about how they work or do not work.
This course aims to provide students from non-computational backgrounds with the basic knowledge and practical skills for computational methods required today in almost all fields of science. Python is used as the standard programming language, but the concepts covered can be helpful also in using other computing tools for data analysis and simulation.
Students who have not gone through courses for advanced programming or scientific computing yet.
Prerequisite courses and assumed knowledge: Basic computer skill with Windows, MacOS, or Linux is assumed. Knowledge of basic mathematics, such as the calculus of vectors and matrices and the concept of differential equations, is assumed, but pointers for self-study are given if necessary.