Many people think that learning mathematics is difficult, and that they're just not made for it. Both may be true (though I don't believe that there are people who can't learn math), but it shouldn't stop you from becoming a productive mathematician, or at least someone who feels comfortable with mathematics. By way of a metaphor, my wife, several friends and I have done RAGBRAI a couple of times, a 500mile, 7day bike ride across Iowa. We are all decent bike riders, and 70miles per day is a long day in the saddle but quite feasible. But there are people whose body shapes would suggest that they can't walk a mile without fainting — yet they, too, seem to have practiced enough to ride those 70 miles every day, even if they won't come in first at the end of the day. The message is that by trying and practicing, I believe everyone can learn enough mathematics to do things most of us can't.
Fall 2018: MATH 545 — Partial Differential Equations I
First day handout, including syllabus
Homework assignment 1 (due 9/17/2018)  Questions 
Homework assignment 2 (due 9/28/2018)  Questions 
Homework assignment 3 (due 10/12/2018)  Questions 
Homework assignment 4 (due 10/26/2018)  Questions 
Fall 2018: MATH 620 — Variational Methods and Optimization I
First day handout, including syllabus
Homework assignment 1 (due 9/17/2018)  Questions 
Homework assignment 2 (due 9/28/2018)  Questions 
Homework assignment 3 (due 10/12/2018)  Questions 
Homework assignment 4 (due 10/26/2018)  Questions 
Spring 2018: MATH 451 — Introduction to Numerical Analysis II
First day handout, including syllabus
Homework assignment 1 (due 2/9/2018)  Questions 
Homework assignment 2 (due 2/23/2018)  Questions 
Homework assignment 3 (due 3/21/2018)  Questions 
Homework assignment 4 (due 4/6/2018)  Questions 
Spring 2018: MATH 676 — Finite element methods in scientific computing
First day
handout, including syllabus
Slides
with commands and ideas that we use when working through
tutorials in class
The video lectures that accompany this course can be found here. Here's the schedule for watching them during the first few weeks:
 Week 1 (January 1519):
Lectures 1, 2, 4
(If you want to install deal.II by yourself, you may also want to watch lecture 3.)  Week 2 (January 2226):
Lectures 5,
6,
9,
10.
Please also watch lectures 32.75 and 32.8 on the use of git and github. If you have never used a version control system, you may also want to take a look at lecture 32.5, which gives an introduction using a simpler system, subversion.  Week 3 (January 29February 2): Lectures 13, 7, 8, 11, 12
 Week 4 (February 59): Lectures 14, 15, 16, 17, 18
 Week 5 (February 1216): Lectures 21.5, 24, 25, 42, 43
These lectures form the basis of what you will need to know for this class (I will assign a few more lectures to each student depending on their relevance for individual projects). My goal with assigning so many lectures right at the beginning of the semester is to get you up to speed with it all so that you can focus on your project during the second half of the semester.
Please note in your journals which lectures you have watched and what questions you have  we will use these questions for short discussions at the beginning of each class. Please also take the time after each lecture to briefly reflect on what you have learned and how that relates to what you already know, need to know, etc.
Fall 2017: MATH 651 — Numerical Analysis II
First day handout, including syllabus
Homework assignment 1 (due 9/12/2017)  Questions 
Homework assignment 2 (due 9/26/2017)  Questions 
Homework assignment 3 (due 10/24/2017)  Questions 
Homework assignment 4 (due 11/06/2017)  Questions 
Homework assignment 5 (due 11/27/2017)  Questions 
Spring 2017: MATH 561 — Numerical Analysis I
First day handout, including syllabus
My slides on optimization (including much more material than we will cover).
Homework assignment 1 (due 1/31/2017)  Questions 
Homework assignment 2 (due 2/14/2017)  Questions 
Homework assignment 3 (due 2/28/2017)  Questions 
Homework assignment 4 (due 3/21/2017)  Questions 
Homework assignment 5 (due 4/11/2017)  Questions 
Homework assignment 6 (due 4/25/2017) 
Spring 2016: MATH 442 — Mathematical Modeling
First day
handout, including syllabus
Assignment 1 (draft due 1/28/2016, final version due 2/1/2016)
Assignment 2 (draft due 3/1/2016, final version due 3/4/2016)
Assignment 3 (draft due 3/22/2016, final version due 3/25/2016)
Assignment 4 (draft due 4/21/2016, final version due 4/27/2016)
Examples of using Maple (open with Maple)
Maple worksheet showing an example of solving ODEs
Maple worksheet showing how to numerically solve ODEs that don't have a closed form solution
Maple worksheet on moose and wolves
Maple worksheet on moose and wolves, modified by a carrying capacity
Maple worksheet on least squares regression for the growth of tuition
Maple worksheet on least squares regression for the tiger population in India
Maple worksheet on the movement of a marble on a string
Maple worksheet on the movement of a marble in a 2d environment
A Maple worksheet with a few tools for project 4 (also available as a pdf file).
Fall 2015: MATH 442 — Mathematical Modeling
First day
handout, including syllabus
Assignment 1
Examples of using Maple
(open with Maple)
Maple worksheet
showing an example of solving ODEs
Maple
worksheet showing how to numerically solve ODEs that don't
have a closed form solution
Maple worksheet
on moose and wolves
Assignment 2
Maple worksheet
on least squares regression for the growth of tuition
Assignment 3
Maple worksheet
on the movement of a marble on a string
Maple worksheet
on the movement of a marble in a 2d environment
Assignment 4
A Maple
worksheet with a few tools for project 4
(also available
as a pdf
file).
Spring 2015: MATH 676 — Finite element methods in scientific computing
Course outline
First day
handout
Slides
with commands and ideas that we use when working through
tutorials in class
The video lectures that accompany this course can be found here. Here's the schedule for watching them during the first few weeks:
 Week 1 (January 1923):
