MA 332 -- Introduction to Computational Science


Click here for official course description

According to Wikipedia (which we all know is completely trustworthy),
Computational science (or scientific computing) is the subfield of computer science[citation needed] concerned with constructing mathematical models and quantitative analysis techniques and using computers to analyze and solve scientific problems.In practical use, it is typically the application of computer simulation and other forms of computation from theoretical computer science to problems in various scientific disciplines.

In this case, the Wikipedia entry is pretty accurate. Scientific computing concerns itself with the practice of implementing mathematical models. Interested in computing heat flow across a steel plate? Interested in fluid flow around an aircraft? Interested in computing the position of planets after thousands of years? These all come down to computational science.

This course is intented as an introduction to the field of computational science and the basic tools of the trade. We will use the book Scientific Computing with Matlab and Octave and cover the first seven (ish) chapters of the book. Topics covered will include

  1. Basics of Matlab and Octave
  2. Solution of nonlinear equations
  3. Approximation of functions (interpolation, spline, etc)
  4. Numerical Integration
  5. Solution of linear systems of equations
  6. Eigenvalue/Eigenvector problems
  7. Numerical Solution of ODE
It should be emphasized that although many of the topics of this course will have the same title as MA 433 Numerical Analysis, the two have different emphases. In numerical analysis, we ask the questions

"Theoretically, what is the best method to approximate the solution to this problem? How much error will there be?" (among others)

In scientific computing we ask the questions

"What are the common methods in place to solve this problem? Do they apply to my problem? Can I easily modify an algorithm to solve my problem? What are the common things to watch for when solving this type of problem?"

In this course students will learn the basic techniques of computational science used for solving many problems in science and engineerings. In addition, they will gain proficiency with Matlab or Octave.