Prerequisite: MT171 and MT181
Teaching: 22hr lectures, 22hr practicals
Assessment: 2hr written examination (75%), project (25%).
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.
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++.
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.
An Introduction to C++ and numerical methods – J M Ortega
& A S Grimshaw (Oxford UP 1999) Library reference 001.6424 ORT