Introduction to Scientific Computing
To gain knowledge and skills of computing required in any field of science today
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 methods for solving algebraic equations, simulation of differential equations. and stochastic optimization. The course also covers topics of software and data 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 experience of how they work (or fail). Successful students will have acquired basic knowledge and skills in programming in Python, data analysis and visualization, simulation, optimization, and management of data and software.
This course targets students from non-computational backgrounds.
1 Introduction to Python
2 Visualization
3 Vectors and matrices
4 Functions and classes
5 Iterative computation
6 Ordinary differential equation
7 Partial differential equation
8 Stochastic methods
9 Optimization
10 Software management
11 Project presentation
Exercise reports (75%): submitted within one week from each exercise session.
Project presentation and report (25%): at the end of the course.
Basic skills of computer use.
Familiarity with linear algebra and basic differential equations is assumed, but the course aims to help intuitive understanding of such mathematical concepts by computing and visualization.
The Python Tutorial (https://docs.python.org/3/tutorial)
Kenji Doya (2023) Introduction to Scientific Computing (https://oist.github.io/iSciComp)
Linge S, Langtangen HP (2016) Programming for Computations – Python. Springer. (https://doi.org/10.1007/978-3-319-32428-9)
Deisenroth MP, Faisal AA, Ong CS (2020) Mathematics for Machine Learning. Cambridge University Press. (https://mml-book.com/)
NEW for AY2024