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.