Module Specification

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.
1. Module Title Advanced Algorithmic Techniques
2. Module Code COMP523
3. Year Session 2023-24
4. Originating Department Computer Science
5. Faculty Fac of Science & Engineering
6. Semester Second Semester
7. CATS Level Level 7 FHEQ
8. CATS Value 15
9. Member of staff with responsibility for the module
Dr J Sylvester Computer Science John.Sylvester@liverpool.ac.uk
10. Module Moderator
11. Other Contributing Departments  
12. Other Staff Teaching on this Module
Mrs J Birtall School of Electrical Engineering, Electronics and Computer Science Judith.Birtall@liverpool.ac.uk
13. Board of Studies
14. Mode of Delivery
15. Location Main Liverpool City Campus
    Lectures Seminars Tutorials Lab Practicals Fieldwork Placement Other TOTAL
16. Study Hours 30

  10

      40
17.

Private Study

110
18.

TOTAL HOURS

150
 
    Lectures Seminars Tutorials Lab Practicals Fieldwork Placement Other
19. Timetable (if known)            
 
20. Pre-requisites before taking this module (other modules and/or general educational/academic requirements):

 
21. Modules for which this module is a pre-requisite:

 
22. Co-requisite modules:

 
23. Linked Modules:

 
24. Programme(s) (including Year of Study) to which this module is available on a mandatory basis:

25. Programme(s) (including Year of Study) to which this module is available on a required basis:

26. Programme(s) (including Year of Study) to which this module is available on an optional basis:

27. Aims
 

To provide a sound foundation concerning the design and analysis of advanaced discrete algorithms.
To provide a critical rational concerning advanced complexity theory and algorithmics.
To provide an in-depth, systematic and critical understanding of selected significant issues at the forefront of research explorations in the design and analysis of discrete algorithms.

 
28. Learning Outcomes
 

(LO1) Describe the following classes of algorithms and design principles associated with them: recursive algorithms, graph (search-based) algorithms, greedy algorithms, algorithms based on dynamic programming, network flow (optimisation) algorithms, approximation algorithms, randomised algorithms, distributed and parallel algorithms.

 

(LO2) Illustrate the above mentioned classes by examples from classical algorithmic areas, current research and applications.

 

(LO3) Identify which of the studied design principles are used in a given algorithm taking account of the similarities and differences between the principles.

 

(LO4) Apply the studied design principles to produce efficient algorithmic solutions to a given problem taking account of the strengths and weaknesses of the applicable principles.

 

(LO5) Outline methods of analysing correctness and asymptotic performance of the studied classes of algorithms, and apply them to analyse correctness and asymptotic performance of a given algorithm.

 

(S1) Critical thinking and problem solving - Critical analysis

 

(S2) Critical thinking and problem solving - Evaluation

 

(S3) Critical thinking and problem solving - Problem identification

 

(S4) Critical thinking and problem solving - Creative thinking

 

(S5) Numeracy/computational skills - Reason with numbers/mathematical concepts

 

(S6) Numeracy/computational skills - Problem solving

 
29. Teaching and Learning Strategies
 

Teaching Method 1 - Lecture
Description:
Teaching Method 2 - Tutorial
Description:

Standard on-campus delivery
Teaching Method 1 - Lecture
Description: Mix of on-campus/on-line synchronous/asynchronous sessions
Teaching Method 2 - Tutorial
Description: On-campus synchronous sessions

 
30. Syllabus
   

Recursive Algorithms (Divide & Conquer) ~ 3 Lectures

Graph Algorithms ~ 3 lectures

Greedy Algorithms ~ 3 Lectures

Dynamic Programming ~ 2 Lectures

Network flows ~ 3 Lectures

NP-Completeness ~ 3 Lectures

Linear Programming ~ 1 Lecture

Approximation Algorithms ~ 5 Lectures

Randomised Algorithms ~ 4 lectures

Online Algorithms ~ 2 Lectures

 
31. Recommended Texts
  Reading lists are managed at readinglists.liverpool.ac.uk. Click here to access the reading lists for this module.
 

Assessment

32. EXAM Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
  (523) Final exam 150 70
33. CONTINUOUS Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
  (523.1) Assessment 1 There is a resit opportunity. Standard UoL penalty applies for late submission. This is not an anonymous assessment. Assessment Schedule (When) :Semester 2 0 15
  (523.2) Assessment 2 There is a resit opportunity. Standard UoL penalty applies for late submission. This is not an anonymous assessment. Assessment Schedule (When) : Semester 2 0 15