Lectures 1, 2, 4
(If you want to install deal.II on another system, you may also want to watch lecture 3.)  Week 2 (January 2630): Lectures 32.5, 5, 6, 9, 10
 Week 3 (February 26): Lectures 13, 7, 8, 11, 12
 Week 4 (February 913): Lectures 14, 15, 16, 17, 18
 Week 5 (February 1620): Lectures 21.5, 24, 25, 42, 43
These lectures form the basis of what you will need to know for this class (I will assign a few more lectures to each student depending on their relevance for individual projects). My goal with assigning so many lectures right at the beginning of the semester is to get you up to speed with it all so that you can focus on your project during the second half of the semester.
Please note in your journals which lectures you have watched and what questions you have  we will use these questions for short discussions at the beginning of each class. Please also take the time after each lecture to briefly reflect on what you have learned and how that relates to what you already know, need to know, etc.
Fall 2014: MATH 442 — Mathematical Modeling
First day
handout, including syllabus
Assignment 1
Assignment 2
Assignment 3
Assignment 4
Spring 2014: MATH 689 — Special Topics in Numerical Optimization
First day
handout, including syllabus
Slides part 1,
Slides part 2
Homework assignment 1 (1/21/2014)  Questions 
Homework assignment 2 (2/4/2014)  Questions 
Homework assignment 3 (2/11/2014)  Questions 
Homework assignment 4 (2/18/2014)  Questions 
Homework assignment 5 (2/25/2014)  Questions 
Homework assignment 6 (3/4/2014)  Questions 
Homework assignment 7 (3/18/2014)  Questions 
Homework assignment 8 (3/25/2014)  Questions 
Homework assignment 9 (4/1/2014)  Questions 
Homework assignment 10 (4/8/2014)  Questions 
Homework assignment 11 (4/15/2014)  Questions 
Fall 2013: MATH 437 — Principles of Numerical Analysis
Homework assignment 1 (9/05/2013) 
Questions 
Homework assignment 2 (9/12/2013) 
Questions 
Homework assignment 3 (9/19/2013) 
Questions 
Homework assignment 4 (9/26/2013) 
Questions 
Homework assignment 5 (10/03/2013) 
Questions 
Homework assignment 6 (10/10/2013) 
Questions 
Homework assignment 7 (10/24/2013) 
Questions 
Homework assignment 8 (10/31/2013) 
Questions 
Homework assignment 9 (11/7/2013) 
Questions 
Test 1  
Homework assignment 10 (11/14/2013) 
Questions 
Homework assignment 11 (11/21/2013) 
Questions 
Bonus homework (12/03/2013) 
Questions 
Spring 2013: MATH 676 — Finite element methods in scientific computing
Course outline
First day
handout
The video lectures that accompany this course can be found here.
Fall 2012: MATH 601 — Methods of Applied Mathematics I
Following are notes for some of the classes:
20120905 
Quiz 1, with answers 
20120910 
Quiz 2, with answers 
20120919 
Quiz 3, with answers 
20120926 
Quiz 4, with answers 
20121003 
Quiz 5, with answers 
20121008 
Quiz 6, with answers 
20121017 
Quiz 7, with answers 
20121031 
Quiz 8, with answers 
20121107 
Quiz 9, with answers 
20121114 
Quiz 10, with answers 
20121128 
Quiz 11, with answers 
A segment on finite element software in MATH610
The slides for my lectures are here.
KAUST AMCS 312: High performance computing II
The slides for my lectures are here.
For homework 4 and to follow the discussion of the tutorial programs, you will want to
 download the deal.II library from http://www.dealii.org
 follow the installation instructions on the ReadMe page
 If you're not familiar with C++, you may also be interested in a primer on C++ templates as they are used in deal.II.
