EOSC 211 - Computer Methods in Earth, Ocean and Atmospheric Sciences
Course Description
Mathematical computer-based problem solving in the physical, chemical, and
biological sciences. Problems drawn from studies of the earth, the oceans
and the atmosphere.
UBC Calendar
For a full listing of course offerings please see the UBC
calendar description
Learning Goals
By the end of this course, you should be able to:
- understand the principles of programming, and be able to recognize good programming style
- write simple programs in MATLAB using good style
- understand the principles of visual presentation
- make scientifically informative plots of different kinds of data
- perform a number of tasks useful for computational problem solving in Earth Sciences.
Instructors
Rich Pawlowicz, Phil Austin
TAs: Olivier Riche & Jean-Francois Guertin
Textbook
Required reading: "Problem Solving Using MATLAB - EOSC211" (Custom text, ISBN 0536195978, available UBC bookstore)
Suggested reading (if you already know how to program): "Mastering MATLAB 7" by Duane C. Hanselman and Bruce L. Littlefield Prentice Hall, 2004, ISBN: 0131430181
This course will require access to MATLAB, which can be purchased from the UBC bookstore by students for their personal laptops, or is available in the EOSC computer lab on payment of the annual lab account fee ($25).
Course Content
Course Information (pdf)
Link to lecture notes/labs/assignments
Lecture Topics
More details on lecture / lab topics here (pdf)
| WEEK | TOPIC | WEEK CONSISTS OF... |
|---|
| 01 | Course introduction | 2 lectures |
| 02 | The MATLAB environment: how to load, save & display data. Using Matlab "help". | 2 lectures, 1 lab |
| 03 | MATLAB data structures: dealing with 1-D (time series) and 2-D (geographic) arrays. | 2 lectures, 1 lab(1%) |
| 04 | Computer math & programming style: analyzing data sets. | 2 lectures, 1 lab(1%) |
| 05 | Programming Control Structures: how to develop algorithms, debugging and testing strategies. | 2 lectures, 1 lab(1%), Assignment 1 due (10%) |
| 06 | MATLAB syntax and structures: implementing algorithm development | 2 lectures, 1 lab (1%) |
| 07 | More sophisticated i/o. Review for midterm. | 1 lecture, 1 lab (1%), MIDTERM (15%), Assignment 2 due (10%) |
| 08 | Procedural Abstraction | 2 lectures, 1 lab (1%) |
| 09 | Advanced Plotting | 2 lectures, 1 lab (1%), Assignment 3 due (10%) |
| 10 | Software Design: Efficiency, designing for readability. | 2 lectures, 1 lab (1%) | |
| 11 | What makes a nice plot?
| 1 lectures, no lab, Assignment 4 due MONDAY (10%) |
| 12 | Matrix Algebra and MATLAB: modeling data, | 2 lectures, 1 lab (1%) |
| 13 | Curve-fitting | 1 lecture, 1 lab (1%), REVIEW for final exam (25%), Assignment 5 due (10%) |
Labs
Labs will cover practical issues associated with the week's topic, and will usually require some time in addition to the scheduled time slot. Most labs will require submittal of code for run-testing .