Data Structures, Algorithms & Mathematics COM421

Why is this module important?

It is often the case when writing software that you will need to instruct your program to perform a series of steps in order to solve a complex task or calculate the answer to a complex problem. This series of instructions is known as an algorithm and it essentially tells the program how to solve a problem.

The nature of programming means that there are many ways to go about solving a single problem, but thought should also be given to optimisation – solving the task as fast as possible whilst minimising the resources that need to be allocated. Algorithms are part of the life of a programmer and thus this module will aim to ensure that you are comfortable writing them, as well as being made aware of existing algorithms that are frequently used.

Programmers need to be aware of data structures and mathematical principles that underpin the algorithms they write. This will help improve your understanding of what is happening, improve your overall problem-solving capabilities and help you to be a more effective programmer.

What you will learn on the module?

You will gain hands on experience applying a range of algorithms and data structures to problems. As well as creating your own algorithms, you will also be made aware of existing algorithms that are at your disposal and understand how they work.

You will also learn about numerous data structures that you can use, how they function and utilise them to solve problems.

In addition, you will develop your mathematical abilities as you learn about common mathematical concepts that underpin both the data structures and the algorithms that you use, as well as learning mathematical structures that are useful to programming and computing in general.

You will develop your problem-solving skills as you create your own algorithms or apply existing algorithms in order to solve the problems you are given.

What you will be able to do after the module

  1. Understand and apply the computational maths required to be a software developer.
  2. Distinguish between various algorithm problem solving strategies.
  3. Problem-solve a range of real-world scenarios.
  4. Discuss the classification of algorithms and mathematical computational problems.
  5. Communicate findings using a variety of media.

Summative assessment details

Module Descriptor

COM421 Delivery