Algorithms and Logic - COMP8840

Looking for a different module?

Module delivery information

Location Term Level1 Credits (ECTS)2 Current Convenor3 2024 to 2025
Canterbury
Spring Term 7 15 (7.5) Olaf Chitil checkmark-circle

Overview

This module aims to strengthen the foundational programming-in-the-small abilities of students via a strong, practical problem-solving focus. Specific topics will include introductory algorithms, algorithm correctness, and algorithm runtime. Essential data structures and algorithmic programming skills will be covered, for example, arrays, lists and trees, searching and sorting, recursion, and divide and conquer. One part of the module will also introduce students to logical formalisms such as propositional and predicate logic and some of their applications in program development.

Details

Contact hours

Total contact hours: 32
Private study hours: 118
Total study hours: 150

Method of assessment

Main assessment methods
Take-home logic exercises (25%)
Take-home programming project (25%)
Examination, 2 hours (50%)

Reassessment methods
Like for like.

Indicative reading

Steven Skiena, "The Algorithm Design Manual", Springer, 2008.
Huth, M. & Ryan M., Logic in computer science: modelling and reasoning about systems, Cambridge University Press, 2004.

See the library reading list for this module (Canterbury)

Learning outcomes

On successfully completing the module students will be able to:
1. Understand a problem description, and then identify, compare, and implement appropriate algorithms to solve it.
2. Demonstrate ability to formulate formal solutions to problems logically and in algorithmic form.
3. Demonstrate conceptual understanding on how to devise and sustain arguments regarding the correctness and runtime efficiency of algorithms .
4. Understand and implement basic data structures (e.g., arrays, lists, trees) and use algorithmic techniques (recursion and divide & conquer) to solve well-known problems (searching and sorting) and to newly encountered problems.
5. Understand and manipulate a variety of logical formalisms (e.g., propositional and predicate logic).
6. Understand and apply different proof methods.
7. Understand and prove several different properties of logical formulae (e.g., satisfiability, validity, equivalence, consequence).
8. Formulate statements and problems in logical form

The intended generic learning outcomes.
On successfully completing the module students will be able to:
1. Communicate information, ideas, problem, and solutions to both specialist and non-specialist audiences.
2. Critically evaluate arguments, assumptions, abstract concepts and data (that may be incomplete), to make judgements, and to frame appropriate questions to achieve a solution to a problem.
3. Apply the methods and techniques that they have learned to review, consolidate, extend and apply their knowledge and understanding, and to initiate and carry out projects

Notes

  1. Credit level 7. Undergraduate or postgraduate masters level module.
  2. ECTS credits are recognised throughout the EU and allow you to transfer credit easily from one university to another.
  3. The named convenor is the convenor for the current academic session.
Back to top

University of Kent makes every effort to ensure that module information is accurate for the relevant academic session and to provide educational services as described. However, courses, services and other matters may be subject to change. Please read our full disclaimer.