Finally, here is your class assignment #4.
Spring 2011: MATH 676 — Finite element methods in scientific computing
Course outline
First day
handout
Following are notes for some of the classes:
20110118 
First day stuff; getting a copy of deal.II and installing it 
20110120 
Installation, basics of finite element methods 
20110125 to 27 
Basics of finite element methods, initial project presentations 
20110201 
step1 
20110203 
A lesson on C++ templates 
20110208 
step2 
20110210 
step3 
20110215 
step4 
20110217 
Homework: Read through the step5 and step6 tutorial programs. Classwork: Discuss the concept of hanging nodes. Practice. 
20110222 
Homework: Read through section 4 of the deal.II wiki. Classwork: Vectorvalued problems 
20110224 
Finishup of Vectorvalued problems: how to describe vector components in output formats. Also: A failsafe way of solving linear system using the SparseDirectUMFPACK class. Project work. 
20110301 
Kainan Wang: Dealing with input parameter files using the ParameterHandler class. Project work. 
20110303 
Andrea Bonito: Solving partial differential equations on surfaces. Project work. 
20110308 
Assertions, exceptions 
20110310 
Project work 
20110322 
Project work 
20110324 
Project work 
20110329 
Guido Kanschat: the MeshWorker framework 
20110331 
Project work; last day before midterm presentations are due 
20110405 
A taxonomy of time dependent problems: parabolic, second order hyperbolic, first order hyperbolic, parabolic with "few" constraints (the DAE case, Stokes), time dependent equations with quasistationary parts (twophase flow) 
20110407 
An overview of time stepping for parabolic problems 
20110412 
An overview of time stepping for second order hyperbolic problems 
20110414 
An overview of time stepping for first order hyperbolic problems 
20110419 
An overview of time stepping for differentialalgebraic equations like the twophase flow equations, and the IMPES scheme 
Fall 2010: MATH 442 — Mathematical Modeling
Resources:
 Click here for the first day handout, including a list of topics that I intend to cover.
 Two of my colleagues, Peter Howard and Tom Vogel, have taught this class several times and have an extensive list of excellent documents on various aspects of this class. Take a look here and here.
