MATHEMATICAL PROGRAMMING AND PROFESSIONAL SKILLS - 2026/7
Module code: MAT1042
Module Overview
Programming is a companion to the modern mathematician and provides a means to tackle and provide insight into problems which are insoluble by analytical means alone. This module will first develop core programming capability and knowledge of fundamental aspects of programming, including loops, functions and conditional statements. Building on these foundations, the module will then cover aspects of the analysis and visualisation of data, including linear regression to model and interpret quantitative relationships, and mathematical modelling, equipping students with the ability to analyse data and model real world scenarios. The module also aims to develop professional skills required in the contemporary workplace, such as teamwork, report writing, communication of complex ideas through presentation and the use and critical evaluation of the output of modern AI tools. The different strands of this module combine to ensure students are equipped with a relevant and transferrable set of mathematical, computational and professional skills
Module provider
Mathematics & Physics
Module Leader
ROBERTS James (Maths & Phys)
Number of Credits: 15
ECTS Credits: 7.5
Framework: FHEQ Level 4
Module cap (Maximum number of students): 150
Overall student workload
Workshop Hours: 1
Independent Learning Hours: 29
Lecture Hours: 24
Seminar Hours: 5
Laboratory Hours: 22
Guided Learning: 45
Captured Content: 24
Module Availability
Semester 2
Prerequisites / Co-requisites
None.
Module content
Indicative content includes:¿
Programming: variables, in-built functions, data types, file/script writing, data types; insights into the structure of a scientific programming language such as Python, such as objects, instances, attributes, functions, definitions, loops, logical statements and so on; the use of packages useful for data science and/or mathematical modelling; scientific code structuring; loading of python packages; loading, storing and manipulation of data files; plotting and debugging codes; data pre-processing; data visualisation; and data analysis; simple regression analysis; model validation; making projections; mathematical modelling; computational solution of ODEs.
Data Analysis/Modelling: Introduction; data sets; data visualisation; data security; ethics; trends and anomalies; reproducibility; using a scientific programming language such as Python for data analysis; regression analysis; model validation and projections; mathematical models; computational solutions of ODEs
Overleaf: Setting up LaTeX documents; Typesetting; Handling Errors; Using Packages; Structuring Documents; Figures and tables; Bibliographies; Further online Resources; report writing in overleaf.
Skills Development: Scientific Report Writing; good coding practices; good report writing practices; project planning and managing projects; (group) project work; presentation skills; and also potentially how to research and/ critical Thinking/Review of information sources
Assessment pattern
| Assessment type | Unit of assessment | Weighting |
|---|---|---|
| School-timetabled exam/test | Programming Test | 40 |
| Coursework | Group Project | 40 |
| Oral exam or presentation | Presentation | 20 |
Alternative Assessment
The alternative assessment for the group project is an individual piece of coursework covering the same learning outcomes.
Assessment Strategy
The assessment strategy is designed to provide students with the opportunity to demonstrate:
- Understanding of the use of a scientific language, such as Python, to solve problems in data science.
- Ability to extract valuable information from the results of their data analysis and/or modelling.
- Ability to write well-structured, reusable, functional code.
- Ability to work as part of a group and to communicate mathematical concepts and results.
Thus, the summative assessment for this module consists of:
40% Programming Test - corresponding to Learning Outcome 1 and elements of Learning Outcomes 2 and 3
40% Group Project - technical report based on open ended investigative project - corresponds to Learning Outcomes 2-4.
20% presentation skills - correspond to Learning Outcome 5.
Formative assessment
Unassessed Coursework may be used to aid in preparation for the programming test and/or group project and presentation assessment.
Feedback
Students receive feedback on any formative unassessed coursework. Such feedback will be timed so as to assist students with related assessments. Students also receive verbal feedback in computer lab sessions and in office hours.
Module aims
- Equip students with the skills to use programming for problem solving in mathematics.
- Equip students with the skills to apply programming in some of the following areas: data science, data analysis, regression and mathematical modelling/solution of ODEs.
- Introduce students to the fitting and use of basic regression models to analyze data sets.
- Equip students with the skills to communicate subject specific concepts and results effectively.
- Give students the practical experience of working effectively in a group. This includes planning work, the allocation of resources to meet deadlines and management of the production of a group submission.
Learning outcomes
| Attributes Developed | ||
| 001 | Students will demonstrate the ability to use and apply fundamental aspects of programming for scientific/mathematical computing (such as loops, functions, conditional statements and so on). | KCPT |
| 002 | Students will demonstrate the ability to use programming for more advanced scientific computing including a selection of data analysis and visualisation and/or regression analysis and/or modelling/ODE solution. | KCPT |
| 003 | Students will demonstrate the capability to apply simple data analysis and/or mathematical modelling concepts and to interpret the results, and to have critically evaluated the use code generated by AI either in learning outcomes 1) or 2) | KCPT |
| 004 | Students will be able to write a report on an investigation and its results, including a selection of data analysis and visualization, model fitting, ODE solving and results. | PT |
| 005 | Students will be able to prepare and deliver a presentation | PT |
Attributes Developed
C - Cognitive/analytical
K - Subject knowledge
T - Transferable skills
P - Professional/Practical skills
Methods of Teaching / Learning
The learning and teaching strategy is designed to provide:
- A comprehensive introduction to programming in a scientific language such as Python with a focus on giving students experience in implementing codes for problem solving in mathematics.
- Experience in programming in in a scientific language such as Python to tackle problems in data science and/or mathematical modelling, to enhance students' digital capabilities and employability.
- Practical experience in analysing data and/or using mathematical modelling to extract or derive valuable information, to enhance student resourcefulness and resilience.
The¿learning and teaching¿methods include:
- 2 hours computer laboratories per week for 11 weeks. The lab sessions are used to reinforce material covered in lectures and to give students the opportunity to apply methods through practical programming worksheets and exercises using a scientific language such as Python.
- The first 8 weeks of computer labs will be based on content from lectures, weeks 9,10,11 labs will be reserved for project work.
- 3 one hour lectures for weeks 1 ¿ 8. Where appropriate the lectures are delivered as seminar or tutorial style sessions and may also be repurposed as programming labs depending on the content of each week.
- A programming test to encourage development of the fundamental mathematical programming skills required to succeed later in the course and degree.
- Assessed coursework to give students practical experience of implementing techniques covered in lectures and lab sessions in an extended piece of work.
- Unassessed coursework(s) used as appropriate to give students experience of using techniques introduced in the module and to receive formative feedback.
- Occasionally a small number of additional extra sessions may be timetabled, for example to increase time in computer labs.
- Lectures may be recorded. Lecture recordings are intended to give students the opportunity to review parts of the session that they might not have understood fully and should not be seen as an alternative to attendance at lectures.
Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.
Reading list
https://readinglists.surrey.ac.uk
Upon accessing the reading list, please search for the module using the module code: MAT1042
Other information
The School of Mathematics and Physics is committed to developing graduates with strengths in Digital Capabilities, Employability, Global and Cultural Capabilities, Resourcefulness and
Resilience and Sustainability. This module is designed to allow students to develop knowledge,
skills, and capabilities in the following areas:
Digital Capabilities: Students gain experience in programming with Python.
Employability: The programming and report writing skills developed in the module are valued by employers in many sectors. Further, the group work emulates working styles of many employment types, with the communication and group working skills developed being widely transferable.
Global and Cultural Capabilities: The group work is a key part of MAT1042. Through this work, students gain experience of working with people from a range of cultural backgrounds.
Resourcefulness and Resilience: The demands of the data analysis and Python coding enhance student resourcefulness. Group dynamics and shared responsibilities teach resilience in the face of setbacks. This combination equips learners with valuable skills to adapt, problem-solve, and succeed.
Sustainability: The data analysis skills learned in MAT1042 equip students with the skills to analyse data on resource consumption, emissions, and environmental impact, facilitating the development of sustainable practices. Thus, this module plays a role in creating a more sustainable future.
Programmes this module appears in
| Programme | Semester | Classification | Qualifying conditions |
|---|---|---|---|
| Mathematics and Physics MPhys | 2 | Compulsory | A weighted aggregate mark of 40% is required to pass the module |
| Mathematics and Physics MMath | 2 | Compulsory | A weighted aggregate mark of 40% is required to pass the module |
| Mathematics and Physics BSc (Hons) | 2 | Compulsory | A weighted aggregate mark of 40% is required to pass the module |
| Mathematics BSc (Hons) | 2 | Compulsory | A weighted aggregate mark of 40% is required to pass the module |
| Financial Mathematics BSc (Hons) | 2 | Compulsory | A weighted aggregate mark of 40% is required to pass the module |
| Mathematics MMath | 2 | Compulsory | A weighted aggregate mark of 40% is required to pass the module |
| Mathematics with Data Science BSc (Hons) | 2 | Compulsory | A weighted aggregate mark of 40% is required to pass the module |
Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2026/7 academic year.