# Mathematics

## ECM1709 - Programming for Mathematics (2015)

MODULE TITLE CREDIT VALUE Programming for Mathematics 15 ECM1709 Prof Jan Sieber (Coordinator)
DURATION: TERM 1 2 3
DURATION: WEEKS 11
 Number of Students Taking Module (anticipated) 213
DESCRIPTION - summary of the module content

We use computers in almost all aspects of our daily lives and throughout science, so it is easy to take them for granted. However, in order that we can use computers to solve new problems and create new things, we have to be able to program them. This module introduces you to programming and problem solving with a computer.  You will learn how to formulate an algorithm to solve a problem, and you will acquire the skills to write, test and debug a program, particularly programs with scientific and mathematical applications.

AIMS - intentions of the module

This module is an introductory course in computer programming and will introduce you to the fundamental concepts of computer algorithms and programming, with a strong emphasis on practical implementation. You will also learn how to apply analytical and problem-solving skills to the design and implementation of small applications.

INTENDED LEARNING OUTCOMES (ILOs) (see assessment section below for how ILOs will be assessed)

On successful completion of this module you should be able to:

Module Specific Skills and Knowledge

1 design an algorithm, using sequence, iteration and selection;
2 write,  test, and debug a computer program;
3 explain how a program written in a procedural language is translated into a form that allows it to be executed on a computer;
4 systematically test your programs;
5 document software to accepted standards;
6 design an algorithm, using a divide and conquer strategy;
7 demonstrate familiarity with basic numerical and discrete algorithms;
8 use a high-level programming language for basic numerical analysis, simulation and data visualisation.

Discipline Specific Skills and Knowledge

9 systematically break down a problem into its components;
10 understand and choose appropriate programming techniques.

Personal and Key Transferable / Employment Skills and Knowledge

11 analyse a problem and synthesise a solution;
12 use technical manuals and books to interpret specifications and technical errors.

SYLLABUS PLAN - summary of the structure and academic content of the module

- problem solving and programming overview: algorithms, flow charts; pseudo-code; compilers and interpreters;
- Matlab as a language: statements, comments and simple arithmetic operations;
- variables, and elementary data types;
- elementary logic, logical operations and logical selection;
- sequences and iteration: lists, loops, nested loops; accumulation as a programming idiom;
- flow control: conditional expressions, while loops; searching by bisection and bracketing;
- functions: encapsulation and abstraction; arguments and return values;
- integer and floating point representation; numerical precision;
- mutable and immutable variables: structures, cells, strings and function handles;
- basic data visualisation such as plotting graphs from mathematical expressions or data
- simulation: pseudo-random numbers; larger programs; encapsulation and program organisation;
- input/output and exceptions;
- recursion: divide and conquer algorithms
- searching and sorting: linear search versus bisection; insertion sort, bubble sort, merge sort.
- mathematical applications: examples of iterative and approximate solution of mathematical problems as encountered in other first-year modules such as root-finding, interpolation, differentiation and quadrature

LEARNING AND TEACHING
LEARNING ACTIVITIES AND TEACHING METHODS (given in hours of study time)
 Scheduled Learning & Teaching Activities Guided Independent Study 42 108
DETAILS OF LEARNING ACTIVITIES AND TEACHING METHODS
 Category Hours of study time Description Scheduled learning and teaching activities 22 Lectures Scheduled learning and teaching activities 20 Workshops/tutorials Guided independent study 66 Individual assessed work Guided independent study 42 Lecture and assessment preparation

ASSESSMENT
FORMATIVE ASSESSMENT - for feedback and development purposes; does not count towards module grade
Form of Assessment Size of Assessment (e.g. duration/length) ILOs Assessed Feedback Method
Workshop exercises 1 hour per week 1-12 Model answers and verbal feedback

SUMMATIVE ASSESSMENT (% of credit)
 Coursework Written Exams 70 30
DETAILS OF SUMMATIVE ASSESSMENT
Form of Assessment % of Credit Size of Assessment (e.g. duration/length) ILOs Assessed Feedback Method
Written Examination - closed book 30 1.5 hours All Verbal on request
Coursework - practical programming assignments 70 66 hours All Written

DETAILS OF RE-ASSESSMENT (where required by referral or deferral)
Original Form of Assessment Form of Re-assessment ILOs Re-assessed Time Scale for Re-assessment
All above Written examination (70%) All August Ref/Def period
All above Coursework (30%) All Completed over summer with a deadline in August

RE-ASSESSMENT NOTES

Students failing the module will be required to take both elements of the re-assessment.

RESOURCES
INDICATIVE LEARNING RESOURCES - The following list is offered as an indication of the type & level of
information that you are expected to consult. Further guidance will be provided by the Module Convener

ELE: http://vle.exeter.ac.uk/

Web based and Electronic Resources:

The Mathworks website: http://www.mathworks.co.uk

GNU Octave website: https://www.gnu.org/software/octave

Wikibooks: http://en.wikibooks.org/wiki/MATLAB_Programming

Participants are recommended to either purchase Matlab (student license) or install GNU Octave (free software) if they intend to work on coursework and workshop exercises on their personal computers.

Other Resources:

Reading list for this module:

Type Author Title Edition Publisher Year ISBN Search
Set Hahn, Brian D Essential MATLAB for Engineers and Scientists 4th Academic Press 2010 9780123748836 012 [Library]
CREDIT VALUE ECTS VALUE 15 7.5
PRE-REQUISITE MODULES None None
NQF LEVEL (FHEQ) AVAILABLE AS DISTANCE LEARNING 4 No Friday 09 January 2015 Friday 23 January 2015
KEY WORDS SEARCH Computer; programming; algorithms; problem solving; Matlab; Octave.