Introduction to Scientific Computing.   Instructor: Dave Feldman
College of the Atlantic

This is an introductory programming class emphasizing programming techniques and ideas that arise in scientific computing. We will begin with a quick overview of the python programming language, including control statements, input/output, and user-defined functions. The rest of the course will be structured around a series of case studies designed to teach additional programming skills and illustrate different ways that coding is used in the sciences and social sciences. These case studies will include: solving systems of ordinary differential equations, stochastic modeling, resampling and bootstrapping, and agent-based models. If time permits, additional case studies may include: networks, text analysis, and spatial models. Throughout, program design and general principles for effective scientific coding will be emphasized.

Students who successfully complete this class will gain an understanding of the basic elements of the python programming language as well as scipy and numpy, two packages whose use is ubiquitous in scientific computing. Students will learn how to develop, implement, and test code for a variety of applications across the natural, physical, and social sciences. This class is not recommended for students interested in a general introduction to the principles of computer science, nor is it recommended for students interested in applications outside of the sciences.

Evaluation will be based on weekly programming exercises.

While not strict pre-requisites, coursework in calculus or statistics will be helpful. Prior programming experience is not necessary. Enrollment by permission of instructor only.

Class size limited to 15. *QR* *ES*. Intermediate. No lab fee.