Programme/Approved Electives for 2024/25
None
Available as a Free Standing Elective
No
Aims
This module introduces students to computational problem solving and demonstrates the concept of an algorithm described by pseudocode as a tool to solve clearly defined computational problems which is independent of a particular programming language. Techniques will be developed to break down a complex problem into smaller components and a variety of problem solving techniques will be acquired. Properties of algorithms will be studied.
Intended Learning Outcomes
Apply appropriate techniques to systematically decompose a complex problem into smaller parts which can then be directly solved: 1Produce pseudocode or algorithm descriptions to solve simple computational problems: 1Derive the computational complexity of simple algorithms and define simple complexity classes: 1Explain the notion of universal machines and undecidability: 1
22 hours of lectures11 hours of tutorials (working in small groups on tutorial sheets)An indicative breakdown of the 117 hours of private study would be 45 hours of revision of lecture slides and notes; 33 hours of preparation and revision of the tutorials; 37 hours of background reading on the subject; and two hours for the exam.
Description of Module Assessment
1: Exam weighted 100%ExaminationA two-hour unseen examination covering all module ILOs. There will be four questions, broken down into subquestions.