Course code:

ES3077

Level:

M - Intermediate

Class size limit:

15

Meets the following requirements:

  • QR - Quantitative Reasoning
  • ES - Environmental Science

Typically offered:

Upon occasion

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.

Level: Intermediate. Prerequisites: While not required, coursework in calculus or statistics will be helpful; prior programming experience is not necessary. Permission of instructor required. Class limit: 15. Lab fee: None. Meets the following degree requirements: QR, ES

Prerequisites:

While not required, coursework in calculus or statistics will be helpful; prior programming experience is not necessary. Permission of instructor required. 

Always visit the Registrar's Office for the official course catalog and schedules.