 Homepage
 Key Information
 Students
 Taught programmes (UG / PGT)
 Student Services and Procedures
 Student Support
 Events and Colloquia
 International Students
 Students as Change Agents (SACA)
 Student Staff Liaison Committees (SSLC)
 The Exeter Award
 Peer Support
 Skills Development
 Equality and Diversity
 Athena SWAN
 Outreach
 Living Systems Institute Webpage
 Alumni
 Info points and hubs
 Staff
 PGR
 Health and Safety
 Computer Support
 National Student Survey (NSS)
 Intranet Help
 College Website
ECM3428  Algorithms that Changed the World (2019)
MODULE TITLE  Algorithms that Changed the World  CREDIT VALUE  15 

MODULE CODE  ECM3428  MODULE CONVENER  Dr Chunbo Luo (Coordinator) 
DURATION: TERM  1  2  3 

DURATION: WEEKS  12  0  0 
Number of Students Taking Module (anticipated)  35 

Algorithms are precisely defined procedures designed to solve computational tasks: they are the lifeblood of computing. This module is designed to highlight the importance of algorithms in Computer Science, providing you with an understanding of what algorithms are, how they can be specified and evaluated, and what they can be used for. These general ideas will be illustrated throughout by means of an indepth study of a range of example algorithms which have played an important part in the development of Computer Science and underpin current computing practice. The prerequisite knowledge may be obtained from two firstyear computer science and mathematics modules.
PREREQUISITE MODULES: ECM1400, ECM1414, ECM1416
In this module, you will build on the knowledge acquired in ECM1414 (Data Structures and Algorithms) with a more systematic exploration of a range of different types of algorithms and the principles of their design and analysis. A range of specific computational problems will be covered (e.g., operations on strings, graphs, and other data structures, numerical problems), and different algorithms for these problems analysed.
On successful completion of this module you should be able to:
Module Specific Skills and Knowledge :
1. Appreciate the principles of algorithm design and implementation;
2. Analyse the time complexity of some important classes of algorithm;
3. Implement and analyse some fundamental algorithms.
Discipline Specific Skills and Knowledge :
4. Apply programming skills to convert abstract specifications into practical realisations;
5. Demonstrate an analytical approach to computational problems;
6. Appreciate the importance of complexity considerations in the practical deployment of programs at different scales.
Personal and Key Transferable / Employment Skills and Knowledge:
7. Approach problemsolving tasks in a systematic and disciplined way.
 Introduction: What is an algorithm?;
 Specification and pseudocode;
 Recapitulation of: correctness; algorithms versus heuristics; space and time complexity; iteration and recursion; NPcompleteness;
 A study of specific algorithms, problems, and techniques selected from:
Google: PageRank, Internet routing algorithm, Linear programming, Simplex algorithm for optimization, Data compression, Kalman filter, Algorithms on graphs, Fast Fourier transform, Publickey encryption, Monte Carlo integration.
Other examples as appropriate.
Scheduled Learning & Teaching Activities  38.00  Guided Independent Study  112.00  Placement / Study Abroad  0.00 

Category  Hours of study time  Description 
Scheduled learning and teaching  22  Lectures 
Scheduled learning and teaching  11  Workshops to gain practical experience working with algorithms 
Scheduled learning and teaching  5  Tutorials involving theoretical exercises and discussions 
Guided independent study  30  Coursework 
Guided independent study  82  Reading, programming 
Form of Assessment  Size of Assessment (e.g. duration/length)  ILOs Assessed  Feedback Method 

Class test  1 hour  1  In class 
Coursework  40  Written Exams  60  Practical Exams  0 

Form of Assessment  % of Credit  Size of Assessment (e.g. duration/length)  ILOs Assessed  Feedback Method 

Coursework (paper exercise and programming)  40  30 hours  1, 2, 3, 4, 5, 6, 7  Individual feedback sheet 
Examination  60  2 hours  Summer Exam Period  1, 2, 5, 6  Model answers supplied on request 
Original Form of Assessment  Form of Reassessment  ILOs Reassessed  Time Scale for Reassessment 

Coursework (paper exercise and programming)  Coursework (paper exercise and programming)  1, 2, 3, 4, 5, 6, 7  To be completed over the summer and submitted in referred exam week 

Referred examination  1, 2, 5, 6  Ref/Def Exam Period 
Failure in programming coursework will result in referral, whether or not the remaining components are passed; the referred programming coursework will contribute 40% to the final mark.
The referred exam will be required if the combined mark for the paper coursework and exam is a fail mark; the referred exam will contribute 60% to the final mark.
information that you are expected to consult. Further guidance will be provided by the Module Convener
Basic reading:
ELE: http://vle.exeter.ac.uk/
Web based and Electronic Resources:
Other Resources:
Donald Knuth, Fundamental Algorithms (vols 13), AddisonWesley
Reading list for this module:
Type  Author  Title  Edition  Publisher  Year  ISBN  Search 

Set  MacCormick John  Nine Algorithms that Changed the Future: The Ingenious ideas that Drive Todays Computers  Princeton University Press  2012  [Library]  
Set  Cormen T, Leiserson C, Rivest R, Stein C  Introduction to Algorithms  3rd Edition  MIT Press  2009  [Library] 
CREDIT VALUE  15  ECTS VALUE  7.5 

PREREQUISITE MODULES  ECM1414, ECM1400, ECM1416 

COREQUISITE MODULES 
NQF LEVEL (FHEQ)  6  AVAILABLE AS DISTANCE LEARNING  No 

ORIGIN DATE  Tuesday 10 July 2018  LAST REVISION DATE  Wednesday 03 July 2019 
KEY WORDS SEARCH  Algorithms; Computational complexity. 
