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

  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

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


Copyright Cardiff University. Registered charity no. 1136855