- 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
- Inbound Exchange Students
- Staff
- PGR
- Health and Safety
- Computer Support
- National Student Survey (NSS)
- Intranet Help
- College Website
ECM3428 - Algorithms that Changed the World (2023)
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) | 98 |
---|
Algorithms are precisely defined procedures designed to solve computational tasks: they are the life-blood 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 in-depth 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 first-year computer science and mathematics modules.
PRE-REQUISITE 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 problem-solving tasks in a systematic and disciplined way.
- Introduction: What is an algorithm?;
- Specification and pseudo-code;
- Recapitulation of: correctness; algorithms versus heuristics; space and time complexity; iteration and recursion; NP-completeness;
- 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, Public-key encryption, Monte Carlo integration.
Other examples as appropriate.
Scheduled Learning & Teaching Activities | 33.00 | Guided Independent Study | 117.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 |
Guided independent study | 30 | Coursework |
Guided independent study | 87 | 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 (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 Re-assessment | ILOs Re-assessed | Time Scale for Re-assessment |
---|---|---|---|
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 |
Examination |
Examination | 1, 2, 5, 6 | Ref/Def Exam Period |
Reassessment will be by coursework and/or written exam in the failed or deferred element only. For referred candidates, the module mark will be capped at 40%. For deferred candidates, the module mark will be uncapped.
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 1-3), Addison-Wesley
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 |
---|---|---|---|
PRE-REQUISITE MODULES | ECM1414, ECM1400, ECM1416 |
---|---|
CO-REQUISITE MODULES |
NQF LEVEL (FHEQ) | 6 | AVAILABLE AS DISTANCE LEARNING | No |
---|---|---|---|
ORIGIN DATE | Tuesday 10 July 2018 | LAST REVISION DATE | Wednesday 08 February 2023 |
KEY WORDS SEARCH | Algorithms; Computational complexity. |
---|