This module introduces the learner to basic algorithms and their implementation. The theory and application of this subject is a cornerstone of computer science and data analytics. The module does not assume a prior knowledge of computer science.
*Curricular information is subject to change
- Data types and structures. Problem specification, divide and conquer, stepwise refinement, top down, bottom up, algorithms, pseudo-code.
- Array, lists, stacks, queues, trees, abstract data types.
- Summations, products, permutations, factorials and Fibonacci numbers
- Network algorithms for connnecting and counting groups
- Internal and external sorting algorithms. Sorting Terminology and notation. Various sorting algorithms. Empirical comparison of sorting algorithms.
- Searching algorithms, searching arrays, dynamic data structures, trees.
- Encryption and decryption methods
- Pseudorandom number generators, middle-square method.
- Nodal representations of function with applications for example neural networks.
The module will be delivered by a combination of lectures and tutorials. The student self-study will include the use of the programming language introduced earlier in their studies to implement the algorithms.
Module Content & Assessment | |
---|---|
Assessment Breakdown | % |
Formal Examination | 70 |
Other Assessment(s) | 30 |