Modules - 2014


Modules for 2014/2015

Degree Programmes for 2014/2015

WARNING: Some of the Syllabus Pages linked from the module codes may be for earlier academic years, if an updated version for 2014/2015 is not yet available. Such Syllabus Pages are subject to change.

Note to module providers: if you wish to change your syllabus, see the instructions in MDs-XML-Notes.

Table of Modules

Level Code Module Title Sem1 Sem2 Lecturer(s) Reviewer E-mail List Taught with Number
1/C 22754.1 Foundations of Computer Science: Sem1 10 Dan Ghica Martin Escardo mod-found-cs
1/C 22754.2 Foundations of Computer Science: Sem2 10 John Bullinaria
1/C 21156 Information & the Web 10 David Parker Shan He mod-info-web
1/C 23069 Introduction to AI 10 Volker Sorge Mark Lee mod-intro-ai
1/C 20415 Introduction to Mathematics for Computer Science 10 10 John Barnden:10, Steven Vickers:10 (John Barnden) Paul Levy mod-intro-maths
1/C 11224 Introduction to Software Engineering 10 Shereen Fouad Ela Claridge mod-intro-se
1/C 24635 Introductory Computer Science 10 10 Hamid Dehghani:10, Peter Tino:10 Ela Claridge mod-intro-cs
1/C 21155 Language & Logic 10 Mark Lee Peter Hancox mod-lang-logic
1/C 22382 Robot Programming 10 Nicholas Hawes Jeremy Wyatt mod-robot-prog
1/C 18190.1 Software Workshop 1: Sem1 20 Jon Rowe Manfred Kerber mod-sww1
1/C 18190.2 Software Workshop 1: Sem2 10 Martin Escardo
1/C I 26254 ICY Operating Systems and Networks 10 Behzad Bordbar Jon Rowe mod-icy-os-net
1/C I 26955 ICY Software Workshop 20 20 Uday Reddy David Parker mod-icy-sww 0
1/C I 21977 ICY: Data Structures & Algorithms 10 [Paul Levy] [Iain Styles] mod-icy-datastruct 21921
1/C I 21980 ICY: Databases 10 [Shereen Fouad] [John Barnden] mod-icy-db 21923
1/C I 27110 ICY: Introduction to Artificial Intelligence 10 Michael Mistry John Bullinaria mod-icy-iai 0
1/C I 21978 ICY: Introduction to Computer Science 10 [Steven Vickers] [Uday Reddy] mod-icy-ics 21933
1/C I 27111 ICY: Introduction to Human Computer Interaction 10 Bob Hendley Russell Beale mod-icy-ihci 0
1/C I 25078 ICY: Software Engineering 10 [Rami Bahsoon] [Uday Reddy] mod-icy-se 21936
2/I 26266 C/C++ 10 Hayo Thielecke Eike Ritter mod-c
2/I 19339 Computational Vision 10 Hamid Dehghani Ales Leonardis mod-comp-vision
2/I 24055 Computer Science Industrial Placement 60 60 Ian Batten: John Bullinaria mod-placement
2/I 18183 Computer Science Study Abroad 60 60 (Bob Hendley) John Bullinaria mod-study-abroad
2/I 19340 Computer Systems & Architecture 10 Iain Styles Mirco Musolesi mod-sys-arch
2/I 25344 Functional Programming 10 Martin Escardo Achim Jung mod-funct-prog
2/I 26265 Introduction to Computer Security 10 Tom Chothia Hayo Thielecke mod-intro-comp-sec
2/I 21254 Mathematical Techniques for Computer Science 10 Achim Jung Hamid Dehghani mod-maths-cs
2/I 05934 Models of Computation 10 Paul Levy Steven Vickers mod-models
2/I 02495 Natural Language Processing 1 10 John Barnden Peter Hancox mod-nlp1
2/I 25345 Professional Computing 10 Mark Lee: (Mark Lee) Nicholas Hawes mod-prof-comp
2/I 26264 Reasoning 10 Volker Sorge Manfred Kerber mod-reasoning 0
2/I 26425 Software Engineering I 10 Joan Jackson (Rami Bahsoon) Behzad Bordbar mod-se1 0
2/I 26426 Software Engineering II 10 Rami Bahsoon Behzad Bordbar mod-se2 0
2/I 19321 Software System Components 20 Bob Hendley:10:DBs, Shan He:10:Networks/Concurrency Rami Bahsoon mod-ssc-a
2/I 26263 Team Project 20 Ela Claridge:10 Rami Bahsoon mod-team-proj 0
3/H 26943 Advanced Topics in Functional Programming 10 Dan Ghica:5, Neelakantan Krishnaswami:5 Martin Escardo mod-adv-fp 0
3/H 25647 Commercial Computing 10 Shereen Fouad:5, Xin Yao:5 Russell Beale mod-comm-comp * 0
3/H 02578 Compilers & Languages 10 Ian Batten Hayo Thielecke mod-compilers *
3/H 26581 Computer Science Project 20 20 Ela Claridge Eike Ritter mod-compsci-proj 0
3/H 02525 Databases 2 10 Ata Kaban John Barnden mod-databases2
3/H 26945 Distributed and Parallel Computing 10 Dan Ghica Mirco Musolesi mod-dist-para-comp 0
3/H 26947 Enterprise Systems 20 Behzad Bordbar:20 (Behzad Bordbar) Dan Ghica mod-enterprise-sys 0
3/H 02408 Graphics 2 10 Ales Leonardis Hamid Dehghani mod-graphics2
3/H 22133 Human Computer Interaction 10 Russell Beale Bob Hendley mod-hci *
3/H 15506 Individual Study 1 10 10 (Ela Claridge) Ata Kaban mod-ind-study1
3/H 20122 Intelligent Data Analysis 10 Peter Tino Ata Kaban mod-ida *
3/H 13520 Intelligent Robotics 20 Jeremy Wyatt Nicholas Hawes mod-int-robot
3/H 26428 Machine Learning 10 Ata Kaban Peter Tino mod-mach-learn * 0
3/H 26949 Nature Inspired Optimisation 20 Shan He:10, Christine Zarges:10 (Shan He) Xin Yao mod-nature-insp-opt 0
3/H 26951 Networks 20 Ian Batten Eike Ritter mod-ntw 0
3/H 20416 Neural Computation 10 John Bullinaria Peter Tino mod-neural-comp *
3/H 26953 Operating Systems 20 Eike Ritter Bob Hendley mod-op-syst 0
3/H 02552 Principles of Programming Languages 10 Uday Reddy Paul Levy mod-prog-lang
3/H 02596 Project - E&SE/BEng 10 30 [ (Ela Claridge)] [Peter Tino] mod-proj-eseb 02456*
3/H 15500 Software Design Study 10 20 (Russell Beale) Mark Lee mod-sw-design
3/H 25646 Teaching Computer Science in Schools 10 Achim Jung Volker Sorge mod-teach 0
4/M U 02456 Project - E&SE/MEng 30 30 [ (Ela Claridge)] [Peter Tino] mod-proj-esem 02596*
4/M U 26586 Project Masters M40 10 30 (Ela Claridge) Peter Tino mod-prog-m40 0
4/M U 26587 Project Masters M60 20 40 (Ela Claridge) Peter Tino mod-prog-m60 0
4/M 25020 Advanced Human Computer Interaction 10 [Russell Beale] [Bob Hendley] mod-hci-masters 22133
4/M 25021 Advanced Robotics 20 Michael Mistry Jeremy Wyatt mod-adv-robot
4/M 26942 Advanced Topics in Functional Programming Extended 10 Dan Ghica:10 (Unassigned) Martin Escardo mod-adv-fp-ext 0
4/M 25648 Commercial Computing (Extended) 10 [Shereen Fouad:, Xin Yao:] [Russell Beale] mod-comm-comp-ext 25647 0
4/M 15255 Compilers & Languages (Extended) 10 [Ian Batten] [Hayo Thielecke] mod-compilers-ext 02578
4/M 22313 Computational Tools for Modelling and Analysis 10 Iain Styles Shan He mod-computational-tools
4/M 23899 Computer Security 20 Tom Chothia Ian Batten mod-comp-sec
4/M 20008 Cryptography 10 Eike Ritter Volker Sorge mod-crypt
4/M 26944 Distributed and Parallel Computing (Extended) 10 Dan Ghica Mirco Musolesi mod-dist-para-comp-ext 0
4/M 26946 Enterprise Systems (Extended) 20 Behzad Bordbar Dan Ghica mod-enterprise-sys-ext 0
4/M 23856 Evaluation Methods and Statistics 10 Achim Jung Xin Yao mod-ems
4/M 07953 First semester mini-project 30 (Behzad Bordbar) John Bullinaria mod-mini1
4/M 22312 Imaging and Image Analysis 10 Hamid Dehghani:, Iain Styles:, Ela Claridge: Ales Leonardis mod-image-analysis
4/M 19009 Individual Study 2 10 10 (Ela Claridge) Ata Kaban mod-ind-study2
4/M 20233 Intelligent Data Analysis (Extended) 10 [Peter Tino] [Ata Kaban] mod-ida-ext 20122
4/M 15267 Intelligent Robotics (Extended) 20 Jeremy Wyatt Nicholas Hawes mod-int-robot-ext
4/M 22456 Internet Security Seminar 10 Flavio Garcia Dan Ghica mod-internet-sec
4/M 12412 Introduction to Neural Computation 10 [John Bullinaria] [Peter Tino] mod-intro-neural-comp 20416
4/M 20236 Machine Learning (Extended) 10 [Ata Kaban] [Peter Tino] mod-mach-learn-ext 26428
4/M 25689 Mobile & Ubiquitous Computing (Extended) 20 Mirco Musolesi:10, Ian Batten:10 Eike Ritter mod-mobile-comp
4/M 26948 Nature Inspired Optimisation (Extended) 20 Shan He:10, Christine Zarges:10 (Shan He) Xin Yao mod-nature-insp-opt-ext 0
4/M 23900 Network Security 20 Ian Batten Tom Chothia mod-net-sec
4/M 26950 Networks (Extended) 20 Ian Batten Eike Ritter mod-ntw-ext 0
4/M 26952 Operating Systems (Extended) 20 Eike Ritter Bob Hendley mod-op-syst-ext 0
4/M 26954 Principles of Programming Languages (Extended) 10 Uday Reddy Paul Levy mod-prog-lang-ext 0
4/M 18159 Project (CompSci - MSc) (Behzad Bordbar) Peter Tino mod-proj-msc
4/M 02637 Project - Advanced MSc (Behzad Bordbar) Peter Tino mod-proj-msc-adv
4/M 25097 Project - MSc Robotics (Jeremy Wyatt) Peter Tino mod-proj-robotics
4/M 06991 Research Skills 10 Peter Hancox Iain Styles mod-res-skills
4/M 25022 Research Topics in HCI 10 Bob Hendley Russell Beale mod-hci-research
4/M 25024 Robot Vision 20 Ales Leonardis Michael Mistry mod-robot-vision
4/M 07954 Second semester mini-project 30 (Behzad Bordbar) John Bullinaria mod-mini2
4/M 20010 Secure Programming 10 Hayo Thielecke Tom Chothia mod-sec-prog
4/M 27113 Software Engineering 1 (Extended) 10 Joan Jackson Behzad Bordbar mod-se1-ext 0
4/M 27114 Software Engineering 2 (Extended) 10 Rami Bahsoon Behzad Bordbar mod-se2-ext 0
4/M 25033 Team Programming 20 Ela Claridge Manfred Kerber mod-team-prog
4/M C 21921 Fundamentals: Data Structures 10 Paul Levy (Steven Vickers) Iain Styles mod-fund-datastruct *
4/M C 21923 Fundamentals: Databases 10 Shereen Fouad John Barnden mod-fund-db *
4/M C 21933 Fundamentals: Intro to Computer Science 10 Steven Vickers Uday Reddy mod-fund-ics *
4/M C 21936 Fundamentals: Software Engineering 10 Rami Bahsoon Uday Reddy mod-fund-se *
4/M C 27112 Introduction to Artificial Intelligence 10 Michael Mistry John Bullinaria mod-intro-ai 0
4/M C 21253 Introduction to Human-Computer Interaction 10 Bob Hendley Russell Beale mod-intro-hci
4/M C 26255 MSc Operating Systems and Networks 10 Behzad Bordbar Jon Rowe mod-msc-os-net 0
4/M C 26956 MSc Software Workshop 20 20 Uday Reddy David Parker mod-sww-msc 0
4/M C 26260 MSc Software Workshop 1 20 Manfred Kerber David Parker mod-sww-msc-1 0
4/M C 06997 Project - Conversion MSc (Behzad Bordbar) Peter Tino mod-proj-conv



