CS banner

CS 3200 - Introduction to Scientific Computing

Because there does not exist a single book that covers all the materials we will cover in this class, we will use a combination of class notes, class lecture slides, and books and other references. Here is a list of those additional books and on-line resources that cover many of the topics covered in CS 3200.

Please report broken links or new resources to teach-cs3200@sci.utah.edu.


  • Numerical Computing with Matlab This book is a very nice overview of numerical analysis with several examples using Matlab. The book is available for free on-line. The Matlab codes used in the book are also available on-line.
  • Scientific Computing: For Scientists and Engineers by Timo Heister and Leo G. Rebholz, De Gruyter, 2015.
  • An Introduction to Scientific Computing with MATLAB and Python Tutorials by Sheng Xu, CRC Press, 2022.
  • Introduction to Scientific Computing and Data Analysis by Mark Holmes, Springer, 2018.
  • Introduction to the Tools of Scientific Computing by Einar Smith, Spring, 2021.
  • Introduction to Scientific Computing: A Matrix-Vector Approach Using MATLAB by Charles Van Loan, Pearson, 1999.
  • Scientific Computing: An Introductory Survey, Second Edition by Michael T. Heath, published by McGraw-Hill, New York, 2002.
  • Guide To Scientific Computing, Second Edition by Peter R. Turner, published by CRC Press, 2000.
  • Introduction to Computational Science: Modeling and Simulation for the Sciences by Angela B. Shiflet and George Shiflet, Princeton University Press, 2006.
  • Scientific Computing with MATLAB by Alfio Quarteroni and Fausto Saleri, Springer, 2003.
  • MATLAB Guide by Desmond J. Higham and Nicholas J. Higham, SIAM Press, 2005.
  • Mastering MATLAB 7 by Duane C. Hanselman and Bruce L. Littlefield, Prentice Hall, 2004.
  • Octave - an open source, freely available alternative to Matlab
  • The Visualization Handbook. edited by Charles Hansen and Chris Johnson, Academic Press, 2004.
  • Visualization Toolkit 4th Edition by Will Schroeder, Ken Martin and Bill Lorenson, Kitware, 2006.
  • The Nature of Mathematical Modeling by Neil Gershenfeld, Cambridge University Press, 1998.
  • Python Scripting for Computational Science by Hans Petter Langtangen, Springer, 2004.
  • Python Essential Reference (3rd Edition) by David M. Beazley, Sams, 2006.
  • SCIRun Software System: A scientific problem solving environment for modeling, simulation and visualization developed by the Scientific Computing and Imaging Institute at the University of Utah.
  • Parallel Scientific Computing in C++ and MPI: A Seamless Approach to Parallel Algorithms and their Implementation by George Em Karniadakis and Robert M. Kirby, Cambridge University Press, 2003.
  • Scientific Parallel Computing by L. Ridgway Scott, Terry Clark, Babak Bagheri, Princeton University Press, 2005.
  • Introduction to High-Performance Scientific Computing by Lloyd D. Fosdick, Elizabeth R. Jessup, Carolyn J. C. Schauble, and Gitta Domik, MIT Press, 1996.




General Mathematical Resources

Random Numbers


Vector and Matrix Basics


Forward Euler

Monte Carlo

Numerical Integration

1D Finite Difference Method (Heat Equation)

2D Finite Difference Method (Poisson's Equation)

Iterative Solvers

Steepest Descent and Conjugate Gradient Method


Delaunay Triangulation and Voronoi Diagrams

Points Inside Triangles

Scalar Field Visualization

Volume Rendering

Vector Field Visualization