Skip to main content Skip to navigation

MA124 Mathematics by Computer

Lecturer: Richard Lissaman 

Term(s): Term 1 and 2

Status for Mathematics students: Core for Maths

Commitment: One lecture per week in term 1 weeks 1 - 3 and 8 - 10; two lectures per week in term 2 weeks 1 - 3, weekly support classes in same weeks in computing labs, a tutorial group project during terms 2 and start of term 3 (including a presentation at the end of term 2)

Assessment: Assessment will be via Moodle quizzes (10%), assignments (40%) and the project (50%)

Formal registration prerequisites: None

Assumed knowledge: None, other than that already covered in core first-year mathematics modules

Useful background: Prior experience with Python or other programming languages will be useful

Synergies: The lectures, course resources and assessment will make contact with material from other first-year mathematics modules, in particular:

Leads to: The following modules have this module listed as assumed knowledge or useful background:

Python is a widely used programming language that is increasingly essential knowledge for mathematicians and scientists. Python underlies important mathematical software such as Sage. It dominates many modern applications, particularly in Data Science and Machine Learning.

Python is too vast to master in an introductory module of this size. Our goal is to rapidly introduce you to some of the most important aspects of Python for mathematical and scientific work. You will learn to use powerful libraries that carry out complex tasks and allow you to concentrate on the "big picture". By the end of the module you will find the computer to be a tool that can aid you throughout your life as a mathematician and, in particular, in many modules you will take at Warwick. You should think of your computing skills as a powerful resource to be used, potentially, at any time.


The first aim is to show how the computer may be used, throughout all of mathematics, to enhance understanding, make predictions and test ideas.


The module will be taught using Python. Through using this language you will be introduced to the rudiments of computer programming.

You will learn how to graph functions, study vectors and matrices graphically and numerically, how to iterate and use iteration to study sequences and series, how to solve algebraic and differential equations numerically, how to use symbolic algebra in Python as well as some statistical techniques.


    • M Lutz, Learning Python, O'Reilly Media Inc., 3rd edition, 2007, ebook here
    • JV Guttag, Introduction to Computation and Programming Using Python, MIT Press, 2nd edition, 2016, ebook here


Additional Resources