Class notes, homework and project descriptions:
20100831 
Maple worksheet (use the right mouse button on the link to save the file on your machine in some directory using the "Save as" menu item; then open it again from this directory using Maple) 
20100902 
Homework 1, due 9/9/2010 
20100909 
Homework 2, due 9/16/2010 
20100909 
The LyX file we worked on 
20100914 
Maple worksheet on parameter estimation using the leastsquares method 
20100916 
Homework 3, due 9/23/2010 
20100923 
Partial answers to Problem 1 and Problem 2 as Maple worksheets. Save them on your machine and then open in Maple. 
20100923 
Homework 4, due 9/30/2010 
20100930 
Partial answers to Problem 1
as a Maple
worksheet
and
as a pdf
file.
Partial answers to Problem 2 as a Maple worksheet and as a pdf file. 
20100930 
Homework 5, due 10/7/2010 
20101007 
Group project,
due 10/28/2010
Group 1: Cmajdalka, Thompson, Truong Group 2: Larimore, Lee, Slawson Group 3: Cortez, Hagel, Su Group 4: Ball, Jones, Woelfel Group 5: Carter, Chen, Weiss Group 6: Cantu, Wesson, Yunkun Group 7: Bauer, Molitor, Tietze Group 8: Bartholomew, Gallegos 
20101015 
Since we didn't get to it yesterday in class, I've put together a few comments on how to efficiently write scripts in Maple if we want to solve differential equations for multiple bodies each of which have multiple vector components. Take a look at these notes as a Maple worksheet or as a pdf file. 
20101028 
Homework 6, due 11/4/2010 
2010111 
Partial answers to homework 6 as a Maple worksheet. 
20101115 
Individual project, due 12/09/2010 
20101118 
This is the worksheet on using Maple for graphbased models, specifically the decay chain problem: as a Maple worksheet or as a pdf file. 
20101130 
This is the worksheet we had in class today on probabilities as a Maple worksheet or as a pdf file. 
Spring 2010: MATH 652 — Optimization II
Traditionally, this course has put a lot of emphasis on theoretical aspects of optimization, such as for example the conditions under which an optimum exists, or under what conditions it is unique if it exists. I intend to put more emphasis on practical aspects, in particular how optima can actually be found for practical problems using computer algorithms.
Click here for the first day handout, including a list of topics that I intend to cover.
Following are notes for some of the classes:
20100121 
Homework 1, due 1/28/2010 
20100128 
Partial answers to homework 1 
20100128 
Homework 2, due 2/4/2010 
20100204 
Answers to homework 2 
20100204 
Homework 3, due 2/11/2010 
20100211 
Homework 4, due 2/18/2010 
20100218 
Homework 5, due 3/2/2010 
20100304 
Homework 6, due 3/11/2010 
20100311 
Homework 7, due 4/1/2010 
20100401 
Homework 8, due 4/8/2010 
20100408 
Homework 9, due 4/15/2010 
20100420 
Answers to homework 9 
20100415 
Homework 10, due 4/22/2010 
20100429 
All slides 
Fall 2009: MATH 651 — Optimization I
Traditionally, this course has put a lot of emphasis on theoretical aspects of optimization, such as for example the conditions under which an optimum exists, or under what conditions it is unique if it exists. I intend to put more emphasis on practical aspects, in particular how optima can actually be found for practical problems using computer algorithms.
The first day handout, including a list of topics that I intend to cover, can be found here.
Following are notes for some of the classes:
20090908 
Homework 1, due 9/15/2009 
20090915 
Homework 2, due 9/22/2009 
20090924 
Homework 3, due 10/1/2009 
20091001 
Homework 4, due 10/8/2009 
20091008 
Homework 5, due 10/15/2009 
20091015 
Homework 6, due 10/22/2009 
20091022 
Homework 7, due 11/05/2009 
20091105 
Homework 8, due 11/12/2009 
20091112 
Homework 9, due 11/19/2009 
20091119 
Homework 10, due 12/03/2009 
20091203 
All slides so far 
Fall 2008: MATH 676 — Finite element methods in scientific computing
Course outline
First day
handout
Following are notes for some of the classes:
20080826 
Getting a copy of deal.II and installing it 
20080828 
Installation, basics of finite element methods 
20080902 
Templates, step1, step2 
20080904 
step3; project presentations 
20080909 
step4; project presentations 
20080911 
step4; project presentations 
20080916 
step5 
20080918 
step6 
20080923 
Wrapup step6: assertions, exceptions; step7 
20080925 
Visualization, basics of vectorvalued problems 
20080930 
Vectorvalued problems: setting up block matrices and vectors, partitioning degrees of freedom 
20081002 
Vectorvalued problems: deriving block solvers by considering matrices only as linear operators; using templates to describe concepts instead of actions. 
20081007 
Vectorvalued problems: the block solver of step22 
20081009 
Timedependent problems: classification and examples. 
20081014 
Timedependent problems: the heat equation; explicit and implicit schemes. 
20081016 
Timedependent problems: the wave equation; explicit and implicit schemes. 
20081021 
The ParameterHandler class to deal with runtime parameters. 
20081023 
Multithreading. 
20081028 
Project work in anticipation to the midsemester presentations. 
20081030 
Midsemester presentations. 
20081104 
Midsemester presentations. 
20081106 
Differentialalgebraic equations, IMPES schemes. 
20081111 
Time step choice in transport equations. 
20081113 
Project work. 
Fall 2007: MATH 151 — Engineering Mathematics I
A lot of material for this course is available online on departmental web pages. Click here for catalog description, weekly schedule, sample homework problems, past exams, and other information. Amy Austin will give a Live Week in Review Session that you may be interested in. She also has a collection of streaming video sessions on Math 151 and excellent class notes that you may find helpful.
Here are some other links: Click here for the first day handout. Please go to this site for your online homework. Online homework is always posted on Monday morning and is due on Sunday at 11pm. No late homework will be accepted.
Locations and times for the common exams are posted here.
Fall 2007: MATH 412503 — Theory of Partial Differential Equations
Click on the following links to get a pdf file:
First day
handout


