Module Title  LC Mathematical Foundations of Computer Science 
School  Computer Science 
Department  Computer Science 
Module Code  06 30395 
Module Lead  Kashif Rajpoot 
Level  Certificate Level 
Credits  20 
Semester  Semester 1 
Prerequisites 

Corequisites 

Restrictions  Prerequisite: Mathematics A level equivalent 
Contact Hours 
Lecture44 hours
Practical Classes and workshops22 hours
Guided independent study134 hours
Total: 200 hours

Exclusions  
Description  Most areas of Computer Science, from graphics to machine learning to cryptography, require specialised mathematical knowledge. Also, Computer Science as a discipline shares deep connections with the foundations of mathematics. This module introduces linear algebra (as used in graphics and machine learning), algebra (as used in cryptography), and set theory (a fundamental language of mathematics). It also deals with the formalisation of computability via (mathematical) automata, learning about regular expressions and grammars along the way, concluding with noncomputability and complexity. 
Learning Outcomes  By the end of the module students should be able to: 
solve mathematical problems in algebra and set theory

apply mathematical techniques to solve a problem within a computer science setting

explain the basics of automata theory, formal language theory, computability theory and complexity theory

describe and use the connection between finite automata and regular language

explain noncomputability and undecidability issues

Assessment 
3039501 : Examination : Exam (Centrally Timetabled)  Written Unseen (80%)
3039502 : Continuous Assessment : Coursework (20%)

Assessment Methods & Exceptions  Assessment:
2hr Examination (80%),
Continuous Assessment (20%)
Reassessment:
2hr Examination (100%)

Other  Duplicate of Birminghambased module 30181 
Reading List 
