BSc Computer Science and Mathematics / Course details
Year of entry: 2020
Course unit details:
Problem Solving by Computer
|Unit level||Level 3|
|Teaching period(s)||Semester 2|
|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.
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.
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.
- Three projects: 100%.
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.
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.
|Scheduled activity hours|
|Independent study hours|
|Yanghong Huang||Unit coordinator|