Teaching

Many people think that learning mathematics is difficult, and that they're just not made for it. Both may be true, 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 500-mile, 7-day bike ride across Iowa. We are all decent bike riders, and 70-miles 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.

A colleague of mine, Jean Marie Linhart, has put together a little page on how to have success in mathematics. Go check it out if you have a minute. One tool that I find the most productive in learning anything is to do it in groups. Jean Marie also has a few suggestions on group work worth reading.

A segment on finite element software in MATH-610

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

  1. download the deal.II library from http://www.dealii.org
  2. follow the installation instructions on the ReadMe page
  3. 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:

2011-01-18
First day stuff; getting a copy of deal.II and installing it
2011-01-20
Installation, basics of finite element methods
2011-01-25 to 27
Basics of finite element methods, initial project presentations
2011-02-01
step-1
2011-02-03
A lesson on C++ templates
2011-02-08
step-2
2011-02-10
step-3
2011-02-15
step-4
2011-02-17
Homework: Read through the step-5 and step-6 tutorial programs. Classwork: Discuss the concept of hanging nodes. Practice.
2011-02-22
Homework: Read through section 4 of the deal.II wiki. Classwork: Vector-valued problems
2011-02-24
Finish-up of Vector-valued problems: how to describe vector components in output formats. Also: A failsafe way of solving linear system using the SparseDirectUMFPACK class. Project work.
2011-03-01
Kainan Wang: Dealing with input parameter files using the ParameterHandler class. Project work.
2011-03-03
Andrea Bonito: Solving partial differential equations on surfaces. Project work.
2011-03-08
Assertions, exceptions
2011-03-10
Project work
2011-03-22
Project work
2011-03-24
Project work
2011-03-29
Guido Kanschat: the MeshWorker framework
2011-03-31
Project work; last day before midterm presentations are due
2011-04-05
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 (two-phase flow)
2011-04-07
An overview of time stepping for parabolic problems
2011-04-12
An overview of time stepping for second order hyperbolic problems
2011-04-14
An overview of time stepping for first order hyperbolic problems
2011-04-19
An overview of time stepping for differential-algebraic equations like the two-phase 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:

2010-08-31
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)
2010-09-02
Homework 1, due 9/9/2010
2010-09-09
Homework 2, due 9/16/2010
2010-09-09
The LyX file we worked on
2010-09-14
Maple worksheet on parameter estimation using the least-squares method
2010-09-16
Homework 3, due 9/23/2010
2010-09-23
Partial answers to Problem 1 and Problem 2 as Maple worksheets. Save them on your machine and then open in Maple.
2010-09-23
Homework 4, due 9/30/2010
2010-09-30
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.
2010-09-30
Homework 5, due 10/7/2010
2010-10-07
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
2010-10-15
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.
2010-10-24
Solutions to the midterm exam.
2010-10-28
Homework 6, due 11/4/2010
2010-11-1
Partial answers to homework 6 as a Maple worksheet.
2010-11-15
Individual project, due 12/09/2010
2010-11-18
This is the worksheet on using Maple for graph-based models, specifically the decay chain problem: as a Maple worksheet or as a pdf file.
2010-11-30
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:

2010-01-21
Homework 1, due 1/28/2010
2010-01-28
Partial answers to homework 1
2010-01-28
Homework 2, due 2/4/2010
2010-02-04
Answers to homework 2
2010-02-04
Homework 3, due 2/11/2010
2010-02-11
Homework 4, due 2/18/2010
2010-02-18
Homework 5, due 3/2/2010
2010-03-04
Homework 6, due 3/11/2010
2010-03-11
Homework 7, due 4/1/2010
2010-04-01
Homework 8, due 4/8/2010
2010-04-08
Homework 9, due 4/15/2010
2010-04-20
Answers to homework 9
2010-04-15
Homework 10, due 4/22/2010


2010-04-29
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:

