## CS2EA16-Essential Algorithms

Module Provider: School of Mathematical, Physical and Computational Sciences
Number of credits: 10 [5 ECTS credits]
Level:5
Terms in which taught: Autumn term module
Pre-requisites: SE1PR11 Programming SE1FA15 Fundamentals and Applications of Computing
Non-modular pre-requisites:
Co-requisites:
Modules excluded:
Module version for: 2016/7

Module Convenor: Dr Hong Wei

Summary module description:

Aims:
The refinement of the concept called 'Algorithms' is one of the cornerstones of computer science and the aim of this module is to provide an appreciation of the concepts involved in the design and analysis of algorithms. The module gives an introduction to fundamental algorithm design strategies that are common to many concrete applications. It also aims to consolidate the notion of mechanization of abstraction that is introduced in previous modules with more general principles of design.

Assessable learning outcomes:
Fundamental algorithm design principles such as Divide and Conquer, Greedy Algorithms and Dynamic Programming are introduced and explored through case studies to demonstrate the design of efficient solutions to computational problems. On completion of the module a student should be able to:

- Identify the fundamental strategies in algorithmic design
- Distinguish which strategy is appropriate to solve a given problem
- Classify different algorithmic strategies
- Analyze a given algorithm and assess its efficiency
- Apply techniques of proof by induction to verify certain properties of algorithms.

Students will have seen a number of useful case studies illustrating the techniques which can be transported to other areas of the course. Students will also be introduced, through group studies, to recent developments in applications of the design strategies by reviewing current literature.

Outline content:
Divide and Conquer (General method, Analysis, examples - Sorting, Convex Hull, Matrix Multiplication);
The Greedy method (General method, Analysis, examples - Shortest Paths, Spanning Trees);
Dynamic Programming (General method, Analysis, examples - O/1 Knapsack, Travelling salesperson, Transitive Closure);
Consolidation (revisit examples using alternative methods).

Brief description of teaching and learning methods:
Lectures and guided group study based learning.

Contact hours:
 Autumn Spring Summer Lectures 20 Guided independent study 80 Total hours by term 100.00 Total hours for module 100.00

Summative Assessment Methods:
 Method Percentage Written exam 70 Set exercise 30

Other information on summative assessment:

Formative assessment methods:

Penalties for late submission:
The Module Convenor will apply the following penalties for work submitted late, in accordance with the University policy.

• where the piece of work is submitted up to one calendar week after the original deadline (or any formally agreed extension to the deadline): 10% of the total marks available for the piece of work will be deducted from the mark for each working day (or part thereof) following the deadline up to a total of five working days;
• where the piece of work is submitted more than five working days after the original deadline (or any formally agreed extension to the deadline): a mark of zero will be recorded.

• The University policy statement on penalties for late submission can be found at: http://www.reading.ac.uk/web/FILES/qualitysupport/penaltiesforlatesubmission.pdf
You are strongly advised to ensure that coursework is submitted by the relevant deadline. You should note that it is advisable to submit work in an unfinished state rather than to fail to submit any work.

Length of examination:
One 2-hour examination paper in May/June.

Requirements for a pass:
A mark of 40% overall

Reassessment arrangements:
Examination only.
One 2-hour examination paper in August/September.