CM1208: Maths for Computer Science
School | Cardiff School of Computer Science and Informatics |
Department Code | COMSC |
Module Code | CM1208 |
External Subject Code | 100366 |
Number of Credits | 10 |
Level | L4 |
Language of Delivery | English |
Module Leader | Professor Yukun Lai |
Semester | Spring Semester |
Academic Year | 2017/8 |
Outline Description of Module
The aim of this module is to make students aware of fundamental computing issues relating to mathematics. It will use Python to demonstrate mathematical concepts and provide mathematical and programming skills used for Computer Science.
On completion of the module a student should be able to
- Show awareness of different aspects of mathematics in analysing and understanding important areas of computing
- Appreciate how mathematical techniques contribute to the study of computing
- Apply mathematical techniques and knowledge to a problem or situation
- Demonstrate an awareness of solving practical problems using mathematics and Python programming
How the module will be delivered
The module will be delivered through a combination of lectures, supervised lab sessions, example classes and tutorials as appropriate.
Skills that will be practised and developed
Fundamental mathematics
Problem solving skills
Computer programming
How the module will be assessed
Coursework: The coursework will allow the student to demonstrate their knowledge and practical skills and to apply the principles taught in lectures.
Exam: A written exam (2 h) will test the student's knowledge and understanding as elaborated under the learning outcomes.
The potential for reassessment in this module
Reassessment will take the form of examination during the summer resit exam period.
Assessment Breakdown
Type | % | Title | Duration(hrs) |
---|---|---|---|
Exam - Spring Semester | 70 | Maths For Computer Science | 2 |
Written Assessment | 30 | Individual Project Work Using Python And Mathematics | N/A |
Syllabus content
- Secure communications and cryptography (prime numbers, factoring very large numbers, Public Key and RSA algorithms)
- Document matching and search (trigonometry, vectors)
- Fundamentals of geometry and linear algebra (matrices, dot and cross products, geometric transformations)
- Finding an answer (numerical techniques, solving equations, approximate solutions)
- Python programming for mathematical problems
Background Reading and Resource List
Croft, A and Davison, R. 2016. Foundation Maths. 6th ed. Harlow: Pearson 2016
Sadler, A.J. and Thorning D.W.S. 1987. Understanding Pure Mathematics. Oxford: Oxford University Press
Lutz, M. 2013. Learning Python. 5th ed. Cambridge: O'Reilly
Idris, I. .2015. NumPy: Beginner’s Guide: build efficient, high-speed programs using the high-performance NumPy mathematical library. 3rd ed. Birmingham: Packt Publishing