2009-09-08
Homework 1, due 9/15/2009
2009-09-15
Homework 2, due 9/22/2009
2009-09-24
Homework 3, due 10/1/2009
2009-10-01
Homework 4, due 10/8/2009
2009-10-08
Homework 5, due 10/15/2009
2009-10-15
Homework 6, due 10/22/2009
2009-10-22
Homework 7, due 11/05/2009
2009-11-05
Homework 8, due 11/12/2009
2009-11-12
Homework 9, due 11/19/2009
2009-11-19
Homework 10, due 12/03/2009


2009-12-03
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:

2008-08-26
Getting a copy of deal.II and installing it
2008-08-28
Installation, basics of finite element methods
2008-09-02
Templates, step-1, step-2
2008-09-04
step-3; project presentations
2008-09-09
step-4; project presentations
2008-09-11
step-4; project presentations
2008-09-16
step-5
2008-09-18
step-6
2008-09-23
Wrap-up step-6: assertions, exceptions; step-7
2008-09-25
Visualization, basics of vector-valued problems
2008-09-30
Vector-valued problems: setting up block matrices and vectors, partitioning degrees of freedom
2008-10-02
Vector-valued problems: deriving block solvers by considering matrices only as linear operators; using templates to describe concepts instead of actions.
2008-10-07
Vector-valued problems: the block solver of step-22
2008-10-09
Time-dependent problems: classification and examples.
2008-10-14
Time-dependent problems: the heat equation; explicit and implicit schemes.
2008-10-16
Time-dependent problems: the wave equation; explicit and implicit schemes.
2008-10-21
The ParameterHandler class to deal with run-time parameters.
2008-10-23
Multithreading.
2008-10-28
Project work in anticipation to the mid-semester presentations.
2008-10-30
Mid-semester presentations.
2008-11-04
Mid-semester presentations.
2008-11-06
Differential-algebraic equations, IMPES schemes.
2008-11-11
Time step choice in transport equations.
2008-11-13
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 412-503 — Theory of Partial Differential Equations

Click on the following links to get a pdf file:
First day handout

Homework assignment 1
(due 9/6/2007)
Questions
Homework assignment 2
(due 9/13/2007)
Questions
Homework assignment 3
(due 9/20/2007)
Questions
Homework assignment 4
(due 9/27/2007)
Questions
Homework assignment 5
(due 10/4/2007)
Questions
Homework assignment 6
(due 10/11/2007)
Questions
Homework assignment 7
(due 10/18/2007)
Questions
Midterm test Questions and answers
Homework assignment 8
(due 11/1/2007)
Questions
Partial answers
Homework assignment 9
(due 11/8/2007)
Questions
Homework assignment 10
(due 11/15/2007)
Questions
Homework assignment 11
(due 11/29/2007)
Questions

Spring 2007: MATH 417 — Numerical Analysis I

Click on the following links to get a pdf file:
First day handout

Homework assignment 1
(due 2/1/2007)
Questions
Homework assignment 2
(due 2/8/2007)
Questions
Homework assignment 3
(due 2/15/2007)
Questions
Homework assignment 4
(due 2/27/2007)
Questions
Homework assignment 5
(due 3/8/2007)
Questions
Homework assignment 6
(due 3/22/2007)
Questions
Homework assignment 7
(due 3/29/2007)
Questions
Homework assignment 8
(due 4/5/2007)
Questions
Homework assignment 9
(due 4/19/2007)
Questions
Homework assignment 10
(due 4/26/2007)
Questions

Fall 2006: MATH 412-503 — Theory of Partial Differential Equations

Click on the following links to get a pdf file:
First day handout

Homework assignment 1
(due 9/7/2006)
Questions
Homework assignment 2
(due 9/14/2006)
Questions
Homework assignment 3
(due 9/21/2006)
Questions
Homework assignment 4
(due 9/28/2006)
Questions
Homework assignment 5
(due 10/5/2006)
Questions
Homework assignment 6
(due 10/12/2006)
Questions
Homework assignment 7
(due 10/26/2006)
Questions
Homework assignment 8
(due 11/2/2006)
Questions
Homework assignment 9
(due 11/9/2006)
Questions
Homework assignment 10
(due 11/16/2006)
Questions
Homework assignment 11
(due 11/30/2006)
Questions

