## Description

**What links shortening World War II by two years, landing a man on the moon and knowing if it will rain tomorrow? Computer modelling played a key role in cracking the Enigma code, preparing for the Apollo landings and providing the first accurate weather forecasts.**

As computing permeates everyday life at an increasingly rapid pace, it is becoming critical for students of ALL disciplines to appreciate the capabilities and consequences of describing real-world phenomena on a computer. STEM students should take this module to expose themselves to challenges arising in seemingly unrelated fields of enquiry and how mathematics and computing can help tackle those challenges. Non STEM students (e.g. those located in the Arts and Humanities or Social Sciences) should take this module to expose themselves to the possibilities afforded by describing and analysing real-world phenomena (e.g. food security, population growth, conflict) in a technical computing language. Employers are increasingly demanding graduates who can collaborate and work across the disciplines to tackle the big problems and upcoming challenges for society.

"*It doesn't matter how beautiful your theory is, it doesn't matter how smart you are. If it doesn't agree with experiment, it's wrong*” - Richard Feynman

"*We have no idea about the 'real' nature of things … The function of modelling is to arrive at descriptions which are useful.*” - Richard Bandler and John Grinder, 1979

This module is an interdisciplinary module teaching problem solving on a computer in a variety of disciplines, including not only the natural and mathematical sciences but in particular also social sciences, humanities and the arts. The module will focus specifically on problem solving as opposed to the fine details of computer programming. This module will provide training in practical computing skills using the state-of-the-art high-level scripting language Julia and general transferrable skills training. In addition, the module will provide a stepping-stone towards further study of scientific computing.

## Pre-requisites

A-level or equivalent in Mathematics

## Structure

1 x 2 hour lecture per week

1 x 2 hour drop-in problem class per week

## Student Resources

- Access the module learning environment via the JLauncher page. You will need an SCRTP (scientific computing research technology platform) account, which you can sign up for here.
- Module Moodle page, which includes a discussion forum for support.

- All slides, lecture notes and assignments are also available from the IL027 GitHub repository

## Outline Syllabus

*Core lectures (Weeks 1-3)*

- introduce elementary programming techniques in a high-level scripting language, Julia, e.g., variables, loops, conditionals, functions, arithmetic and the Jupyter interactive programming environment
- develop several examples of mathematical descriptions of real-world phenomena, e.g., linear systems of equations, least squares, statistical regression, cluster analysis, ordinary differential equations, sensitivity analysis
- Introduce visualisation and data analysis tools to interpret numerical data, e.g., obtained from mathematics models or from other data sources; and communicating it to an interdisciplinary audience
- Discuss, in lectures and practicals, the real-world meaning of the results of mathematical models, and the limitations in their applicability
- Progress will be assessed through 3 core assignments, taken by all students

*Topic lectures (Weeks 4-10, excluding reading week) *

- Introduce software packages designed to solve the mathematical models, and provide examples of their use for (typically real-world) application topics that may change in each year. Example topics are:
- quantum mechanics
- human population dynamics
- machine learning
- computer-generated artwork (e.g. fractal geometry)

- Progress will be continuously assessed through 6 topic assignments (15 CAT option) or 4 topic assignments (12 CAT option). All students will take part in a group project which develops one of the topics in more detail. Interdisciplinary groups of students will collaborate to produce a novel solution and communicate it to the rest of the cohort through an assessed presentation.

** **