Skip to main content
KBS_Icon_questionmark link-ico

Foundations Of Computing 2

Key information

  • Module code:

    5CCS2FC2

  • Level:

    5

  • Semester:

      Autumn

  • Credit value:

    15

Module description

Aims and Learning Outcomes

This module introduces the basic concepts of computational mathematics.

On successful completion of this module, students will:

Be able to:

  • Reason about solvability and complexity of problems
  • Model and solve practical problems by using the taught methods
  • design efficient algorithms for different problems in computer science

Syllabus

An indication of the type of topics:

Computational Models and Complexity:

  • Turing Machines
  • Decidability and recognisability
  • Mapping reductions
  • Complexity classes: P, NP, co-NP
  • Polynomial reductions
  • NP-completeness, SAT, and examples of classic NP-complete problems

Graph algorithms:

  • Graph traversal algorithms DFS and BFS
  • Algorithms based on DFS: Minimum spanning trees, topological sort, strongly connected components and an algorithm for finding maximal strongly connected components, Dijkstra's shortest paths in a graph algorithm

Algorithmic approaches and techniques:

  • Greedy algorithms
  • Dynamic programming
  • Divide and conquer (recurrence relations + analysis via Master Theorem)
  • Mixed integer-linear programming (MILP)
  • Branch and bound for MILP
  • Approximation ratio + examples of approximable and unapproximable problems
  • Efficient SAT solving (DPLL)
  • Local search: neighbourhoods and local minima
  • Relaxation heuristics

Assessment details

Please note: The below assessment details for the 2024/25 academic year may be updated. The confirmed details will be available on the Student Handbook and on the module KEATS page at the beginning of the semester.

  • 100% Examination

Semester 1 only study abroad students will be required to take this exam in an alternative assessment format in the January exam period.

Full year study abroad students will be required to take this exam in person in January.

Module description disclaimer

King’s College London reviews the modules offered on a regular basis to provide up-to-date, innovative and relevant programmes of study. Therefore, modules offered may change. We suggest you keep an eye on the course finder on our website for updates.

Please note that modules with a practical component will be capped due to educational requirements, which may mean that we cannot guarantee a place to all students who elect to study this module.

Please note that the module descriptions above are related to the current academic year and are subject to change.