UCLan, CO2412: Computational Thinking, academic year 2021/22

Instructors: Martin Thomas Horsch (CM213), Oliver Kerr (CM214).

Learning outcomes: Upon successful completion of this module, a student will be able to:

  1. Use methods including logic and probability to reason about algorithms and data structures;
  2. Compare, select, and justify algorithms and data structures for a given problem;
  3. Analyse the computational complexity of problems and the efficiency of algorithms;
  4. Use a range of notations to represent and analyse problems;
  5. Implement and test algorithms and data structures.

Literature:

[Erciyes] K. Erciyes, Discrete Mathematics and Graph Theory, Cham: Springer (ISBN 978-3-03061114-9), 2021.
[SMDD] P. Sanders, K. Mehlhorn, M. Dietzfelbinger, R. Dementiev, Sequential and Parallel Algorithms and Data Structures, Cham: Springer (ISBN 978-3-03025208-3), 2021.

Glossary:

The glossary document introduces and defines selected key concepts from the domain.

Structure:

  1. Introduction
  2. Program analysis
  3. Algorithm design
  4. Graphs and trees
  5. Logic
  6. Reflection and revision

Grading:

Index