Module Details |
The information contained in this module specification was correct at the time of publication but may be subject to change, either during the session because of unforeseen circumstances, or following review of the module at the end of the session. Queries about the module should be directed to the member of staff with responsibility for the module. |
Title | ALGORITHMIC FOUNDATIONS | ||
Code | COMP108 | ||
Coordinator |
Prof PW Wong Computer Science P.Wong@liverpool.ac.uk |
||
Year | CATS Level | Semester | CATS Value |
Session 2016-17 | Level 4 FHEQ | Second Semester | 15 |
Aims |
|
To introduce the notation, terminology, and techniques underpinning the study of algorithms.
|
Learning Outcomes |
|
describe standard algorithms such as sorting algorithms, search algorithms, string matching algorithms, graph traversal algorithms;
|
|
apply these algorithms or a given pseudo code algorithm in order to solve a given problem;
|
|
carry out simple asymptotic analyses of algorithms involving sequence, selection, and iteration, and identify and compare simple properties of these algorithms; |
|
describe the algorithm design principles of divide-and-conquer, greedy method, and dynamic programming and distinguish the differences between these principles; |
|
apply the studied algorithms that illustrate these design principles; |
|
apply the studied design principles to produce algorithmic solutions to a given problem; |
|
explain and illustrate the distinction between different classes of problems, in particular, polynomial time and exponential time solvable problems. |
Syllabus |
|
1 |
1 Introduction (8 lectures) Definition of an algorithm, counting elementary operations during execution, worst-case analysis of running time and storage requirements - on several examples of simple algorithms. Design of pseudo code algorithms. 2 Complexity Issues (6 lectures) Asymptotics and ``order of'''' notation for complexity. Comparison of polynomial time and exponential time complexities and examples of algorithms with such complexities. Brief introduction of the notion of computable and non-computable functions. 3 Review of Graphs structures and their representation (4 lectures) Directed and Undirected graphs; trees; representation by adjacency matrices and incid ence lists, graph and tree traversals. 4 Algorithm Design Techniques (18 lectures) Review of the standard algorithm design paradigms commonly used in Computer Science together with typical example problems solved by these. a) Overview: why a range of design methods is needed. b) Divide-and-Conquer algorithms: general overview of approach; run-time analysis of simple Divide-and-Conquer methods via solution of recurrence relations. c) Dynamic Programming: differences from Divide-and-Conquer; general overview; necessity for iterative implementation. d) Greedy Method: concept of optimisation problem and the distinction between ''exact'' and ''approximate'' solution a lgorithms.
|
Teaching and Learning Strategies |
|
Lecture - |
|
Tutorial - |
|
Laboratory Work - |
Teaching Schedule |
Lectures | Seminars | Tutorials | Lab Practicals | Fieldwork Placement | Other | TOTAL | |
Study Hours |
36 |
9 |
3 |
48 | |||
Timetable (if known) | |||||||
Private Study | 102 | ||||||
TOTAL HOURS | 150 |
Assessment |
||||||
EXAM | Duration | Timing (Semester) |
% of final mark |
Resit/resubmission opportunity |
Penalty for late submission |
Notes |
Written Exam | 120 | Semester 2 | 80 | Yes | Standard UoL penalty applies | Written Exam Notes (applying to all assessments) 2 (sets of) assessment tasks - this work is not marked anonymously. Written examination Resit exam will replace failed CA components, the Learning Outcomes will be covered in the resit exam. |
CONTINUOUS | Duration | Timing (Semester) |
% of final mark |
Resit/resubmission opportunity |
Penalty for late submission |
Notes |
Coursework | 20 hours expected fo | Semester 2 | 10 | Yes | Standard UoL penalty applies | Class test 1 |
Coursework | 20 hours expected fo | Semester 2 | 10 | Yes | Standard UoL penalty applies | Class test 2 |
Recommended Texts |
|
Reading lists are managed at readinglists.liverpool.ac.uk. Click here to access the reading lists for this module. Explanation of Reading List: |