MT151  Computational Mathematics I  (Term 2: Dr S D Galbraith)

Prerequisite:       MT171 and MT181

Teaching:            22hr lectures, 22hr practicals

Assessment:       2hr written examination (75%), project (25%).

Aims

This course teaches how to program in C++ and how to solve a range of mathematical problems using a computer.  Programming techniques and numerical algorithms are developed in parallel and applied to practical examples.

Learning outcomes

On completion of the course, the student should be able to

·        edit, compile, run and debug C++ programs;

·        handle input and output;

·        use standard constructs like loops, arrays and functions;

·        analyse numerical errors and the precision of results;

·        understand a range of simple mathematical algorithms;

·        implement those algorithms in C++.

Content

C++ Programming:  Editing, compiling and running a program; input and output; common errors and debugging; types of variables; branching and loops; arrays and pointers; functions; structures.

Theory and applications:  Numerical error and precision.  Applications from numerical analysis, such as numerical integration, numerical derivatives, the Horner scheme to evaluate a polynomial, evaluation of series, finding zeros of a function, finding maxima of a function.  Applications from algebra, such as modular arithmetic, the Euclidean algorithm, random number generation.  Applications from combinatorics, such as recurrence relations, using a computer to solve simple enumeration problems, counting integer points in a polygon.  Searching and sorting.

Indicative Text

An Introduction to C++ and numerical methods – J M Ortega & A S Grimshaw (Oxford UP 1999)  Library reference 001.6424 ORT