Looking for online learning materials for this unit?
Course materials are available in Blackboard

Problem Solving by Computer

Unit code: MATH36032
Credit Rating: 10
Unit level: Level 3
Teaching period(s): Semester 2
Offered by School of Mathematics
Available as a free choice unit?: N




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


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.

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 symbolically,
  • 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 his/her idea and report the results in precise and concise language.


Assessment Further Information

  • Three projects: 100%.


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.

Recommended reading

Students are strongly advised to purchase [1]. In the introductory classes students will be required to work through the tutorial in Chapter one. Frequent reference will be made to this book in the lectures. For definitions of many of the mathematical terms in this course see [2]. For guidance on technical writing see [3].

[1] Desmond J. Higham and Nicholas J. Higham, MATLAB Guide, Society for Industrial and Applied Mathematics, Philadelphia, PA, USA, 2000. ISBN 0-89871-469-9. xxii+283pp

[2] David Nelson, editor,The Penguin Dictionary of Mathematics. Penguin, London, second edition, 1998. ISBN 0-14-051342-6. 461 pp.

[3] Nicholas J. Higham. Handbook of Writing for the Mathematical Science. Society of Industrial and Applied Mathematics, Philadelphia, PA, USA, second edition, 1998. ISBN 0-89871-420-6. xvi+302 pp.

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.

Study hours

  • Lectures - 22 hours
  • Tutorials - 11 hours
  • Independent study hours - 67 hours

Teaching staff

Yanghong Huang - Unit coordinator

▲ Up to the top