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 Hantao Liu |
Semester | Spring Semester |
Academic Year | 2018/9 |
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
1. Show awareness of different aspects of mathematics in analysing and understanding important areas of computing
2. Appreciate how mathematical techniques contribute to the study of computing
3. Apply mathematical techniques and knowledge to a problem or situation
4. 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 is a 100% resit examination during the summer.
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
Foundation Maths, 6th Ed. A. Croft and R. Davison, Pearson/Prentice Hall, 2016.
Understanding Pure Mathematics. A.J. Sadler and D.W.S. Thorning, Oxford University Press, 1987 (reprinted in 2002).
Core Python Applications Programming, 3rd Edition, W. J. Chun, Prentice Hall, 2012.
NumPy: Beginner’s Guide, 3rd Edition, I. Idris, Packt Publishing, 2015