Spring 2007: MATH 417 — Numerical Analysis I
Click on the following links to get a pdf file:
First day
handout


Fall 2006: MATH 412503 — Theory of Partial Differential Equations
Click on the following links to get a pdf file:
First day
handout


Fall 2006: MATH 417501 — Numerical Analysis I
Click on the following links to get a pdf file:
First day
handout


Spring 2006: MATH 664600 Computational Software for LargeScale PDE Solvers
Click on the following links to get a pdf file:
Course outline
First day
handout
Following are notes for some of the classes:
20060118 
Getting a copy of deal.II and installing it 
20060119 
Installation. C++ templates 
20060124 
Next week's projects; collaboration between class groups; grids; finite elements 
20060125 
DoFHandlers; step2. 
20060126 
step3. 
20060131 
Student project discussion. 
20060202 
Student project discussion. Step4 and step5. Assertions. 
20060207 
More assertions. Optimized and debug mode. Hanging nodes. 
20060209 
Other linear solvers and preconditioners. Boundary integrals (step7). Vectorvalued finite elements (step8). 
20060214 
Vectorvalued finite elements (step20, step8). 
20060216 
Block systems and solvers (step20). 
20060221 
Complexvalued equations, project work. 
20060223 
Heat equation. 
20060301 
More heat equation, project work. 
20060302 
Wave equation, project work. 
20060307 
More wave equation, project work. 
20060309 
More wave equation, project work. 
20060321 
Boundary values for the wave equation. Energy conservation. 
20060323 
Writing documentation inside the program. 
20060328 
Writing documentation for introduction and results sections. The notes for this class contain links to doxygen sections that may be of interest to you, links to visualization programs, and a link to the Subversion book. 
20060330 
Visualization with gnuplot 
20060404 
Visualization with gmv 
20060405 
No topic, only project work since short class. Moved from 20060406 due to travel. 
20060411 
Evaluating discrete functions (e.g. finite element solutions) at arbitrary points, and why this is expensive 
20060413 
Integrating functions defined on one mesh against shape functions defined on a different mesh. 
20060418 
Some approaches to parallelization of programs 
20060420 
Project work 
20060425 
Nonlinear equations 
20060427 
Here are the notes from Fabien's lab:
Containers 
Algorithms 
Streams 
Fall 2005: MATH 609602 — Numerical Methods for Engineers
Click on the following links to get a pdf file:
First day
handout
Homework assignment 1 (8/30/2005) 
Questions  (Answers no longer available) 
Homework assignment 2 (9/6/2005; due 9/13/2005) 
Questions  (Answers no longer available) 
Lab 2 (9/7/2005) 
Question + solution  
Homework assignment 3 (9/13/2005; due 9/20/2005) 
Questions  (Answers no longer available) 
Homework assignment 4 (9/20/2005; due 9/27/2005) 
Questions  (Answers no longer available) 
Homework assignment 5 (10/04/2005; due 10/11/2005) 
Questions (latex file) 
(Answers no longer available) 
Homework assignment 6 (10/11/2005; due 10/18/2005) 
Questions (latex file) 
(Answers no longer available) 
Homework assignment 7 (10/18/2005; due 10/25/2005) 
Questions (latex file) 
(Answers no longer available) 
Homework assignment 8 (10/25/2005; due 11/1/2005) 
Questions (latex file) 
(Answers no longer available) 
Homework assignment 9 (11/1/2005; due 11/8/2005) 
Questions (latex file) 
(Answers no longer available) 
Homework assignment 10 (11/15/2005; due 11/22/2005) 
Questions (latex file) 
(Answers no longer available) 
Homework assignment 11 (11/22/2005; due 11/29/2005) 
Questions (latex file) 
(Answers no longer available) 