% norrkoping4.tex
\documentclass{article}
\usepackage{color}
%\usepackage{graphicx}
%\usepackage{psfrag}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{a4wide}
\usepackage[ps2pdf]{hyperref}
%\usepackage[pdftex]{hyperref}
\newcommand{\hhref}[2]{\href{#1}{\textcolor{blue}{\texttt{#2}}}}
\newcommand{\emfas}[1]{{\em #1\/}}
\title{A Reformed Mathematics Education at Chalmers}
\author{Stig Larsson\\
Department of Mathematics\\
Chalmers University of Technology\\
SE--412 96 G{\"o}teborg,
Sweden\\
URL: \hhref{http://www.math.chalmers.se/~stig}
{http://www.math.chalmers.se/\~{}stig}\\
E-mail: \texttt{stig@math.chalmers.se}
}
\date{{\sf Kvalitetskonferensen, Norrk{\"o}ping, September
25--27, 2001}}
\begin{document}
\maketitle
\begin{abstract}
Engineering education faces the challenge to reform to effectively
use the new tools offered by computers. We present a program for a
reformed engineering mathematics education. The full program
covering the basic mathematics courses of 25--30 credit points has
been implemented at Chalmers since 1999 in the ``Bio Engineering''
(Kb) and ``Chemical Engineering with Engineering Physics'' (Kf)
programs with an enrollment of 90 students and it has been extended
to include also the ``Chemical Engineering'' (K) program reaching a
total of 160 students in 2001.
The mathematics reform program presents a synthesis of mathematical
analysis, linear algebra and computation with focus on
constructive/quantitative aspects and on applications in science and
engineering. The computational elements of the program open the
possibility to use teaching methods with active student
participation including open-ended projects connected to
applications.
\end{abstract}
\section{Introduction}
Computer-based simulation and virtual reality offer new revolutionary
tools to science and technology. New products and systems may be
developed and tested through computer simulation on time scales and at
costs, which are orders of magnitude smaller than those of traditional
techniques based on extensive laboratory testing, hand calculations,
and trial and error. Computational modeling is finding new
applications in biology, medicine, environmental sciences, economy,
and finance.
At the heart of the new simulation techniques lie the new fields of
Computational Mathematical Modeling CMM, including Computational
Mechanics, Physics, Fluid Dynamics, Electromagnetics, Chemistry,
Chemical Engineering, and Biology, all based on solving systems of
differential equations using computers, combined with geometric
modeling CAD.
Engineering education now faces the challenge to reform to effectively
use the new tools of CMM and CAD. The new technology crosses borders
between traditional engineering disciplines and schools, and puts
strong pressure on teachers to modernize the engineering education in
both content and form, from basic to graduate level.
A full program for a new reformed engineering mathematics education
has been developed by K.~Eriksson, C.~Johnson, Chalmers University of
Technology, and D.~Estep, Colorado State University. The program
includes the books {\em Computational Differential Equations},
Cambridge University Press 1996, and {\em Applied Mathematics ---
Body and Soul}, to appear at Springer-Verlag, and various pieces of
supporting software. The full program covering the basic mathematics
courses of 25--30 credit points has been implemented at Chalmers
since 1999 for a group of 90 students in the ``Bio Engineering'' (Kb)
and ``Chemical Engineering with Engineering Physics'' (Kf) programs
and has been extended to include also the ``Chemical Engineering'' (K)
program with a total of 160 students 2001. The implementation of the
reform program was initiated by the former Chalmers vice president of
education S.~Irandoust, as a part of a general program for education
reform, and is carried out in a cooperative effort of the
mathematicians M.~Asadzadeh, K.~Eriksson, C.~Johnson, S.~Larsson,
M.~Larson, K.~Samuelsson, and N.~Svanstedt at Chalmers University of
Technology.
The mathematics reform program presents a synthesis of mathematical
analysis, linear algebra and computation with focus on constructive
and quanti\-tative aspects and on applications in science and
engineering. The computational elements of the program open the
possibility to use teaching methods with active student participation
including open-ended projects connected to applications.
\section{The reform program}
\subsection{Courses}
Our program incorporates all the mathematics courses (except
mathematical statistics) in the first and second year of the three
engineering programs K, Kf, and Kb:
analysis in one and several variables,
linear algebra,
Fourier analysis,
programming,
numerical analysis, and differential equations.
The program is now organized into the following courses:
\begin{itemize}
\item year 1
\begin{itemize}
\item Analysis and Linear Algebra A, 4 points
\item Analysis and Linear Algebra B, 7 points
\item Analysis and Linear Algebra C, 4 points
\end{itemize}
\item year 2
\begin{itemize}
\item Differential Equations and Scientific Computing A, 4 points
\item Differential Equations and Scientific Computing B, 4 points
\item Fourier Analysis and Complex Analysis, 4 points
\end{itemize}
\end{itemize}
with a total of 27 credit points. (The above description is somewhat
simplified, there are minor differences between the three programs.)
\subsection{Teaching}
The teaching is essentially organized as follows:
\begin{itemize}
\item lecture, 4 hours per week, one group of 160 students;
\item computer studio, 4 hours per week, four groups of 40 students;
\item tutorial, 4 hours per week, in groups of 8--10 students.
\end{itemize}
The two computer studios in the School of Chemical Engineering, that
were opened in the autumn 2000, are class rooms for 48 students with
24 computers. The studios have given a boost to our reform program:
the student quickly gets familiar to the Matlab computing environment
and gets used to combining analytical and computational mathematical
techniques from the beginning. We use older students to give
tutorials and to assist in the computer studios.
\subsection{Examination}
We have used both written and oral exams as well as written and oral
project presentations. We try to develop new forms of examination
based on (i) hand-in assignments concerning basic skills and (ii)
application-oriented project work. Each student has to demonstrate
satisfactory knowledge of all the basic elements through the hand-in
work collected in an individual folder. Typically, the basic
techniques cover the first part of the course and a short oral
examination checks that each student masters the material in his/her
folder. The results of the project work is presented at the end of the
course. This is supposed to give a clear separation of basic skills
and applications. This form of examination is still under
development.
\section{A constructive approach}
The most important feature of the reformed mathematics courses is that
we try to take a \emfas{constructive} approach based on numerical
algorithms. For example, after we have studied the bisection
algorithm, we note that it proves the intermediate value theorem, as I
will explain in Section \ref{ala-a} below. We believe that this
constructive/computational approach has the following advantages:
\begin{itemize}
\item it makes the mathematics more understandable;
\item it makes it possible to discuss general equations, not just
simplified special cases;
\item it makes it possible to do applications early in the curriculum;
\item it makes it possible to reach advanced applications at the end
of the curriculum;
\item it allows open-ended project work.
\end{itemize}
\section{Matlab}
Matlab (Matrix Laboratory) is a software for numerical matrix
computations. It can be used at many levels, from a simple calculator
to a rather advanced interactive programming environment. It contains
advanced tools for graphics and for creating graphical user
interfaces, as well as ``toolboxes'' for many problem areas of science
and engineering. We have chosen to use Matlab as our programming
environment. We do not use any software for symbolic calculation such
as Mathematica or Maple.
We use Matlab in two ways: (i) for illustrating mathematical concepts
using ready made interactive programs; (ii) for letting students write
their own software for implementing the numerical algorithms that are
used in the courses.
The motivation for (i) is obvious. The other one may require some
comments. Even though Matlab contains tools for most of the
computations that we need to do, we let students write their own
programs, from the simple bisection algorithm to the rather advanced
finite element method. We believe that there are pedagogical
advantages with this. Clearly it gives the students skills in
programming and implementation of numerical algorithms. But it also
forces understanding of the algorithms and the mathematics behind
them; Matlab is more unforgiving against logical errors and sloppy
typing than any teacher. Our constructive approach to mathematics
based on numerical algorithms gives the computer exercises a natural
and strong connection with the other forms of teaching. Finally, we
hope that the students will gain self-confidence from using their own
software, based on mathematics that they understand, to model advanced
engineering systems, instead of running ``black box'' simulations with
ready made programs.
That computation is a totally integrated part of the courses should be
quite clear to the student after spending four hours per week in the
computer studio!
\section{General versus special equation}
The use of numerical algorithms makes it possible for us to discuss
equations in their most general form and to use them in mathematical
models in engineering and science. In contrast, a discussion of the
solvability of general ordinary differential equations is outside the
scope of a traditional first year mathematics course, and numerical
methods are often treated in a later course. Since there is little
that can be said or done about the general case, all emphasis is put
on special cases that can be solved symbolically. We try to reverse
this order of priority.
A general algebraic equation is of the form $f(x)=0$. A special case
is $x^2+ax+b=0$, which is solved symbolically by the formula
\begin{equation*}
x=-\tfrac a2 \pm\sqrt{(\tfrac a2)^2-b}.
\end{equation*}
Note that I did not say ``is solved exactly'' because this is no more
accurate than the accuracy in computing the square root, which done by
solving $f(x)=x^2-2$ numerically.
A general ordinary differential equation is of the form
$u'(t)=f(t,u(t))$. A special case is $u''+\omega^2u=0$, which is
solved symbolically by the formula
\begin{equation*}
u(t)=A\cos(\omega t)+B\sin(\omega t).
\end{equation*}
Again this is not an ``exact solution''; it expresses the solution in
terms of well known special functions, which however can only be
computed numerically.
The possibility to solve general equations numerically does not
diminish the importance of special solutions such as $\cos(\omega t)$
or $\exp(at)$. On the contrary, they help us interpret the numerical
results and to understand complex behavior in terms of simple well
known cases. But there is no reason to pursue symbolical computation
to its extreme; it is the simple cases that are useful.
\section{Description of the courses}
In this section I briefly describe the contents of some of the courses
in our program, emphasizing those aspects that make them different
from traditional courses in mathematics for engineers. Each course has
a theme: a class of equations that is studied throughout the course.
\subsection{Analysis and Linear Algebra A} \label{ala-a}
\subsubsection*{Theme: system of algebraic equations $f(x)=0$.}
The course begins by introducing the integers and the rational numbers
$\mathbf{Q}$ and by exploring their algebraic properties. Then we
introduce polynomial functions $f:\mathbf{Q}\to\mathbf{Q}$ and the
\emfas{Lipschitz condition}:
\begin{equation}
\label{eq:lipschitz}
|f(x)-f(y)|\le L_f |x-y| .
\end{equation}
We use Lipschitz continuity in all proofs even though most results are
valid for continuous functions. The advantage of the Lipschitz
condition is that it makes it possible to avoid the difficult
$\epsilon$-$\delta$ argument; \eqref{eq:lipschitz} is an explicit
relation between $\epsilon$ and $\delta$, telling us directly how
small $|f(x)-f(y)|$ is, if we know how small $|x-y|$ is.
A sequence $x_n$ of rational numbers is called a \emfas{Cauchy sequence} if
\begin{equation}
\label{eq:cauchy}
|x_n-x_m|\to 0 \quad\text{as $n,m\to\infty$}.
\end{equation}
We define the \emfas{real numbers} $\mathbf{R}$ as the set of all
\emfas{decimal expansions}. Note that there is a correspondence
between decimal expansions and Cauchy sequences of rational numbers.
On the one hand, writing the terms of a Cauchy sequence $x_n$ in
decimal form and using \eqref{eq:cauchy}, we easily see that the
decimals are fixed as $n$ is increased. On the other hand, if we have
decimal expansion, then we can form a Cauchy sequence $x_n$ by
truncating it after $n$ decimals. Note also, that a real
number cannot (in general) be specified exactly; but we can specify it
up to any desired accuracy.
If $f$ is Lipschitz continuous and $x_n$ is a Cauchy sequence, then it
follows from \eqref{eq:lipschitz} and \eqref{eq:cauchy} that $f(x_n)$
is a Cauchy sequence. In this way we extend $f$ from
$f:\mathbf{Q}\to\mathbf{Q}$ to $f:\mathbf{R}\to\mathbf{R}$.
The use of numerical algorithms to construct new objects is
fundamental to our program. The students first encounter such a
constructive argument in the classical construction of $\sqrt2$ by
solving the algebraic equation $f(x)=x^2-2=0$ by means of the
bisection algorithm. Each student is instructed to write a
Matlab program implementing the bisection algorithm. The results of
two computations with the program are shown in the table. The results
indicate that the decimals are fixed as we go down the table and that
therefore $x_n$, $y_n$ are Cauchy sequences.
\bigskip
\begin{tabular}[h]{rr}
$x_n$ & $y_n$ \\
1.50000000000000 & 1.50000000000000 \\
0.75000000000000 & 1.25000000000000 \\
1.12500000000000 & 1.37500000000000\\
1.31250000000000 & \textcolor{red}{1.4}3750000000000\\
\textcolor{blue}{1.4}0625000000000 & \textcolor{red}{1.4}0625000000000\\
\textcolor{blue}{1.4}5312500000000 & \textcolor{red}{1.4}2187500000000\\
\textcolor{blue}{1.4}2968750000000 & \textcolor{red}{1.41}406250000000\\
\textcolor{blue}{1.41}796875000000 & \textcolor{red}{1.41}796875000000\\
% \textcolor{blue}{1.41}210937500000 & \textcolor{red}{1.41}601562500000\\
\textcolor{blue}{1.41}503906250000 & \textcolor{red}{1.41}503906250000\\
\textcolor{blue}{1.41}357421875000 & \textcolor{red}{1.414}55078125000\\
% \textcolor{blue}{1.41}430664062500 & \textcolor{red}{1.414}30664062500\\
\textcolor{blue}{1.41}394042968750 & \textcolor{red}{1.414}18457031250\\
% \textcolor{blue}{1.414}12353515625 & \textcolor{red}{1.414}24560546875\\
% \textcolor{blue}{1.414}21508789063 & \textcolor{red}{1.414}21508789063\\
\textcolor{blue}{1.414}16931152344 & \textcolor{red}{1.414}19982910156\\
\textcolor{blue}{1.414}19219970703 & \textcolor{red}{1.4142}0745849609\\
\textcolor{blue}{1.4142}0364379883 & \textcolor{red}{1.41421}127319336\\
\textcolor{blue}{1.4142}0936584473 & \textcolor{red}{1.41421}318054199\\
\end{tabular}
\bigskip
Indeed, students will realize that, by construction, $|x_n-x_m|\le K
2^{-n}$ if $m\ge n$, so that the algorithm always generates a Cauchy
sequence. We therefore have constructed two real numbers (= decimal
expansions)
\begin{equation*}
\bar x=\textcolor{blue}{1.4142...} \quad \text{and} \quad
\bar y=\textcolor{red}{1.41421...}
\end{equation*}
The students are then instructed to use the Lipschitz condition to
prove that $\bar x$, $\bar y$ solve the equation in the sense that the
residuals tend to zero, i.e.,
\begin{equation*}
f(x_n)\to0, \quad
f(y_n)\to0.
\end{equation*}
In other words, $f(\bar x)=f(\bar y)=0$. Finally, we note that $f$ is
monotone for $x>0$, so that the equation $f(x)=0$ cannot have two
positive solutions. Therefore, $\bar x=\bar y=1.4142...$. This new
number is so important that we give it a name: $\sqrt2$.
Note the following steps in the constructive argument:
\begin{itemize}
\item an algorithm that generates a Cauchy sequence;
\item a proof that the limit solves the equation;
\item uniqueness of solutions.
\end{itemize}
A solution is constructed in the first two steps.
The last step means that all constructions lead to the same result.
The bisection algorithm proves the ``intermediate value theorem'': a
(Lipschitz) continuous function $f:[a,b]\to\mathbf{R}$ attains all
values between $f(a)$ and $f(b)$. Proof: if $y$ is an intermediate
value, then solve $f(x)-y=0$ by means of the bisection algorithm.
Our study of algebraic equations then proceeds to the fixed point
algorithm $x_{n+1}=g(x_n)$ for equations written in the form $x=g(x)$,
which is immediately generalized to systems of equations. Each
student writes a Matlab program and proves the ``fixed point
theorem'': the system of equations $x=g(x)$ has a unique solution if
the Lipschitz constant $L_g<1$. Proof: show that $x_n$ is a Cauchy
sequence.
Trying to optimize the fixed point algorithm, we soon discover
Newton's algorithm, which is based on the \emfas{derivative} defined by means
of \emfas{linearization}:
\begin{equation*}
f(x)=f(\bar x)+f'(\bar x)(x-\bar x)+E_f(x,\bar x),
\end{equation*}
where $|E_f(x,\bar x)|\le K|x-\bar x|^2$. Actually, this should be
$E_f(x,\bar x)=o(|x-\bar x|)$, but, as with the Lipschitz condition,
we find it pedagogically advantageous to ``cheat'' a little here and
use an explicit quantitative bound for the remainder.
Dropping the remainder we get Newton's method for $f(x)=0$:
\begin{equation*}
\begin{aligned}
&\text{solve for $h_n$: \quad} &&f'(x_n)h_n=-f(x_n), \\
&\text{update: \quad} &&x_{n+1}=x_n+h_n.
\end{aligned}
\end{equation*}
This is also immediately generalized to systems of equations, in which
case the derivative $f'(x)$ is a matrix of partial derivatives and $h$
is a column vector. This motivates the study of matrices, systems of
linear equations, and linear algebra.
Of course, each student implements Newton's method in Matlab. Also
this algorithm is associated with a theorem, namely, ``the inverse
function theorem'': Suppose that $f(x_0)=y_0$ and that the matrix
$f'(x_0)$ is nonsingular. Then $f$ has an inverse function
$x=f^{-1}(y)$ near $y_0$. Proof: solve the equation $f(x)-y=0$ by
the quasi Newton method, $x_{n+1}=x_{n}-(f'(x_0))^{-1}(f(x_n)-y)$.
Possible applications: equation of state in physical chemistry,
equilibrium equations in chemical reactions.
We now know how to construct new real numbers by solving algebraic
equations $f(x)=0$. We also have access to the following classes of
functions:
\begin{itemize}
\item polynomials $p(x)$, $q(x)$;
\item rational functions $\displaystyle{\frac {p(x)}{q(x)}}$;
\item their inverses: $f(x)=y \Rightarrow x=f^{-1}(y)$.
\end{itemize}
What about $\log(x),\ \exp(x),\ \sin(x),\ \cos(x)$? This question is
answered in the following course.
\subsection{Analysis and Linear Algebra B}
\subsubsection*{Theme: system of ordinary differential equations $u'(x)=f(x,u(x))$.}
We follow same constructive approach as for algebraic equations.
Beginning with the simplest case,
\begin{align*}
&u'(x)=f(x), \quad a0,\\
&u(0)=1.
\end{align*}
Students implement the same algorithm,
$U_n(x_{i})=U_n(x_{i-1})+h_nU_n(x_{i-1})$, and construct the
\emfas{exponential function}, ${u(x)=\exp(x)}$. Its properties are
explored.
In order to construct the \emfas{trigonometric functions} we solve
the second order equation
\begin{align*}
&w''+w=0, \quad x>0,\\
&w(0)=0,\ w'(0)=1,
\end{align*}
by writing it as a system of two first order equations $u'=Au$, where
$\displaystyle{
u=
\begin{bmatrix}
u_1 \\ u_2
\end{bmatrix}
=
\begin{bmatrix}
w \\ w'
\end{bmatrix}
}
$
and
$\displaystyle{
A=
\begin{bmatrix}
0&1\\
-1&0
\end{bmatrix}
}$. The implementation of the algorithm
$U_n(x_{i})=U_n(x_{i-1})+h_nAU_n(x_{i-1})$ is a simple modification of
the program for the exponential function. We obtain
$w(x)=u_1(x)=\sin(x)$, $w'(x)=u_2(x)=\cos(x)$. We prove that this
coincides with the well known geometric definition together with other
properties.
Finally, we solve the \emfas{general system of ordinary differential equations}:
\begin{align*}
&u'(x)=f(x,u(x)), \quad x>a,\\
&u(a)=u_a.
\end{align*}
The implementation of the algorithm
$U_n(x_{i})=U_n(x_{i-1})+h_nf(x_{i-1},U_n(x_{i-1}))$ is a simple
modification of that for the trigonometric functions. In this way,
step-by-step, each student writes his own ODE solver with the
same syntax as Matlab's built-in ODE solvers. Depending on their
individual skill and ambition, students also implement improved
versions of the basic algorithm, including such things as higher order
method, implicit method, adaptive step selection.
We also devote time to symbolic calculation (by hand) of integrals.
Similarly, we solve simple special ordinary differential equations
symbolically: separable nonlinear ODEs, linear ODEs with constant
coefficients. The latter motivates further study of linear algebra:
the eigenvalue problem, basis, subspace.
Applications: mechanical systems, mixing of fluids, chemical reaction
kinetics, population dynamics.
\subsection{Analysis and Linear Algebra C}
\subsubsection*{Theme: partial differential equation
$-\nabla\cdot(a(x)\nabla u(x))=f(x)$.}
Here we study the usual topics of calculus in several variables:
partial derivative, gradient, divergence, multiple integral, curve
integral, surface integral, and integral theorems.
Applications include: heat conduction, diffusion, electrostatics. In
this course we aim at setting up such models involving the partial
differential equations. We solve them in the following courses.
\subsection{Differential Equations and Scientific Computing A, B}
\subsubsection*{Theme: nonlinear system of partial differential equations
$u_t-\nabla\cdot(a(x,u)\nabla u)=f(x,u)$.}
In these courses students study the basic theory of partial
differential equations and, starting from template programs, they
implement the finite element method in Matlab in a style similar to
Matlab's PDE Toolbox.
This makes it possible to do advanced applications projects involving
coupled phenomena such as heat conduction, diffusion, convection,
chemical reaction, and fluid flow.
\section{Conclusion}
The experience of the reform so far is encouraging: The key goal of
giving each student the ability to effectively use computational
mathematical modeling in applications has been reached to a large
extent. At the end of the mathematics program in the first semester
of the second year, the students are able to model, for example,
complex reaction-diffusion-convection systems using their own computer
programs, which are based on mathematics that they seem to master.
This ability opens new possibilities for using mathematical modeling
in courses in Chemical Reaction Engineering, Chemical Engineering
Design, Transport Processes, Physical Chemistry, Thermodynamics, which
play a central role in the chemical engineering education.
The mathematics reform program is being evaluated by U.~Runesson from
the Department of Education at G{\"o}teborg University. The final
report is not yet available.
Detailed information about the mathematics reform program can be found
on %\\ \texttt{http://www.phi.chalmers.se/education}.
\hhref{http://www.phi.chalmers.se/education}
{http://www.phi.chalmers.se/education}
\end{document}