BSc Mathematics

Year of entry: 2024

Course unit details:
Problem Solving by Computer

Course unit fact file
Unit code MATH36031
Credit rating 10
Unit level Level 3
Teaching period(s) Semester 1
Offered by Department of Mathematics
Available as a free choice unit? No


This module is concerned with using a modern computer software package for solving mathematical problems and hence it involves a reasonable amount of computer programming. The student will be given a thorough introduction to the capabilities of the state of the art software package MATLAB, covering numeric, symbolic (with the Symbolic Math Toolbox) and graphical features. Although MATLAB is the chosen course software, the emphasis will be given to principles that are not specific to any particular package. Basic principles of technical writing will also be taught, and the student will apply these to the written projects, which must be produced using a wordprocessing/typesetting package.


To develop skills in translating mathematical ideas into MATLAB programs, thereby using the computer as a tool to investigate and solve mathematical problems.

Learning outcomes

On successful completion of the course unit, students will be able to:

  • apply and extend built-in functions in MATLAB to solve mathematical problems in numerically or symbollically,
  • formulate practical problems given in the project description into mathematical ones and analyse them using basic tools from calculus, linear algebra, probability and differential equations.
  • construct algorithms based on built-in functions from MATLAB to solve the mathematical problems, 
  • present the results returned from MATLAB graphically (if applicable) and interpret the results,
  • apply typesetting packages (ideally Latex) to express their idea and report the results in precise and concise language.


1.General Introduction: Brief history of mathematical computing. Mathematical software packages, programming languages.

2.Programming in MATLAB: Essentials of MATLAB; vectors and matrices, colon notation, numeric output, graphics, control structures and logical tests. MATLAB functions. Symbolic and high precision computations.

3.Projects:Three projects will be set on mathematical topics, often with applications. No special background knowledge is required and the relevant theory will be covered in lectures. Marks will be awarded for mathematical content and correctness, use of MATLAB, and technical writing and presentation.

4.Laboratory Work: Approximately half of the total of 36 contact hours will be spent on lectures and the remainder on supervised computer laboratory work on the projects. Students should expect to spend more than the allocated class-time on the computer to produce their projects.

Assessment methods

  • Project 1 - weighting 30%
  • Project 2 - weighting 35%
  • Project 3 - weighting 35%

Feedback methods

Feedback tutorials will provide an opportunity for students' work to be discussed and provide feedback on their understanding.  Coursework or in-class tests (where applicable) also provide an opportunity for students to receive feedback.  Students can also get feedback on their understanding directly from the lecturer, for example during the lecturer's office hour.

Recommended reading

Essential: Desmond J. Higham and Nicholas J. Higham, MATLAB Guide, Society for Industrial and Applied Mathematics, Philadelphia, PA, USA, 2016.

Core: Nicholas J. Higham. Handbook of Writing for the Mathematical Science. Society of Industrial and Applied Mathematics, Philadelphia, PA, USA, second edition, 1998.

Recommended: Hunt, Brian R., Ronald L. Lipsman, and Jonathan M. Rosenberg. A guide to MATLAB: for beginners and experienced users. Cambridge university press, 2014.

Recommended: Attaway, Stormy. Matlab: a practical introduction to programming and problem solving. Butterworth-Heinemann, 2013.

Study hours

Scheduled activity hours
Lectures 11
Tutorials 11
Independent study hours
Independent study 78

Teaching staff

Staff member Role
Jitesh Gajjar Unit coordinator

Return to course details