{"ModuleCode":"CS5230","ModuleTitle":"Computational Complexity","Department":"Computer Science","ModuleDescription":"The aim of this module is to study the various measures of difficulty of problem solving in computing, and to introduce some techniques in theoretical computer science such as non-determinism, digitalisation, simulation, padding, reduction, randomisation and interaction. Topics covered include: space and time complexity - the classes P, NP, co-NP, PSPACE, EXP, etc.; tape compression; linear speedup; polynomial reduction; Cook's theorem; Savitch's theorem; translation lemma; Gap theorem; NP-completeness and NP-hard problems; probabilistic complexity classes; approximation algorithms; and interactive protocols.","ModuleCredit":"4","Workload":"2-1-0-3-4","Prerequisite":"CS3231","Preclusion":"CS4230","Types":["Module"],"History":[{"Semester":2,"ExamDate":"2015-05-06T09:00+0800","Lecturers":["Jain, Sanjay (Computer Science)"],"LecturePeriods":["Tuesday Evening"],"TutorialPeriods":["Tuesday Evening"]}]}