EOSC 211 · Computer Methods in Earth, Ocean and Atmospheric Sciences

Mathematical computer-based problem solving in the physical, chemical, and biological sciences. Problems drawn from studies of the earth, the oceans and the atmosphere. [2-0-2]
Prerequisite: One of MATH 101, MATH 103, MATH 105, MATH 121, SCIE 001.

Course Availability & Schedule

Course Webpage

Course Availability and Wait Lists

This is a required course for many programs in EOSC, but is somewhat space-limited. In order to ensure that transfer students, 3rd year students, and students who cannot register during their normal enrollment dates (but need it for their program) still have access to this course, we set up enrollment limits to be artificially low with a large wait list. We then move students from the wait list into the course under a priority ranking (program requirement, program option, student desire, ordered by entry onto the wait list in each case) a week or so before the term starts. Final class size is usually 90.

Learning Goals

  1. Students will write computer programs to model and analyze data in the solid earth, atmospheric, and oceanographic sciences. This requires:
  2. Breaking problems into logical steps  using flowcharts and pseudocode to  specify algorithms.
  3. Writing and debugging MATLAB computer programs to correctly implement algorithms. 
  4. Modifying existing MATLAB computer programs, using the elements of good programming style, to make it more efficient, readable, and documented for future reuse.
  5. Creating scientifically informative and visually appealing plots (scatterplots, time series, contours, multiple subplots, legends).  


Instructors: Catherine Johnson; Rich Pawlowicz
TAs: Georgia Peterson, Samuel Stevens


Required reading: New for 2017: "MATLAB: A Practical Introduction to Programming and Problem Solving", Stormy Attaway, 4th edition, Elsevier, ISBN 978-0-12-804525-1, available UBC bookstore.

NB: The previous textbook (now no longer in print) was "Problem Solving Using MATLAB - EOSC211" (Custom text, ISBN 9780558883409).

Suggested reading (if you already know how to program): "Mastering MATLAB" by Duane C. Hanselman and Bruce L. Littlefield Prentice Hall.

Access to MATLAB is necessary. EOSC lab computers are preloaded with MATLAB and can be accessed with a $25 annual lab account fee. MATLAB can also be installed for free on the personal computers of UBC students.

Course Content

Course syllabus (pdf)

Lecture Topics

01 Course introduction 1 lecture
02 Steps in Problem Solving 2 lectures, 1 lab
03 MATLAB data structures: dealing with 1-D (time series) and 2-D (geographic) arrays. 2 lectures, 1 lab
04 Computer math  2 lectures, 1 lab
05 Algorithms: selection 2 lectures, 1 lab
06 Algorithms: loops/repetition 2 lectures, 1 lab
07 Review for midterm 1 lecture,  MIDTERM
08 Functions 2 lectures, 1 lab 
09 Debugging 2 lectures, 1 lab
10 Text formatting 2 lectures, 1 lab
11 Interpolation 1 lecture, 1 lab
12 Graphics 2 lectures
13 Review 2 lectures, REVIEW


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 .