Prerequisites for SIO 221 B


SIO 221B is the second quarter of the physical oceanography data analysis sequence.  You do not need to be a physical oceanographer to enroll in the course, but you should have some mathematical background.   If you can't answer the questions indicated with bullets, then you probably will need to plan on spending time reviewing this material before the start of SIO 221B.

Prerequisite 1:  SIO 221A or previous experience with Fourier Transforms

Resources for Fourier transforms: 
Bendat and Piersol,
Bracewell,
Matlab manual,
Numerical Recipes,
any complex variables textbook.

Prerequisite 2:  Differential, Integral, Vector Calculus

Resources for calculus: 
undergraduate calculus textbooks.

Prerequisite 3:  Linear Algebra

If you have not had an undergraduate level course in linear algebra, then you may find SIO 221B difficult.  You are permitted to enroll, provided that you are prepared to devote time (equivalent to taking another course) to mastering the fundamentals of linear algebra.
Resources for linear algebra:
 
Strang, Linear Algebra and Its Applications, Academic Press, or any other textbook
links and exercises in Gilbert Strang's web site for his undergraduate linear algebra class:  http://web.mit.edu/18.06/www/
Matlab manual,
Linpack/Lapack manual,
tutorial websites (see for example http://www.math.duke.edu/education/ccp/materials/linalg/index.html)
some textbooks with Matlab exercises (suggested by the Mathworks)
-- ATLAST Computer Exercises for Linear Algebra http://www.mathworks.com/support/books/book1347.jsp
-- Linear Algebra LABS with MATLAB, 2e http://www.mathworks.com/support/books/book1341.jsp
-- The MATLAB Project Book for Linear Algebra http://www.mathworks.com/support/books/book1352.jsp

Prerequisite 4:  Programming 

Matlab and python are the software packages that students most often use for this course, but you are free to choose any software package or combination of packages that you like, provided that you can carry out computations, invert matrices, and plot results.  Some other computational options:
Octave: a freeware imitator of Matlab, uses almost the same commands.   (http://www.octave.org/)
Scilab: another freeware imitator of Matlab (http://www-rocq.inria.fr/scilab/)
Fortran, c, or c++:  compiled languages.  Run faster than Matlab for some applications,
Julia: Offers some of the efficiencies of a compiled language with the structure of python.
Lapack/linpack:  Fortran-based matrix inversion packages. (http://www.netlib.org/lapack/)
csh, awk, perl:  Non-compiled scripting languages.  Sometimes very efficient for transforming columns of numbers.  (Not good for matrix inversion.)
GMT:  Generic Mapping Tool.  Free unix command-line software developed for geophysical graphics. (http://gmt.soest.hawaii.edu/)
Matlab is available through UCSD's site license.

If you aren't comfortable with Matlab or Python (or the software package of your choice) work through its tutorials before the end of the first week of class.  You'll need some experience to tackle the first problem sets.

Sarah Gille, December 2002, updated January 2023.  
Back to SIOC 221B web site.