Introduction to Scientific Computing
Revised: September 2020
Course Description
This introduction to the field of scientific computing will focus on using mathematical
software and programming as tools in mathematical modeling and problem solving. Motivated
by various types of mathematical models (discrete, continuous, deterministic, stochastic,
etc.), we will investigate software options that are best suited for implementing
our models and simulations. Prerequisite: MATH 255. Three credit hours.
Student Learning Objectives
By the end of the course students should be able to
- Model problems mathematically and use mathematical software to solve or simulate these
problems;
- Develop algorithms and implement them in the appropriate software or programming language;
- Draw pertinent examples from mathematical models, particularly from other disciplines
(e.g. ecology, biology, chemistry, finance);
- Utilize documentation and tutorials to independently solve problems encountered in
the course of their work
- Present professional documents, presentation materials, algorithms and solutions to
problems in a mathematically sophisticated manner using a scientific documentation
environment; and
- Know the benefits and drawbacks of each of the computational tools used during the
semester.
Text
Though there is no formal text for the breadth of topics discussed in this class,
the following supplementary text has been selected: Attaway, MATLAB: A Practical Introduction to Programming and Problem Solving (3rd Edition), 2013, Butterworth-Heinemann/Elsevier.
Grading Procedure
Grading procedures and factors influencing course grade are left to the discretion
of individual instructors, subject to general university policy.
Attendance Policy
Attendance policy is left to the discretion of individual instructors, subject to
general university policy.
Course Outline
- Using LaTeX. Introduction to LaTeX, Implementing Lists, Tables, and Graphics in LaTeX, Mathematics
in LaTeX, Referencing in LaTeX, Bibliographies, Beamer Presentations, and Posters
with LaTeX.
- Modeling with Difference Equations in Excel. Introduction to Difference Equations, Basic Excel, SIR and Predator-Prey Models, Special
Features in Excel, and Stochastic Models.
- Modeling with Calculus, Differential Equations, and Probabilistic Models in Mathematica.
Introduction to Mathematica, Calculus in Mathematica, Modeling with Differential Equations
in Mathematica, and Probabilistic Simulations in Mathematica
- Modeling with Matrices and MATLAB. Introduction to MATLAB, Age and Stage-Based Models, Markov Chains in MATLAB
- Introduction to Programming. Algorithm Development, Conditional Statements, Looping, Looping with Arrays, Mathematical
Investigations with Programming, Coding Simulations with MATLAB. This is typically
done in MATLAB, but another language may be utilized for these topics at the instructor’s
discretion.
- Additional Topics and/or Student Presentations Additional topics include creating documents using Markdown, modeling with dynamic
systems tools (e.g. Vensim, Stella, Berkley Madonna), agent-based modeling (with NetLogo),
statistical modeling (with R and Fathom