WM3B2-24 Data Science, Algorithms and Complexity in the Cyber Context
Introductory description
This module develops the central concepts and skills required to design, implement and analyse algorithms for solving problems. Algorithms are essential in all advanced areas of technical cyber security and related subjects, including artificial intelligence, databases, data science, distributed computing, graphics, networking, operating systems, programming languages and security. An important part of using them well is the ability to select algorithms appropriate to particular purposes and to apply them, recognising the possibility that no suitable algorithm may exist. This facility relies on understanding the range of algorithms that address an important set of well- defined problems, recognising their strengths and weaknesses, and their suitability in particular contexts in combination with complementary data structures. Efficiency is a pervasive theme and a clear understanding of algorithmic complexity is essential if efficient algorithms are to be designed and used.
Module aims
The module aim to develop student's knowledge of the development and application of the most common machine learning models, and in particular a critical understanding of the applicability of each machine learning algorithms in the solution of a particular problem (class of problems). It will cover the best practice and main steps of developing AI-based solution, including data collection/engineering and pre-processing, model design, training and evaluation, and deployment.
Outline syllabus
This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.
The content of this module will be taught from a cyber security perspective.
Basic analysis
Algorithmic strategies
Fundamental data structures and algorithms
Basic automata, computability and complexity
Topics in data science and machine learning
Learning outcomes
By the end of the module, students should be able to:
- Assess the appropriateness and complexity of common algorithms, algorithmic strategies and data structures for application in the cyber context. (AHEP: 2.1.1, 2.1.2, 2.1.5, 2.1.6, 2.1.7, 2.1.10, 2.1.11, 2.1.12, 2.2.2, 2.3.2, C1, C2, C3, C12)
- Critically evaluate the complexity and efficiency of an algorithm. (AHEP: 2.1.1, 2.1.2, 2.1.5, 2.1.6, 2.1.7, 2.1.10, 2.1.11, 2.1.12, 2.2.2, C1, C2, C3, C12)
- Collect, engineer and pre-process real-world data suitable for building machine learning models (AHEP: 2.1.1, 2.1.2, 2.1.6, 2.1.7, 2.1.10, 2.1.12, 2.3.2, C1, C12)
- Develop, secure and optimise the performance a machine learning model (AHEP: 2.1.1, 2.1.2, 2.1.5, 2.1.6, 2.1.7, 2.1.10, 2.1.11, 2.1.12, 2.2.2, 2.3.2, C1, C2, C3, C12)
Indicative reading list
Cormen, T., Leiserson, C., Rivest, R. and Stein, C., “Introduction to Algorithms”, MIT Press (2009)
Flach, Peter, “Machine Learning: The Art and Science of Algorithms that Make Sense of Data”, Cambridge University Press (2012)
Grimaldi, Ralph P., “Discrete and Combinatorial Mathematics: An Applied Introduction”, 5 Ed, Pearson (2013)
Sedgewick R., Wayne K., "Algorithms", Addison Wesley (2011)
View reading list on Talis Aspire
Subject specific skills
1 - Critically evaluate the appropriateness of common algorithms, algorithmic strategies and data structures for application in the cyber context.
2 - Critically evaluate the complexity and efficiency of an algorithm.
Transferable skills
Problem solving
Study time
Type | Required |
---|---|
Supervised practical classes | 36 sessions of 1 hour (15%) |
Online learning (independent) | 10 sessions of 1 hour (4%) |
Private study | 98 hours (41%) |
Assessment | 96 hours (40%) |
Total | 240 hours |
Private study description
Independent activity between workshops, following up on activities initiated in previous workshops or preparing for upcoming workshops.
Costs
No further costs have been identified for this module.
You do not need to pass all assessment components to pass the module.
Assessment group C4
Weighting | Study time | Eligible for self-certification | |
---|---|---|---|
Machine learning project | 50% | 48 hours | Yes (extension) |
Students will be provided with a data set and tasked with developing a machine learning model solving a particular problem. They will be expected to justify their choice of the specific machine learning model, as well as analyse and evaluate the proposed solution. |
|||
Online Examination | 50% | 48 hours | No |
Exam on algorithms and complexity ~Platforms - AEP
|
Feedback on assessment
Verbal feedback during tutorial sessions
Summative feedback on assignments and exam
Courses
This module is Core for:
- Year 3 of UWMA-H651 Undergraduate Cyber Security