MA1003: Computing for Mathematics

School Cardiff School of Mathematics
Department Code MATHS
Module Code MA1003
External Subject Code 101029
Number of Credits 20
Level L4
Language of Delivery English
Module Leader Professor Vincent Knight
Semester Double Semester
Academic Year 2020/1

Outline Description of Module

In the modern world it is imperative for a mathematician to know how to program. This module will give students an introduction to general concepts of programming that should empower them through their degree and beyond.

This module will introduce Students to programming through Python. The module will also teach particularities of programming applied to mathematics.

Prerequiste:  A pass in A-level Mathematics of at least grade A.

On completion of the module a student should be able to

  • Understand and be able to write in Python the following programming ideas: Conditional Statements; Flow Control; Data Structures; Recurrence, Basic ideas of Object Orientated Programming.
  • Use the above and a number of Python libraries to tackle mathematical problems.
  • Have a basic knowledge of LATEX.

Work in groups to tackle problems and convey solutions to those problems through presentation.

How the module will be delivered

Modules will be delivered through blended learning. You will be guided through learning activities appropriate to your module, which may include:

  • On-line resources that you work through at your own pace (e.g. videos, web resources, e-books, quizzes),
  • On-line interactive sessions to work with other students and staff (e.g. discussions, live streaming of presentations, live-coding, group meetings)
  • Face to face small group sessions (e.g. tutorials, exercise classes, feedback sessions)

Skills that will be practised and developed

The following skills will be practised and developed:

  • Programming;
  • Group Work;
  • Research;
  • Presentation

How the module will be assessed

The module will be assessed in two parts. The first semester will make use of individual assessment (course work) to assess the content delivered. The second part of the assessment will be through a group project done over the entire second semester. Students will be asked to build a program to solve/illustrate a particular mathematical problem (of the groups’ choosing). The assessment will be based on difficulty, output (program and written report) and on a final presentation. The students will be expected to work the equivalent of 5 credits for this part of the assessment.  The first two learning outcomes will be assessed with the first part of the assessment whilst all of them will be assessed with the second part.

Assessment Breakdown

Type % Title Duration(hrs)
Written Assessment 50 Individual Coursework N/A
Presentation 50 Group Coursework/ Presentation N/A

Syllabus content

  •  
  • Basic programming
  • Conditional statements
  • Flow control
  • Data structures
  • Recurrence
  • Basic Objects Orientated Programming
  • Solving Algebraic equations
  • Handling Series
  • Drawing plots
  • Symbolic calculus
  • LATEX
  • Library Skills
  • PDP
  • Careers
  • Enterprise
  • Agile workflow

Essential Reading and Resource List

Please see Background Reading List for an indicative list.

Background Reading and Resource List

The course is self contained but the following are recommended:

A byte of Python. Freely available at http://bit.ly/2nsBgDp

Hetland, M. L. 2017. Beginning Python: from novice to professional. 3rd ed. Springer. eBook available at: http://bit.ly/2dbp4jl

Lutz, M. 2013. Learning Python. 5th ed. O'Reilly. eBook available at: http://bit.ly/2cvINfx

Finch, C. 2011. Sage beginner’s guide. Sage. eBook available at: http://bit.ly/2dlFQ2D

Sage Documentation

Gratzer, G. 2016. More Math into LaTeX. 5th ed. Springer. eBook available at: http://bit.ly/2d6hw5q

Print copies are also available in the library.


Copyright Cardiff University. Registered charity no. 1136855