Modules are arranged by Level (and then by Title). The University is moving from a numerical labelling of Levels (1-4) to a letter-based labelling (C = Certificate, I = Intermediate, H = Honours, M = Masters).

Any additional letter is only for use within the School.

Level 0 modules are intended for the Foundation Year (Foundation Academy).

For Levels 1/C to 3/H, 'I' after the level designation marks modules only available to the Intercalated Year, 'Q' those only available as a Module Outside the Main Discipline.

For Level 4/M, 'U' marks modules available only for undergraduate MEng/MSci programmes, 'C' only the conversion MSc, 'A' only advanced MSc programmes.

Module Codes

All university modules have an official Module Code, often called the "Banner" code. Codes consist of a two digit "area" code followed by a five digit code for the module. Currently these five digit codes are unique, i.e. the area code is redundant. The area code for Computer Science is 06, and is omitted in the table above.

The Module Codes in the table are linked to "Syllabus Pages". These in turn link to the School of Computer Science Module Description. (Note to module providers: if you wish to change your syllabus page/module description, see the instructions in MDs-XML-Notes.)

Pseudo-Module Codes of the form 06-N#### are used when a module has not yet been assigned an official Module Code.

See below for submodules.

Module Title

Unfortunately, different University databases contain different variants of module titles, partly because the maximum number of characters allowed varies. The module code is the only sure guide.

