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
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
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.