Module Descriptors

Computing

CS209: Algorithms and Scientific Computing (5 ECTS)

This course covers algorithm design, analysis and implementation. The programming language used is PYTHON.

Taught in Semester(s) 1 and 2. Examined in Semester(s) 2.

Workload: 106 hours (24 Lecture hours, 24 Lab hours, 58 Self study hours).


Module Learning Outcomes. On successful completion of this module the learner should be able to:

  1. calculate the computational complexity of simple algorithms;
  2. construct algorithms and corresponding code) for a number of sorting problems;
  3. given a number of solutions to a problem, determine which is computationally more efficient;
  4. write programs using both iteration and recursion;
  5. apply the technique of Dynamic Programming to solving particular problems.


Indicative Content

Constructing algorithms using various approaches: Recursion, Brute Force, Divide and Conquer, Dynamic Programming. Computational Complexity. Big Oh notation. The halting problem. Algorithms for sorting and searching. Graph based algorithms. Programming in Python.


Module Resources


Back