MT3510 Introduction to Mathematical Computing
Academic year
2024 to 2025 Semester 2
Curricular information may be subject to change
Further information on which modules are specific to your programme.
Key module information
SCOTCAT credits
15
SCQF level
SCQF level 9
Availability restrictions
Not available to students on a single or joint honours programme in the School of Computer Science
Planned timetable
A number of tutorial times will be available during the week. Lectures will be in a pre-recorded format, released roughly on the days indicated (Monday (Odd), Wednesday, Friday).
Module Staff
Dr Chrissy Fell; Dr Collin Bleak
Module description
Computation is an important part of a modern mathematician's toolkit, and this module introduces computing. This module develops foundational computing skills in Python and sharpens these skills through practice with exploration and problem-solving within the contexts of Applied, Pure, and Statistical Mathematics.
Relationship to other modules
Pre-requisites
IF NOT ALREADY PASSED YOU MUST TAKE 1 MODULE FROM MT3501-MT3508
Assessment pattern
1 x 20% team project, 2 x 25% individual projects, 30% assessed tutorial work
Re-assessment
Take-home examination = 100%
Learning and teaching methods and delivery
Weekly contact
1 tutorial (x 11 weeks)
Scheduled learning hours
26
Guided independent study hours
120
Intended learning outcomes
- Decompose a mathematical or statistical problem into its constituent parts, recognise the hypotheses (input) and the desired conclusions (output), and implement this understanding as a computer program.
- Construct modular computer programs using the basic control structures (conditionals, loops, function calls); compound data structures (numerical, arrays, and dictionary); and algorithms combining control and data structures.
- Read and analyse the structure of a program; assess its fitness for purpose; assess its asymptotic efficiency; conduct error analysis and correct errors (debugging).
- Work with data: acquiring data from files or the web; visualisation; numerical manipulation; networks; plots; and text manipulation.
- Write programs to solve problems in selected mathematical domains, including a selection from computational algebra and combinatorics; numerical analysis and optimization; data analysis.