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 Efficient Algorithms
2. Module Code COMP526
3. Year Session 2023-24
4. Originating Department Computer Science
5. Faculty Fac of Science & Engineering
6. Semester First Semester
7. CATS Level Level 7 FHEQ
8. CATS Value 15
9. Member of staff with responsibility for the module
Dr S Wild Computer Science Sebastian.Wild@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:

COMP516 Research Methods in Computer Science
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
 

The main aim of this module is to lay a strong foundation for research in the field of algorithms, with a clear emphasis on algorithmic problems and solutions that haven proven useful in applications (e.g., in bioinformatics, search engines, networks, and data compression). This is done through the rigorous study of selected algorithmic techniques, an in-depth, systematic, and critical discussion of their respective benefits and weaknesses (by means of mathematical and empirical analysis), and by gaining hands-on experience on solving new algorithmic challenges residing on the border of the theory of abstract algorithms and engineering of applied algorithmic solutions.

 
28. Learning Outcomes
 

(LO1) Be able to recognize standard algorithmic problems, apply and judge known solutions based on comprehensive and in-depth understanding of their properties and limitations.

 

(LO2) Be able to systematically compare the goals and approaches in algorithm theory and algorithm engineering.

 

(LO3) Be able to critically assess algorithmic solutions from the research literature and to adapt these solutions to a range of application scenarios.

 

(LO4) Be able to design algorithmic solutions for real-world applications in small-scale programming projects.

 

(LO5) Be able to critically communicate algorithmic problems and solutions (both within and outside of the algorithms/computer science community).

 

(S1) Critical thinking and problem solving - Critical analysis

 

(S2) Critical thinking and problem solving - Problem identification

 

(S3) Critical thinking and problem solving - Evaluation

 

(S4) Critical thinking and problem solving - Creative thinking

 

(S5) Numeracy/computational skills - Problem solving

 
29. Teaching and Learning Strategies
 

Teaching Method 1 - Lecture
Description:
Attendance Recorded: Not yet decided

Teaching Method 2 - Tutorial
Description:
Attendance Recorded: Not yet decided

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
   

Foundations [2 weeks]: Study of mathematical models of computation (including parallel computation), methods for the analysis of algorithms, and fundamental data structures.

Parallel Algorithms [3 weeks]: Primitives of PRAM algorithms, efficient sequential and parallel solutions for exemplary algorithmic problems, for example, sorting and string matching.

2 In-Depth Topics [4 weeks]: Advanced algorithms and data structures for an exemplary algorithmic problem, for example, text indexing and lossless data compression, laying the foundation for understanding and using current state-of-the-art methods, including critical discussion of research results.

Bonus Research Topic [1 week]: An example of an advanced algorithm or data structure close to current research topics, for example range-minimum queries, and its applications.

Exemplary weekly schedule:

Unit 0 – Administrativa & Proof Techniques
Unit 1 – Machines & Models
Unit 2 – Fundamental Data Structures
Unit 3 – Efficient Sorting
Unit 4 – String Matching
Unit 5 – Parallel String Matching
Unit 6 – Text indexing
Unit 7 – Compression
Unit 8 – Error-Correcting Codes
Unit 9 – Range-minimum queries

 
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
  (526) Written Exam There is a resit opportunity. This is an anonymous assessment. Assessment Schedule (When): Semester 1 150 60
33. CONTINUOUS Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
  (526.1) In-class quizzes There is a resit opportunity. Standard UoL penalty applies for late submission. This is not an anonymous assessment. Assessment Schedule (When): Semester 1 0 15
  (526.4) Class Discussion Participation 0 5
  (526.2) Programming Puzzle 1. There is a resit opportunity. Standard UoL penalty applies for late submission. This is not an anonymous assessment. Assessment Schedule (When): Semester 1 0 10
  (526.3) Programming Puzzle 2. There is a resit opportunity. Standard UoL penalty applies for late submission. This is not an anonymous assessment. Assessment Schedule (When): Semester 1 0 10