Software Engineering (3 Years) [BSc]
Mathematical Techniques for Computer Science
|Unit level:||Level 1|
|Teaching period(s):||Full year|
|Offered by||School of Computer Science|
|Available as a free choice unit?:||N
Additional RequirementsStudents who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.
This is a full year course that focuses on areas of mathematics required to model and analyse the kind of problems that arise in computer science.
Probabilities are used for example in artificial intelligence, and play a vital role in machine learning, while the combinatorics required here also plays a role in the field of computational complexity. Vectors and matrices are the mathematical model underlying computer graphics. Logic is a tool used to reason about computer programs as well as the real world. Recursion is an important programming principle that comes with an associated proof rule, and other mathematical notions such as functions and relations are used routinely in computer science, for example when talking about database systems. Theoretical computer science can be considered an area of mathematics, and the unit also provides an introduction to the fundamental notions of this area.
Specifically the unit aims to
- introduce mathematical notions relevant to computer science and their applications;
- illustrate how abstraction allows the formulation and proof of properties for real-world and computational phenomena, and enable students to apply this technique;
- give an understanding and some practice in the fundamental notion of proof.
Students are required to undertake background reading, which is supported by lectures to explain various notions and to show the application of various techniques using examples. The coursework requires the students to solve exercises each week. Feedback for and help with this work is provided in the examples classes.
This course covers the fundamental maths required by Computer Science students in order to successfully complete the reminder of their courses as well as for a career in computer science. Topics covered include complex numbers, logic, probability, recursion and induction, relations, vectors, matrices and transformations.
Teaching and learning methods
44 in total, 2 per week
22 in total, 1 per week
Attendance: 3 hours per week
Self-study and solving coursework: ca 4 hours per week
Revision and exams: ca 45 hours
Learning outcomes are detailed on the COMP11120 course unit syllabus page on the School of Computer Science's website for current students.
- Analytical skills
- Problem solving
- Written exam - 75%
- Written assignment (inc essay) - 25%
COMP11120 reading list can be found on the School of Computer Science website for current students.
Feedback methodsOne to one feedback will be provided during examples classes. Written feedback will be provided on the marked homework and exam papers. End of semester and end of year feedback on exam performance will also be provided.
- Assessment written exam - 4 hours
- Lectures - 44 hours
- Practical classes & workshops - 22 hours
- Independent study hours - 130 hours