Fall 2006: MATH 417-501 — Numerical Analysis I

Click on the following links to get a pdf file:
First day handout

Homework assignment 1
(due 9/7/2006)
Questions
Homework assignment 2
(due 9/14/2006)
Questions
Homework assignment 3
(due 9/21/2006)
Questions
Homework assignment 4
(due 9/28/2006)
Questions
Homework assignment 5
(due 10/05/2006)
Questions
Homework assignment 6
(due 10/12/2006)
Questions
Homework assignment 7
(due 10/26/2006)
Questions
Homework assignment 8
(due 11/2/2006)
Questions
Homework assignment 9
(due 11/9/2006)
Questions
Homework assignment 10
(due 11/16/2006)
Questions
Homework assignment 11
(due 11/30/2006)
Questions
Partial answers

Spring 2006: MATH 664-600 Computational Software for Large-Scale 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:

2006-01-18
Getting a copy of deal.II and installing it
2006-01-19
Installation. C++ templates
2006-01-24
Next week's projects; collaboration between class groups; grids; finite elements
2006-01-25
DoFHandlers; step-2.
2006-01-26
step-3.
2006-01-31
Student project discussion.
2006-02-02
Student project discussion. Step-4 and step-5. Assertions.
2006-02-07
More assertions. Optimized and debug mode. Hanging nodes.
2006-02-09
Other linear solvers and preconditioners. Boundary integrals (step-7). Vector-valued finite elements (step-8).
2006-02-14
Vector-valued finite elements (step-20, step-8).
2006-02-16
Block systems and solvers (step-20).
2006-02-21
Complex-valued equations, project work.
2006-02-23
Heat equation.
2006-03-01
More heat equation, project work.
2006-03-02
Wave equation, project work.
2006-03-07
More wave equation, project work.
2006-03-09
More wave equation, project work.
2006-03-21
Boundary values for the wave equation. Energy conservation.
2006-03-23
Writing documentation inside the program.
2006-03-28
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.
2006-03-30
Visualization with gnuplot
2006-04-04
Visualization with gmv
2006-04-05
No topic, only project work since short class. Moved from 2006-04-06 due to travel.
2006-04-11
Evaluating discrete functions (e.g. finite element solutions) at arbitrary points, and why this is expensive
2006-04-13
Integrating functions defined on one mesh against shape functions defined on a different mesh.
2006-04-18
Some approaches to parallelization of programs
2006-04-20
Project work
2006-04-25
Nonlinear equations
2006-04-27

Here are the notes from Fabien's lab:

Containers
Algorithms
Streams

Fall 2005: MATH 609-602 — 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)
Test 1
(9/27/2005; due 10/04/2005)
Questions
(latex file)
(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)
Test 2
(11/08/2005; due 11/15/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)
Finals, part 1
(12/01/2005; due 12/09/2005)
Questions
(latex file)
(Answers no longer available)
Finals, part 2
(in-class work, 12/09/2005)
Questions
(latex file)
(Answers no longer available)

This page:

KAUST AMCS 312 (October 2011)

MATH676 (spring 2011)

MATH442 (fall 2010)

MATH652 (spring 2010)

MATH651 (fall 2009)

MATH676 (fall 2008)

MATH151 (fall 2007)

MATH412 (fall 2007)

MATH417 (spring 2007)

MATH412 (fall 2006)

MATH417 (fall 2006)

MATH664 (spring 2006)

MATH609 (fall 2005)


This site:

Main page

Teaching

Publications

About my work

Picture gallery

Talks

The deal.II library

Curriculum Vitae


Current issues:

deal.II short course in Heidelberg

 

Mail to the author