Submodules have no status outside the School, merely reflecting the way the module is taught. They are designated by a Module Code with digits after a decimal point: thus 12345.2 would be the code for the second submodule for the module with code 12345. Text after a colon in a Module Title gives the title of the submodule, reflecting the way the module is taught.


Parentheses around a lecturer's name indicate co-ordination, i.e. that the number of lectures involved is either none or very few.

Where no coordinator is given, the FIRST-named lecturer is responsible for coordinating the module (except in the case of linked modules, where the coordinator for the SECOND module is responsible for combining assessment marks).

Square brackets around a lecturer's name indicate significant overlap of teaching with another module. The Taught With column indicates which other module or submodule the unit is taught with.


Numbers are generally estimates, particularly for optional modules. Where no number is given and the lecturer name is in [..], the number has been included in the overlapping module.

E-mail List

The e-mail list for each module is automatically derived from the School's database. Changes to module registrations made via the School Office should normally be reflected in the e-mail list overnight. Note that the e-mail lists are strictly one per module; where modules are taught together all relevant e-mail lists need to be used in order to contact students.

Taught With

A non-blank entry in this column indicates that the (sub)module is taught with some other (sub)module(s). * indicates that it is considered the 'base' unit, i.e. there will at least one other (sub)module taught with this module. A (sub)module code in this column gives the code of the 'base' unit it is taught with.