Introduction#

Welcome to the fascinating intersection of mathematics and programming. As students with a strong foundation in logical reasoning and problem-solving, you are well-prepared to harness the power of programming. This course will expand your capabilities, allowing you to address complex problems, analyze data with precision, and create simulations that bring mathematical theories to life.

I’m a mathematics student, why do I need to learn programming?#

Programming enhances your problem-solving abilities by providing a practical toolkit for tackling mathematical challenges. With programming, you can automate calculations, test hypotheses, and visualise results, making abstract concepts more accessible and understandable.

In the current data-driven world, the ability to analyse and visualise large datasets is invaluable. Programming languages like Python and MATLAB come equipped with powerful libraries that facilitate statistical analysis and data visualisation, enabling you to extract meaningful insights from data.

Understanding and implementing algorithms is a fundamental aspect of both mathematics and computer science. Programming allows you to design, test, and optimize algorithms, deepening your understanding of their efficiency and practical applications.

Computational methods play a crucial role in many areas of mathematical research, including numerical analysis, cryptography, and modelling. Moreover, programming skills are highly sought after in various industries, ranging from finance and engineering to artificial intelligence and machine learning.

What will you learn?#

Throughout this unit, you will master the basics of programming, including syntax, data types, control structures, and functions. You will learn to apply programming skills to solve mathematical problems, such as solving equations, performing matrix operations, and conducting statistical analyses.

Developing and analysing algorithms will be a key focus, allowing you to design, implement, and optimize algorithms while gaining insights into their efficiency and practical applications. Additionally, you will learn to visualise mathematical concepts, creating visual representations of data and functions that enhance your ability to interpret and communicate results effectively.

Programming tools and languages#

We will primarily be using Python, a versatile and user-friendly language with powerful libraries such as NumPy, SciPy and Matplotlib which are tailored for mathematical and scientific computing. We will also be using MATLAB which is specifically designed to work with matrices and numerical computation. The two languages share many common themes so once you’ve learned Python you will find that using MATLAB is quite easy.

Programming skills labs#

In the programming skills labs you will work through these materials at your own pace. This will introduce and explain key concepts, demonstrating their applications in both mathematics and programming. By the end of unit course, you will have developed a powerful set of programming skills that complement your mathematical knowledge. You will be equipped to solve complex problems, analyze and visualize data, and pursue advanced studies and careers at the intersection of mathematics and technology.


Jon Shiach

Dr Jon Shiach
Homepage: jonshiach.github.io
Email: j.shiach@mmu.ac.uk
Tel: 0161 247 1515
Office: 3.27 (Dalton Building)

Wei Bai

Dr Wei Bai
Homepage: https://www.mmu.ac.uk/staff/profile/dr-wei-bai
Email: w.bai@mmu.ac.uk
Tel: 0161 247 1493
Office: 3.28 (Dalton Building)