Master of Science in Artificial Intelligence
Master of Science in Artificial Intelligence
Downloads
Master of Science in Artificial Intelligence
Downloads
About this degree
The Master of Science in Artificial Intelligence is designed to provide students with advanced knowledge and practical skills in the rapidly evolving field of AI. This program offers a comprehensive curriculum that covers core AI concepts, including machine learning, neural networks, natural language processing, and robotics. Students will gain a deep understanding of both theoretical and applied aspects of AI, preparing them to solve complex problems and innovate in various industries. The program emphasises hands-on experience through projects, case studies, and real-world applications, enabling students to apply AI techniques to create intelligent systems and drive decision-making processes. The program is tailored for professionals and graduates who aspire to lead in the AI domain, whether in research, development, or management roles. With a focus on flexibility and accessibility, this degree allows students to balance their studies with professional and personal commitments. Graduates will be equipped to take on advanced roles in AI, such as data scientists, AI engineers, and AI project managers, and will be well-prepared to contribute to the development and deployment of AI technologies across a wide range of sectors, including healthcare, finance, and technology.
Master of Science in Artificial Intelligence
Downloads
What you'll learn
- Design and develop AI models using state-of-the-art tools and techniques, applying machine learning principles to solve complex problems.
- Apply AI techniques to industry-specific applications, utilising data science and computational intelligence for real-world decision-making.
- Optimise AI models and algorithms through iterative testing and refinement, improving efficiency and effectiveness in various applications.
- Execute predictive modelling using advanced data analytics and machine learning approaches, with a focus on accurate predictions and insights.
- Lead AI-focused projects, managing resources, timelines, and stakeholders to deliver AI-driven solutions that align with business goals.
Master of Science in Artificial Intelligence
Downloads
Course Structure
Tiers
Tier 1:
375 hours | 15 ECTS
Tier 1:
About
This course focuses on building basic classification and regression models and understanding these models rigorously both with a mathematical and an applicative focus. The module starts with a basic introduction to high dimensional geometry of points, distance-metrics, hyperplanes and hyperspheres. We build on top this to introduce the mathematical formulation of logistic regression to find a separating hyperplane. Students learn to solve the optimization problem using vector calculus and gradient descent (GD) based algorithms. The module introduces computational variations of GD like mini-batch and stochastic gradient descent. Students also learn other popular classification and regression methods like k-Nearest Neighbours, Naive Bayes, Decision Trees, Linear Regression etc. Students also learn how each of these techniques under various real world situations like the presence of outliers, imbalanced data, multi class classification etc. Students learn bias and variance trade-off and various techniques to avoid overfitting and underfitting. Students also study these algorithms from a Bayesian viewpoint along with geometric intuition. This module is hands-on and students apply all these classical techniques to real world problems.
Teachers
Intended learning outcomes
- Acquire knowledge of bias and variance trade-off, and various techniques to avoid overfitting and underfitting.
- Develop a specialised knowledge of key strategies related to machine learning.
- Develop a critical knowledge of machine learning.
- Critically evaluate diverse scholarly views on machine learning.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Creatively apply regression models to develop critical and original solutions for computational issues.
- Autonomously gather material and organise it into coherent problem sets and presentation.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Apply an in-depth domain-specific knowledge and understanding to machine learning solutions.
- Apply a professional and scholarly approach to research problems pertaining to machine learning.
- Act autonomously in identifying research problems and solutions related to machine learning.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of machine learning.
- Demonstrate self-direction in research and originality in solutions developed for machine learning.
- Efficiently manage interdisciplinary issues that arise in connection to machine learning.
- Create synthetic contextualised discussions of key issues related to machine learning.
About
This course is designed to bridge the gap between data theory and real-world applications. This course focuses on the endto- end process of data analytics, including data collection, cleaning, exploratory data analysis, and visualisation. Students will learn how to apply statistical methods and machine learning techniques to analyse and interpret complex datasets, uncovering actionable insights that drive strategic decision-making across various domains such as business, healthcare, and technology.
The course combines theoretical instruction with hands-on projects, allowing students to work with real datasets and employ state-of-the- art tools and software. By engaging in case studies and practical exercises, students will develop the skills necessary to tackle data-driven problems and present their findings effectively. Upon completion, students will be well-equipped to leverage data analytics to solve real-world challenges and contribute to data-informed decisionmaking processes in their professional careers.
Teachers
Intended learning outcomes
- Analyse how data analytics contributes to decision-making processes within various industries and organisational contexts.
- Recognize and differentiate between various data types and select appropriate analytical methods for analysing them.
- Define and explain fundamental concepts of data analytics, including data preprocessing, statistical analysis, and data visualisation techniques.
- Apply data cleaning and preprocessing techniques to prepare raw data for analysis, ensuring accuracy and reliability.
- Create visualisations using software such as Tableau or Power BI to effectively communicate data-driven insights to stakeholders.
- Build and implement analytical models using tools like Python, R, or SQL, to extract insights from complex data sets.
- Display competency in leading data analytics projects within multidisciplinary teams, managing the entire analytics lifecycle from data collection to actionable insights.
- Exhibit the ability to design and implement data-driven solutions to solve complex, real-world problems, leveraging advanced analytics techniques.
- Demonstrate the ability to integrate data analytics into broader business strategies, ensuring that analytical insights align with organisational goals.
About
This is a comprehensive course focused on the practical implementation of machine learning techniques across various industries. This course delves into the application of supervised and unsupervised learning algorithms, including regression, classification, clustering, and dimensionality reduction. Students will learn how to leverage these techniques to solve real-world problems in areas such as healthcare, finance, marketing, and beyond. Emphasis is placed on understanding the entire machine learning pipeline, from data preprocessing and model selection to evaluation and deployment. Throughout the course, students will engage in hands-on projects and case studies that demonstrate the practical use of machine learning in real-world scenarios. By applying machine learning algorithms to datasets, students will gain invaluable experience in extracting insights and making data-driven decisions. Additionally, the course covers best practices for model optimization and performance tuning, ensuring students are equipped to create robust and scalable machine learning solutions. By the end of the course, students will have a solid foundation in machine learning applications, empowering them to innovate and drive progress in their respective fields.
Teachers
Intended learning outcomes
- Explain the concepts of overfitting, underfitting, model accuracy, precision, recall, and other evaluation metrics used in machine learning.
- List and describe various machine learning algorithms, including supervised, unsupervised, and reinforcement learning techniques, and their typical use cases.
- Analyse the impact of feature selection and engineering on model performance.
- Implement machine learning algorithms using Python and relevant libraries.
- Develop and fine-tune machine learning models for specific applications.
- Evaluate the performance of machine learning models on different datasets.
- Design and deploy machine learning solutions to solve industry-specific problems.
- Critically assess the ethical concerns related to machine learning, such as bias, privacy, and transparency, and propose solutions to mitigate these issues.
- Collaborate on machine learning projects in a team environment to develop, test, and deploy machine learning models, demonstrating strong communication and project management skills.
About
This course is designed to provide students with a comprehensive overview of the key concepts, techniques, and applications of AI. This course covers the history and evolution of AI, fundamental theories, and essential algorithms, including search methods, knowledge representation, machine learning, and neural networks. Students will explore the practical applications of AI in various domains such as robotics, natural language processing, computer vision, and expert systems, gaining an understanding of how AI technologies are transforming industries and society. Through a mix of theoretical lectures and hands-on exercises, students will develop a solid grounding in AI principles and practices. They will engage in projects and case studies that illustrate real-world AI applications, enhancing their problem-solving and criticalthinking skills. By the end of the course, students will have a thorough understanding of AI fundamentals and be prepared to delve deeper into specialised AI topics, positioning themselves for success in advanced courses and professional roles within the field of artificial intelligence.
Teachers
Intended learning outcomes
- Identify the foundational concepts of artificial intelligence including machine learning, neural networks, and natural language processing.
- Compare and contrast narrow AI, general AI, and superintelligent AI, and evaluate their use cases in various industries.
- Explain the key milestones and advancements in the field of AI, from its inception to modern-day applications.
- Assess the accuracy, precision, recall and evaluate the performance of AI models using standard metrics.
- Implement and run AI algorithms, such as decision trees and k-nearest neighbours, on datasets to solve classification and regression tasks.
- Utilise AI tools and frameworks for practical AI development. etc.
- Work effectively in groups to design, develop, and present AI solutions, showcasing strong teamwork and communication skills.
- Evaluate the societal and ethical challenges posed by AI, such as bias, privacy concerns, and job displacement, and propose strategies to mitigate these issues.
- Create simple AI systems or prototypes that address specific real-world challenges, demonstrating an understanding of AI principles.
Tier 2:
1125 hours | 45 ECTS
Tier 2:
About
This is a course that focuses both on architectural design and practical hands-on learning of the most used cloud services. The module extensively uses Amazon Web services (AWS) to show real world code examples of various cloud services. It also covers the core concepts and architectures in a platform agnostic manner so that students can easily translate these learnings to other cloud platforms (like Azure, GCP etc.). The module starts with virtualization and how virtualized compute instances are created and configured. Students also learn how to auto-scale applications using load balancers and build fault tolerant applications across a geographically distributed cloud. As relational databases are widely used in most enterprises, students learn how to migrate and scale (both vertically and horizontally) these databases on the cloud while ensuring enterprise grade security. Virtual private clouds enable us to create a logically isolated virtual network of compute resources. Students learn to set up a VPC using virtualized-compute-servers on AWS. The course also covers the basics of networking while setting up a VPC. Students learn of the architecture and practical aspects of distributed object storage and how it enables low latency and high availability data storage on the cloud.
Teachers
Intended learning outcomes
- Develop a critical knowledge of cloud computing.
- Develop a specialised knowledge of key strategies related to cloud computing.
- Critically evaluate diverse scholarly views on cloud computing.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Acquire knowledge of virtualization and how virtualized compute instances are created and configured.
- Apply an in-depth domain-specific knowledge and understanding to cloud computing services.
- Creatively apply cloud computing applications to develop critical and original solutions for computational problems.
- Autonomously gather material and organise it into coherent problems sets or presentations.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Apply a professional and scholarly approach to research problems pertaining to cloud computing.
- Create synthetic contextualised discussions of key issues related to cloud computing.
- Act autonomously in identifying research problems and solutions related to cloud computing.
- Demonstrate self-direction in research and originality in solutions developed for cloud computing.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of cloud computing.
- Efficiently manage interdisciplinary issues that arise in connection to cloud computing.
About
Upon completion of this course, you will gain a deep understanding of how business analytics supports data-driven decision-making in an evolving business landscape. You will explore key analytics frameworks, learning how organisations leverage data to navigate uncertainty and drive strategic growth. Through practical applications, you will differentiate between various data-driven techniques and examine their real-world implementation across industries such as banking and healthcare. Additionally, you will critically assess the challenges and ethical considerations of integrating analytics tools into business processes, equipping you to apply these insights effectively in your organisation.
Teachers
Intended learning outcomes
- Assess the evolution of business analytics and its role in data-driven decision- making.
- Analyse business analytics and AI concepts to real-world case study, focussing on enhancing strategic and operational outcomes.
- Evaluate emerging trends, ethical considerations, and risk mitigation strategies in AI and business analytics.
About
This course focuses on building basic classification and regression models and understanding these models rigorously both with a mathematical and an applicative focus. The module starts with a basic introduction to high dimensional geometry of points, distance-metrics, hyperplanes and hyperspheres. We build on top this to introduce the mathematical formulation of logistic regression to find a separating hyperplane. Students learn to solve the optimization problem using vector calculus and gradient descent (GD) based algorithms. The module introduces computational variations of GD like mini-batch and stochastic gradient descent. Students also learn other popular classification and regression methods like k-Nearest Neighbours, Naive Bayes, Decision Trees, Linear Regression etc. Students also learn how each of these techniques under various real world situations like the presence of outliers, imbalanced data, multi class classification etc. Students learn bias and variance trade-off and various techniques to avoid overfitting and underfitting. Students also study these algorithms from a Bayesian viewpoint along with geometric intuition. This module is hands-on and students apply all these classical techniques to real world problems.
Teachers
Intended learning outcomes
- Acquire knowledge of bias and variance trade-off, and various techniques to avoid overfitting and underfitting.
- Develop a specialised knowledge of key strategies related to machine learning.
- Develop a critical knowledge of machine learning.
- Critically evaluate diverse scholarly views on machine learning.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Creatively apply regression models to develop critical and original solutions for computational issues.
- Autonomously gather material and organise it into coherent problem sets and presentation.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Apply an in-depth domain-specific knowledge and understanding to machine learning solutions.
- Apply a professional and scholarly approach to research problems pertaining to machine learning.
- Act autonomously in identifying research problems and solutions related to machine learning.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of machine learning.
- Demonstrate self-direction in research and originality in solutions developed for machine learning.
- Efficiently manage interdisciplinary issues that arise in connection to machine learning.
- Create synthetic contextualised discussions of key issues related to machine learning.
About
This course is designed to bridge the gap between data theory and real-world applications. This course focuses on the endto- end process of data analytics, including data collection, cleaning, exploratory data analysis, and visualisation. Students will learn how to apply statistical methods and machine learning techniques to analyse and interpret complex datasets, uncovering actionable insights that drive strategic decision-making across various domains such as business, healthcare, and technology.
The course combines theoretical instruction with hands-on projects, allowing students to work with real datasets and employ state-of-the- art tools and software. By engaging in case studies and practical exercises, students will develop the skills necessary to tackle data-driven problems and present their findings effectively. Upon completion, students will be well-equipped to leverage data analytics to solve real-world challenges and contribute to data-informed decisionmaking processes in their professional careers.
Teachers
Intended learning outcomes
- Analyse how data analytics contributes to decision-making processes within various industries and organisational contexts.
- Recognize and differentiate between various data types and select appropriate analytical methods for analysing them.
- Define and explain fundamental concepts of data analytics, including data preprocessing, statistical analysis, and data visualisation techniques.
- Apply data cleaning and preprocessing techniques to prepare raw data for analysis, ensuring accuracy and reliability.
- Create visualisations using software such as Tableau or Power BI to effectively communicate data-driven insights to stakeholders.
- Build and implement analytical models using tools like Python, R, or SQL, to extract insights from complex data sets.
- Display competency in leading data analytics projects within multidisciplinary teams, managing the entire analytics lifecycle from data collection to actionable insights.
- Exhibit the ability to design and implement data-driven solutions to solve complex, real-world problems, leveraging advanced analytics techniques.
- Demonstrate the ability to integrate data analytics into broader business strategies, ensuring that analytical insights align with organisational goals.
About
This course is designed to immerse students in the latest advancements and trends in AI. This course covers cutting-edge technologies such as deep learning, neural networks, natural language processing, computer vision, and reinforcement learning. Students will explore the innovative applications of these technologies in various domains, including healthcare, finance, robotics, and autonomous systems. The course emphasises not only understanding these technologies but also critically evaluating their potential and limitations.
Through a combination of theoretical insights and hands-on projects, students will gain practical experience with state-of-the-art AI tools and platforms. They will engage in experiments, case studies, and research activities that foster a deep appreciation of the current landscape and future directions of AI technology. By the end of the course, students will be well-equipped to contribute to the development and implementation of emerging AI solutions, positioning themselves at the forefront of technological innovation and advancement in the field of artificial intelligence.
Teachers
Intended learning outcomes
- Identify current and emerging AI technologies including technologies such as generative models, reinforcement learning, and AI ethics frameworks.
- Analyse the impact of emerging AI technologies on various industries.
- Understand the principles and underlying mechanisms of emerging AI technologies.
- Develop prototypes using emerging AI technologies demonstrating the ability to apply theoretical knowledge to practical scenarios.
- Experiment with emerging AI tools and platforms to develop and test new AI solutions.
- Evaluate the effectiveness of emerging AI technologies.
- Critically assess the ethical implications of deploying emerging AI technologies.
- Collaborate on interdisciplinary projects involving emerging AI technologies.
- Innovate by integrating emerging AI technologies into existing systems.
About
This is a comprehensive course focused on the practical implementation of machine learning techniques across various industries. This course delves into the application of supervised and unsupervised learning algorithms, including regression, classification, clustering, and dimensionality reduction. Students will learn how to leverage these techniques to solve real-world problems in areas such as healthcare, finance, marketing, and beyond. Emphasis is placed on understanding the entire machine learning pipeline, from data preprocessing and model selection to evaluation and deployment. Throughout the course, students will engage in hands-on projects and case studies that demonstrate the practical use of machine learning in real-world scenarios. By applying machine learning algorithms to datasets, students will gain invaluable experience in extracting insights and making data-driven decisions. Additionally, the course covers best practices for model optimization and performance tuning, ensuring students are equipped to create robust and scalable machine learning solutions. By the end of the course, students will have a solid foundation in machine learning applications, empowering them to innovate and drive progress in their respective fields.
Teachers
Intended learning outcomes
- Explain the concepts of overfitting, underfitting, model accuracy, precision, recall, and other evaluation metrics used in machine learning.
- List and describe various machine learning algorithms, including supervised, unsupervised, and reinforcement learning techniques, and their typical use cases.
- Analyse the impact of feature selection and engineering on model performance.
- Implement machine learning algorithms using Python and relevant libraries.
- Develop and fine-tune machine learning models for specific applications.
- Evaluate the performance of machine learning models on different datasets.
- Design and deploy machine learning solutions to solve industry-specific problems.
- Critically assess the ethical concerns related to machine learning, such as bias, privacy, and transparency, and propose solutions to mitigate these issues.
- Collaborate on machine learning projects in a team environment to develop, test, and deploy machine learning models, demonstrating strong communication and project management skills.
About
In this module we will discuss general approaches to the construction of efficient solutions to problems.
Such methods are of interest because:
They provide templates suited to solving a broad range of diverse problems.
They can be translated into common control and data structures provided by most high-level languages.
The temporal and spatial requirements of the algorithms which result can be precisely analyzed.
This course will provide a solid foundation and background to design and analysis of algorithms. In particular, upon successful completion of this course, students will be able to understand, explain and apply key algorithmic concepts and principles, which might include:
Greedy algorithms (Activity Selection, 0-1 Knapsack Problem, Fractional Knapsack Problem)
Dynamic programming (Longest Common Subsequence, 0-1 Knapsack Problem)
Minimum Spanning Trees (Prim’s Algorithm, Kruskal’s Algorithm)
Graph Algorithms (Dijkstra’s Shortest Path Algorithm, Bipartite Graphs, Minimum Vertex Cover)
Although more than one technique may be applicable to a specific problem, it is often the case that an algorithm constructed by one approach is clearly superior to equivalent solutions built using alternative techniques. This module will help students assess these choices.
Teachers
Intended learning outcomes
- Develop a specialised knowledge of describing, analysing, and evaluating algorithmic performance in time and space.
- Develop a critical knowledge of important algorithmic concepts and principles, such as greedy algorithms, dynamic programming, minimum spanning trees, and graph algorithms.
- Critically assess the relevance of theories of algorithmic performance for business applications in the domain of software engineering.
- Critically evaluate diverse scholarly views on the appropriateness of various algorithmic concepts to software development problems.
- Acquire knowledge of various methods for optimizing algorithm design.
- Autonomously gather material and organise it into a coherent presentation or essay.
- Apply an in-depth domain-specific knowledge and understanding of efficiency to algorithmic designs.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Creatively apply various programming methods to most efficiently design algorithms for specified time and space constraints.
- Solve problems and be prepared to take leadership decisions related to selecting the most appropriate algorithm for a software engineering problem.
- Demonstrate self-direction in research and originality in solutions developed for solving problems related to algorithmic design.
- Apply a professional and scholarly approach to research problems pertaining to the comparative performance of algorithms.
- Create synthetic contextualised discussions of key issues related to the efficient construction of algorithms.
- Efficiently manage interdisciplinary issues that arise in connection to the performance of algorithms and data structures in time and space.
- Act autonomously in identifying research problems and solutions related to the real-world application of common controls and data structures in high-level programming languages.
About
Mathematics and computer science are closely related fields. Problems in computer science are often formalized and solved with mathematical methods. It is likely that many important problems currently facing computer scientists will be solved by researchers skilled in algebra, analysis, combinatorics, logic and/or probability theory, as well as computer science.
This course covers elementary discrete mathematics for computer science and engineering. Topics may include asymptotic notation and growth of functions; permutations and combinations; counting principles; discrete probability. Further selected topics may also be covered, such as recursive definition and structural induction; state machines and invariants; recurrences; generating functions.
Students will be able to explain and apply the basic methods of discrete (noncontinuous) mathematics in computer science. They will be able to use these methods in subsequent courses in the design and analysis of algorithms, computability theory, software engineering, and computer systems.
Teachers
Intended learning outcomes
- Critically evaluate diverse scholarly views on the appropriateness of various mathematical approaches to software development problems.
- Acquire knowledge of various methods for optimizing algorithm design.
- Develop a specialised knowledge of evaluating and describing algorithmic performance using tools from discrete mathematics.
- Develop a critical knowledge of discrete mathematics as a tool in software development.
- Critically assess the relevance of theories of recursivity and induction for business applications in the domain of computational problem-solving.
- Creatively apply various programming methods to most efficiently implement state machines in algorithmic design.
- Apply an in-depth domain-specific knowledge and understanding of discrete mathematics to algorithmic designs.
- Autonomously gather material and organise it into a coherent presentation or essay.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Solve problems and be prepared to take leadership decisions related to applying discrete mathematics to optimizing algorithms.
- Efficiently manage interdisciplinary issues that arise in connection to permutations and combinations in algorithm design.
- Create synthetic contextualised discussions of key issues related to applications of discrete mathematics in computer science.
- Demonstrate self-direction in research and originality in solutions developed for solving problems related to discrete probability.
- Act autonomously in identifying research problems and solutions related to the real-world application of discrete mathematics.
- Apply a professional and scholarly approach to research problems pertaining to the growth of functions.
About
This course is dedicated to exploring the ethical, legal, and social implications of artificial intelligence technologies. This course examines key issues such as bias in AI algorithms, data privacy, transparency, accountability, and the impact of AI on employment and society. Students will engage with case studies and frameworks designed to address these challenges, learning how to develop and implement AI systems that align with ethical standards and promote fairness and inclusivity.
Through a combination of theoretical discussions and practical applications, the course equips students with the knowledge and tools necessary to navigate the complex landscape of AI ethics. Students will participate in discussions on policy, regulations, and best practices, and will work on projects that involve designing ethical AI solutions and conducting impact assessments. By the end of the course, students will be prepared to advocate for and implement ethical AI practices in their professional roles, ensuring that AI technologies are developed and used responsibly and equitably.
Teachers
Intended learning outcomes
- Define and explain key ethical principles in AI, such as fairness, transparency, accountability, and privacy.
- Recognize and describe common ethical challenges and dilemmas encountered in AI development, including bias, discrimination, and data privacy issues.
- Critically analyse real-world case studies of ethical failures and successes in AI, drawing lessons for future practice.
- Perform ethical risk assessments for AI projects, identifying potential harms and
- Assess AI systems for ethical compliance using established frameworks and guidelines, ensuring they align with societal values and legal requirements.
- Design and implement strategies to mitigate bias in AI models, using techniques such as re-sampling, fairness-aware algorithms, and interpretability tools.
- Demonstrate the ability to design AI solutions that prioritise ethical considerations, balancing innovation with responsibility to ensure positive societal impact.
- Demonstrate the competency to advocate for ethical AI practices in industry and policy discussions, effectively communicating the importance of ethics in AI to diverse stakeholders.
- Lead and guide multidisciplinary teams in developing and implementing AI systems that adhere to ethical standards, fostering a culture of ethical AI within their organisations.
About
This course is designed to introduce students to the core concepts and methodologies of data science. This course covers a broad range of topics, including data collection, cleaning, and preprocessing, as well as statistical analysis, data visualisation, and exploratory data analysis. Students will learn how to apply various data science techniques to extract valuable insights from large datasets, empowering them to make data-driven decisions in diverse fields such as business, healthcare, and technology. Throughout the course, students will engage in practical exercises and projects that emphasise the application of data science principles to real-world problems. By working with actual datasets and using state-of-the-art tools and software, students will develop the skills necessary to analyse, interpret, and present data effectively. Upon completion of the course, students will have a strong foundation in data science, enabling them to leverage data to solve complex problems and drive innovation in their professional careers within the realm of artificial intelligence.
Teachers
Intended learning outcomes
- Analyse different types of data and their impact on model selection.
- List and describe essential data science principles, including data wrangling, statistical analysis, and predictive modelling.
- Explain how data science techniques are applied to extract insights that inform strategic business decisions across various industries.
- Create and evaluate statistical models, such as linear regression and logistic regression, to analyse datasets and derive meaningful insights.
- Assess the accuracy, precision, recall, and other performance metrics of various models, comparing their effectiveness for different types of data.
- Apply data cleaning and preprocessing techniques to real-world datasets.
- Work effectively with team members from diverse backgrounds to design, implement, and present data science solutions, demonstrating strong teamwork and communication skills.
- Critically assess and evaluate the ethical implications of data science techniques.
- Create comprehensive workflows that include data collection, preprocessing, modelling, and evaluation, tailored to solve particular real-world challenges.
About
This is a foundational and mandatory course which aims to build student's ability to apply various algorithmic design methods to provide an optimal solution to computational problems. This course starts with time and space complexity analysis of divide and conquer algorithms using recursion-tree based methods and Master’s theorem. Students would also learn about amortized time and space complexity analysis for randomized/probabilistic algorithms. Various algorithmic design strategies would be introduced via real world examples and problems. Students would learn when, where and how to optimally use Divide and Conquer, Dynamic programming (top-down and button-up), Greedy, Backtracking and Randomization strategies with examples. The module uses various practical examples from Array manipulations, Sorting, Searching, String manipulations, Tree & Graphs traversals, Graph path-finding, Spanning Trees etc., to introduce the above algorithmic strategies in action. Students would implement many of the above algorithmic design methods from scratch as part of the assignments. The module also introduces how some of these popular algorithms are readily available via popular libraries in various programming languages.
Teachers
Intended learning outcomes
- Develop a specialised knowledge of key strategies related to design and analysis of algorithms.
- Develop a critical knowledge of design and analysis of algorithms.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Critically evaluate diverse scholarly views on design and analysis of algorithms.
- Acquire knowledge of various algorithmic design methods.
- Autonomously gather material and organise it into a coherent presentation or essay.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Apply an in-depth domain-specific knowledge and understanding to design and analysis of algorithms.
- Creatively apply various algorithmic design methods to develop critical and original solutions to computational problems.
- Apply a professional and scholarly approach to research problems pertaining to design and analysis of algorithms.
- Efficiently manage interdisciplinary issues that arise in connection to design and analysis of algorithms.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of design and analysis of algorithms.
- Act autonomously in identifying research problems and solutions related to design and analysis of algorithms.
- Demonstrate self-direction in research and originality in solutions developed for design and analysis of algorithms.
- Create synthetic contextualised discussions of key issues related to design and analysis of algorithms to provide solutions to computational problems.
About
This course is aimed to build a strong foundational knowledge of data structures (DS) used extensively in computing. The module starts with introducing time and space complexity notations and estimation for code snippets. This helps students be able to make trade-offs between various Data Structures while solving real world computational problems. The module introduces most widely used basic data structures like Dynamic arrays, multi-dimensional arrays, Lists, Strings, Hash Tables, Binary Trees, Balanced Binary Trees, Priority Queues and Graphs. The module discusses multiple implementation variations for each of the above data-structures along with trade-offs in space and time for each implementation. In this course, students implement these data-structures from scratch to gain a solid understanding of their inner workings. Students are also introduced to how to use the built-in data-structures available in various programming languages/libraries like Python/NumPy/C++ STL/Java/JavaScript. Students solve real-world problems where they must use an optimal DS to solve a computational problem at hand.
Teachers
Intended learning outcomes
- Critically assess the relevance of theories for business applications in the domain of technology.
- Develop a specialised knowledge of key strategies related to Data Structures and their usage in computer science.
- Critically evaluate diverse scholarly views on data structures.
- Develop a critical knowledge of Data Structures and their implementation.
- Acquire knowledge widely used basic data structures like Dynamic arrays, multi-dimensional arrays, Lists, Strings, Hash Tables, Binary Trees, Balanced Binary Trees, Priority Queues and Graphs.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Apply an in-depth domain-specific knowledge and understanding of Data Structures.
- Apply data structures in a creative way to develop original, critical solutions to real world problems.
- Autonomously gather material and organise it into coherent data structures.
- Act autonomously in identifying research problems and solutions related to Data Structures and their implementation.
- Demonstrate self-direction in research and originality in solutions developed for Data Structures and their implementation.
- Create synthetic contextualised discussions of key issues related to Data Structures and the different approached to their implementation.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of Data Structures and their implementation.
- Efficiently manage interdisciplinary issues that arise in connection to Data Structures and their implementation.
- Apply a professional and scholarly approach to research problems pertaining to Data Structures and their implementation.
About
This course provides a strong mathematical and applicative introduction to Deep Learning. The module starts with the perceptron model as an over simplified approximation to a biological neuron. We motivate the need for a network of neurons and how they can be connected to form a Multi Layered Perceptron (MLPs). This is followed by a rigorous understanding of back-propagation algorithms and its limitations from the 1980s. Students study how modern deep learning took off with improved computational tools and data sets. We teach more modern activation units (like ReLU and SeLU) and how they overcome problems with the more classical Sigmoid and Tanh units. Students learn weight initialization methods, regularization by dropouts, batch normalization etc., to ensure that deep MLPs can be successfully trained. The module teaches variants of Gradient Descent that have been specifically designed to work well for deep learning systems like ADAM, AdaGrad, RMSProp etc. Students also learn AutoEncoders, VAEs and Word2Vec as unsupervised, encoding deep-learning architectures. We apply all of the foundational theory learned to various real world problems using TensorFlow 2 and Keras. Students also understand how TensorFlow 2 works internally with specific focus on computational graph processing.
Teachers
Intended learning outcomes
- Critically evaluate diverse scholarly views on Deep Learning.
- Develop a critical knowledge of Deep Learning.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Develop a specialised knowledge of key strategies related to Deep Learning.
- Acquire knowledge of deep learning systems like ADAM, AdaGrad, RMSProp etc. Students also learn AutoEncoders, VAEs and Word2Vec.
- Autonomously gather material and organise it into coherent problem sets or presentation.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Apply an in-depth domain-specific knowledge and understanding to Deep Learning.
- Creatively apply Deep Learning techniques to develop critical and original solutions for computational problems.
- Create synthetic contextualized discussions of key issues related to Deep Learning.
- Act autonomously in identifying research problems and solutions related to Deep Learning.
- Efficiently manage interdisciplinary issues that arise in connection to Deep Learning.
- Demonstrate self-direction in research and originality in solutions developed for Deep Learning.
- Apply a professional and scholarly approach to research problems pertaining to Deep Learning.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of Deep Learning.
About
This course is aimed at deepening students' understanding of cutting-edge topics in artificial intelligence. This course delves into advanced methodologies such as generative adversarial networks (GANs), meta-learning, and advanced reinforcement learning techniques. Students will explore the theoretical underpinnings and practical implementations of these sophisticated AI concepts, focusing on their applications in complex problem-solving and innovation across various domains.
Through a blend of advanced theoretical discussions and hands-on projects, students will engage with state-of-the-art tools and techniques, working on real-world problems and research projects. The course encourages critical thinking and problem-solving, preparing students to tackle the challenges of implementing and advancing AI technologies. By the end of the course, students will have a robust understanding of advanced AI concepts and be well-equipped to contribute to cutting-edge research and development in the field of artificial intelligence.
Teachers
Intended learning outcomes
- Dissect and analyse complex AI architectures, including their components, interactions, and applications in solving realworld problems.
- Explain the underlying theories and principles behind advanced AI techniques, such as reinforcement learning, generative adversarial networks (GANs), and deep reinforcement learning.
- Identify and discuss emerging trends in advanced AI, including new algorithms, frameworks, and their potential impact on various industries.
- Design and develop custom AI solutions tailored to solve complex problems in fields like healthcare, finance, or autonomous systems.
- Assess the performance of advanced AI systems by using metrics such as accuracy, precision, recall, and computational efficiency to fine-tune and optimise models.
- Implement advanced AI algorithms, such as GANs, reinforcement learning models, and deep neural networks, using programming languages like Python and frameworks like TensorFlow or PyTorch.
- Lead and manage innovative AI research projects that explore cutting-edge AI concepts, contributing to the academic and industry knowledge base.
- Demonstrate the competency to adapt advanced AI technologies to address new and unforeseen challenges in various domains, ensuring that AI solutions remain relevant and effective.
- Demonstrate the ability to integrate advanced AI techniques into existing software systems, ensuring compatibility, scalability, and performance optimization.
About
This course is designed to provide students with a comprehensive overview of the key concepts, techniques, and applications of AI. This course covers the history and evolution of AI, fundamental theories, and essential algorithms, including search methods, knowledge representation, machine learning, and neural networks. Students will explore the practical applications of AI in various domains such as robotics, natural language processing, computer vision, and expert systems, gaining an understanding of how AI technologies are transforming industries and society. Through a mix of theoretical lectures and hands-on exercises, students will develop a solid grounding in AI principles and practices. They will engage in projects and case studies that illustrate real-world AI applications, enhancing their problem-solving and criticalthinking skills. By the end of the course, students will have a thorough understanding of AI fundamentals and be prepared to delve deeper into specialised AI topics, positioning themselves for success in advanced courses and professional roles within the field of artificial intelligence.
Teachers
Intended learning outcomes
- Identify the foundational concepts of artificial intelligence including machine learning, neural networks, and natural language processing.
- Compare and contrast narrow AI, general AI, and superintelligent AI, and evaluate their use cases in various industries.
- Explain the key milestones and advancements in the field of AI, from its inception to modern-day applications.
- Assess the accuracy, precision, recall and evaluate the performance of AI models using standard metrics.
- Implement and run AI algorithms, such as decision trees and k-nearest neighbours, on datasets to solve classification and regression tasks.
- Utilise AI tools and frameworks for practical AI development. etc.
- Work effectively in groups to design, develop, and present AI solutions, showcasing strong teamwork and communication skills.
- Evaluate the societal and ethical challenges posed by AI, such as bias, privacy concerns, and job displacement, and propose strategies to mitigate these issues.
- Create simple AI systems or prototypes that address specific real-world challenges, demonstrating an understanding of AI principles.
About
Data is the fuel driving all major organisations. This course helps you understand how to process data at scale. From understanding the fundamentals of distributed processing to designing data warehousing and writing ETL (Extract Transform Load) pipelines to process batch and streaming data. Students will learn a comprehensive view of the complete Data Engineering lifecycle.
Teachers
Intended learning outcomes
- Develop a specialised knowledge of standard tools for data processing, such as Apache Kafka, Airflow, and Spark (with PySpark), and the Hadoop Ecosystem.
- Critically assess the relevance of theories of data modelling for efficient pipeline creation.
- Critically evaluate diverse scholarly views on best practices in developing data-intensive applications.
- Acquire knowledge of various methods for warehousing data.
- Develop a critical understanding of data engineering.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
- Apply an in-depth domain-specific knowledge and understanding of orchestrating complete ETL pipelines.
- Creatively apply various visual and written methods for dashboarding data with Grafana/Tableau.
- Autonomously gather material and organise it into a coherent presentation or essay
- Act autonomously in identifying research problems and solutions related to developing for data at scale.
- Apply a professional and scholarly approach to research problems pertaining to data warehousing and modelling.
- Create synthetic contextualised discussions of key issues related to the data engineering lifecycle.
- Demonstrate self-direction in research and originality in creating advanced SQL queries.
- Efficiently manage interdisciplinary issues that arise in connection to developing cloud solutions for data engineering problems.
- Solve problems and be prepared to take leadership decisions related to developing pipelines to handle massive datasets for engineering purposes.
About
This course provides a strategic and practical foundation for leading digital transformation in contemporary organisations. It equips learners with the tools to evaluate emerging technologies, manage digital disruption, and deliver successful transformation initiatives. Key frameworks help participants assess the risks and opportunities of adopting technologies such as AI, cloud computing, IoT, and blockchain, while distinguishing hype from real value. Drawing on Oxford research, the course explores critical success factors for implementation, including stakeholder engagement, communication, and trust-building. A significant focus is placed on cyber risk and resilience, with learners developing the skills to identify vulnerabilities, assess impact using the CIA triad, and lead with a cybersecurity mindset. The course also prepares learners to communicate risk effectively with senior leadership and align digital innovation with organisational strategy and values. Through scenario-based learning and applied exercises, participants build confidence to lead change, foster organisational resilience, and ensure that digital transformation efforts create long-term value and impact.
Teachers
Intended learning outcomes
- Analyse the opportunities and risks associated with digital transformation.
- Evaluate and assess the strategic benefits and challenges of emerging technologies.
- Develop key strategies to successfully implement digital transformation projects.
- Identify and mitigate cyber risks to ensure secure digital environments.
- Plan and enhance cyber risk management strategies to safeguard digital initiatives.
About
This course is focused on the advanced techniques and architectures used to build sophisticated AI systems. This course provides an in-depth exploration of neural networks, including feedforward networks, convolutional neural networks (CNNs), recurrent neural networks (RNNs), and deep learning models. Students will gain a thorough understanding of how these models are designed, trained, and optimised to tackle complex tasks such as image recognition, natural language processing, and predictive analytics.
Through a combination of theoretical concepts and practical implementations, students will engage with cutting-edge tools and frameworks, such as TensorFlow and PyTorch, to develop and experiment with deep learning models. The course includes hands-on projects and case studies that highlight the application of neural networks in real-world scenarios, enabling students to build and fine-tune models for diverse applications. By the end of the course, students will be proficient in designing and deploying advanced neural network architectures, positioning themselves at the forefront of AI technology and innovation.
Teachers
Intended learning outcomes
- Compare and contrast the performance of various neural network models based on different evaluation metrics and use cases.
- Explain essential concepts such as activation functions, backpropagation, gradient descent, and overfitting in the context of deep learning.
- Describe the structure and function of various types of neural networks, including feedforward, convolutional, and recurrent neural networks.
- Fine-tune and optimise neural networks for better performance, including techniques like hyperparameter tuning, regularisation, and model pruning.
- Construct and train neural networks using contemporary deep learning frameworks such as TensorFlow, PyTorch, or Keras.
- Apply deep learning techniques to solve real-world problems in domains such as computer vision, natural language processing, or recommendation systems.
- Demonstrate the ability to design and implement novel neural network architectures tailored to specific challenges, pushing the boundaries of current methodologies.
- Exhibit competency in adapting existing neural network models to address new or complex problems, demonstrating flexibility and problem-solving skills.
- Display proficiency in integrating neural networks with other AI technologies, such as reinforcement learning or symbolic reasoning, to create hybrid models that enhance decision-making and prediction.
About
This course introduces the engineering discipline of client discovery and establishes the relational database foundations used throughout the program. It covers the structured communication and scoping artifacts used to translate an ambiguous business request into a defined technical problem, including problem framing, requirements documentation, and stakeholder-facing scoping documents. The course then addresses relational database competency from first principles: schema design, normalization, joins, aggregate queries, subqueries, and window functions, followed by query performance tuning through indexing and execution-plan analysis, and transactional integrity under concurrent access. Database security practices are covered, including row-level security, column-level encryption, and audit logging, for the protection of sensitive customer data. A central case study addresses secure access to data held in a legacy, network-isolated system, reflecting a common real-world enterprise constraint. The course closes with a survey of alternative data storage paradigms and foundational data-engineering concepts, along with practice presenting schema and data-access decisions to a non-technical stakeholder audience.
Teachers
Intended learning outcomes
- Critically appraise the role of the Forward Deployed Engineer in relation to adjacent consulting and engineering functions.
- Evaluate relational data management theory as it applies to the failure modes of legacy enterprise data estates.
- Interrogate the regulatory and technical constraints governing the handling of sensitive enterprise data.
- Translate an ambiguous business problem into a scoped, documented technical requirement using structured discovery and scoping methods.
- Design and implement a secure relational database schema appropriate for sensitive enterprise data.
- Optimise SQL to profile, reconcile, and remediate defects in legacy datasets.
- Uphold accountability for the ethical and regulatory treatment of client data throughout a deployment.
- Exercise autonomous professional judgement in incompletely specified client environments, taking responsibility for scope and delivery decisions.
- Communicate data architecture and data-access decisions persuasively to non-technical stakeholder audiences, justifying the trade-offs made.
About
This course addresses professional software engineering practice in Python, moving beyond language syntax into the disciplines required for production-grade services. It covers a data-ingestion service that retrieves and processes enterprise data reliably at scale, using memory-efficient processing techniques, reusable design patterns, and object-oriented domain modeling. The course covers concurrent and asynchronous programming for parallel data processing, defensive error-handling and resilience patterns for unreliable data sources, and data validation and structured observability practices. Automated test suites and continuous integration are addressed alongside established software design principles and collaborative version-control workflows. The course concludes with an introduction to distributed data processing for handling data at scale, and includes technical communication specific to engineering teams, including code-review feedback and architecture decision documentation.
Teachers
Intended learning outcomes
- Critically evaluate the CPython execution model as a constraint on concurrency and memory strategy for data-processing workloads.
- Judge the adequacy of strategies for establishing software correctness and operational observability in production services.
- Appraise architectural patterns for reliable data ingestion against the failure modes each is designed to contain.
- Implement automated testing, validation, and continuous-integration practices that establish correctness and reliability prior to deployment.
- Build and operate a production-grade Python data-processing service that is memory-efficient, concurrent, and resilient to malformed or unreliable input.
- Diagnose and remediate performance and reliability defects in a running pipeline using systematic investigation.
- Assume accountability for the integrity and confidentiality of data processed on behalf of downstream consumers.
- Produce technical documentation and code-review feedback that advances the effectiveness of a collaborative engineering team.
- Exercise autonomous engineering judgement in trading off throughput, cost, complexity, and correctness under production constraints.
About
This course covers a complete, production-grade backend platform, addressing the full range of competencies required to operate an enterprise API. It covers a RESTful API incorporating authentication and authorization standards, including token-based authentication and role-based access control for multiple user types accessing the same system. The course addresses business-process logic modeled as a formal state machine, financial transactions and asynchronous notifications, and a documented, contract-tested API interface supporting dependent front-end systems. Real-time data delivery mechanisms are covered, along with caching and event-streaming architectures using Kafka for high-throughput, low-latency operations. The course addresses advanced competency in a relational database system, and introduces data-warehousing and transformation tools alongside workflow orchestration using Airflow and dbt to support downstream analytics. The course also includes a design review and incident documentation component for stakeholder communication.
Teachers
Intended learning outcomes
- Evaluate the consistency, latency, and availability trade-offs inherent in distributed, event-driven system design.
- Critically appraise architectural approaches to modelling transactional business processes such as order lifecycles and payment flows.
- Interrogate the security, authorisation, and regulatory obligations attaching to authenticated multi-tenant systems that process payments.
- Diagnose and resolve system failures across application, data, and messaging layers under production conditions.
- Implement real-time and event-driven system components incorporating caching, message-streaming, and database-performance-optimisation techniques appropriate to high-throughput production systems.
- Build a secure, authenticated backend API that models complex business processes and supports multiple concurrent, role-differentiated user types.
- Assume accountability for the fi nancial integrity and security of transactions and user data handled by the platform.
- Communicate technical decisions and incidents clearly and proportionately to affected technical and non-technical stakeholders.
- Exercise autonomous engineering judgement in balancing correctness, latency, cost, and operational complexity in production systems.
About
This course covers working familiarity with modern front-end engineering sufficient for a functioning client interface and effective collaboration with front-end specialists. It addresses an interactive web application from foundational web and JavaScript concepts through modern component-based interface development, including state management, form handling, and integration with a live backend API. The course covers authentication and role-based access control as implemented on the client side, real-time data synchronization techniques, and testing and performance-evaluation methods for web applications, along with conceptual familiarity with modern rendering strategies. Rather than deep front-end specialization, the course is scoped to the awareness and vocabulary required to participate meaningfully in front-end architecture discussions and to defend interface decisions to both engineering and non-technical stakeholders, including through a structured end-user walkthrough component.
Teachers
Intended learning outcomes
- Evaluate the mechanisms available for real-time client-server communication and the trade-offs each imposes on reliability and complexity.
- Interrogate the security and access-control obligations specific to client-facing interfaces, including the limits of trust placed in the browser.
- Critically appraise front-end architectural patterns for state management, component composition, and rendering performance in data-dense applications.
- Build a functioning, interactive web application that integrates securely with a backend API and supports real-time data updates.
- Implement authentication, access-control, and testing practices appropriate to client-facing production interfaces.
- Apply type-safe development and accessibility practices to produce a maintainable, usable operational interface.
- Communicate front-end architecture decisions clearly to technical stakeholders, non-technical stakeholders, and end users.
- Assume accountability for the usability, integrity, and security of an interface relied upon for operational decision-making.
- Exercise autonomous judgement in reconciling user needs, interface complexity, and delivery constraints in production interfaces.
About
This course covers the design and deployment of applied generative-AI systems suitable for production use. It surveys the landscape of large-language-model providers and serving options, and addresses prompt-engineering practice treated as a versioned, tested engineering artifact rather than an informal exercise. The core of the course is a complete retrieval-augmented-generation system, covering document chunking, embedding, hybrid retrieval, and re-ranking. Systematic evaluation methods are applied to both the retrieval and generation components using quantitative metrics rather than informal assessment, alongside guardrails against sensitive data exposure and structured red-teaming exercises addressing adversarial manipulation. The course addresses cost and latency management for production AI systems, along with communication of AI system limitations, risk, and evaluation results to non-technical and compliance-oriented stakeholders.
Teachers
Intended learning outcomes
- Evaluate quantitative approaches to measuring retrieval and generation quality, and the limits of what each metric can establish.
- Critically appraise the components of retrieval-augmented generation architecture, and the failure modes arising at each stage of the pipeline.
- Interrogate the security, privacy, and regulatory risks specific to generative-AI systems operating on proprietary enterprise data.
- Build a retrieval-augmented-generation system and evaluate it systematically using quantitative retrieval and generation metrics.
- Diagnose and remediate degradation in retrieval and generation quality using error analysis and targeted evaluation.
- Implement guardrails and adversarial-testing practices that protect a generative-AI system against data leakage and manipulation.
- Assume accountability for the accuracy, safety, and appropriate use of AI-generated output in customer-facing contexts.
- Communicate the capabilities, limitations, and risk profile of a generative-AI system clearly to non-technical and compliance stakeholders.
- Exercise autonomous judgement in determining when a generative-AI system is fit for production deployment, and where human oversight remains necessary.
About
This course extends generative-AI systems from passive question-answering into autonomous action within enterprise environments. It covers an AI agent capable of invoking external tools and taking real actions, progressing from a simple prototype to an orchestrated, stateful agent architecture with memory management and safeguards against common production failure modes. The course introduces a standardized protocol for exposing internal tools to AI systems, along with human-in-the-loop approval patterns for high-risk automated actions. A substantial portion of the course addresses enterprise systems integration: mapping an organization's existing systems landscape, adapters for legacy data formats and undocumented systems, and resilient connectors handling real-world integration failures such as rate limits and service outages. The course includes negotiation of agent autonomy boundaries with clients and coordination with client technical teams.
Teachers
Intended learning outcomes
- Critically appraise agentic architectures for tool invocation, planning, and state management, and the failure modes each introduces.
- Evaluate integration patterns for connecting autonomous systems to enterprise environments, including legacy and undocumented data sources.
- Interrogate the safety, authorisation, and liability considerations arising when an AI system is granted the capacity to act rather than advise.
- Diagnose and remediate faults in agent behaviour and integration boundaries using tracing, logging, and structured evaluation of action sequences.
- Build an autonomous AI agent that safely and reliably invokes external tools and takes real actions within a system, incorporating human-approval safeguards for high-risk operations.
- Implement resilient integrations with existing enterprise systems that handle real-world failure conditions.
- Exercise autonomous judgement in determining which operations an agent may perform unsupervised and where human authorisation must be enforced.
- Assume accountability for the consequences of actions taken by an autonomous system deployed in a client environment.
- Communicate the capabilities, boundaries, and safety design of an autonomous AI system clearly to client stakeholders and technical counterparts.
About
This course covers formal distributed-systems design in response to a large-scale traffic-growth scenario. It addresses a structured system-design methodology, including capacity estimation, applied to redesigning an existing platform for a substantial increase in load. The course covers architectural decomposition, including the trade-offs between monolithic and microservices designs, and distributed transaction patterns for maintaining consistency across services. It also covers load-balancing and caching strategies, the theoretical trade-offs between data consistency and availability, and practical strategies for scaling data storage, including database sharding, table partitioning, and distributed query processing for large datasets. Event-streaming architectures for high-throughput scenarios, scalable search infrastructure, and rate-limiting and distributed-identifier-generation techniques are covered, along with live, collaborative architectural whiteboarding.
Teachers
Intended learning outcomes
- Critically appraise distributed-systems design principles — load balancing, caching, data-consistency trade-offs, and database scaling strategies — as applied to redesigning a system for a substantial increase in scale.
- Interrogate the capacity-planning, cost, and failure-mode implications of scaling decisions under peak-load conditions.
- Evaluate distributed data-processing, search, and transaction architectures appropriate for high-throughput, multi-service production environments.
- Specify observability, degradation, and recovery strategies enabling a distributed system to survive and recover from partial failure at scale.
- Model and test system behaviour under peak and failure conditions using load estimation, bottleneck analysis, and capacity modelling.
- Redesign an existing system architecture to sustain a substantial increase in load, justifying each scaling decision against stated constraints.
- Propose, defend, and collaboratively refine a system architecture in a live, stakeholder-facing setting.
- Assume accountability for the resilience and commercial consequences of architectural decisions made under uncertainty.
- Exercise autonomous judgement in trading off consistency, latency, cost, and operational complexity where no optimal solution exists.
About
This course applies the scalability challenges of the preceding course specifically to artificial-intelligence systems operating at enterprise volume. It addresses infrastructure for serving large-language-model inference at scale, including memory management, request batching, and capacity planning for specialized hardware, along with a routing layer distributing requests across multiple models based on cost and complexity. The course introduces a structured decision framework for determining when model fine-tuning is warranted over prompt-based approaches, and covers scaling embedding-generation pipelines and vector-search infrastructure to very large document and data volumes. A significant focus is AI system evaluation as ongoing production infrastructure rather than a one-time check, including continuous evaluation pipelines, experiment tracking, safe rollout strategies such as canary deployment for model and prompt changes, and fleet-wide AI observability for performance degradation. The course includes presenting AI infrastructure costs and strategic trade-offs to an executive audience.
Teachers
Intended learning outcomes
- Interrogate the practices by which AI system quality is sustained as production infrastructure, including continuous evaluation, experiment tracking, and safe deployment.
- Evaluate the cost, latency, and quality trade-offs governing model selection, inference optimisation, and infrastructure provisioning at scale.
- Critically appraise serving, routing, and capacity-planning architectures for large-language-model systems operating at enterprise production volume.
- Design and implement scalable serving, routing, and capacity-planning infrastructure for large-language-model systems at enterprise production volume.
- Diagnose and remediate cost, latency, and quality regressions in a deployed AI system using instrumentation and controlled experimentation.
- Establish continuous evaluation, experiment-tracking, and safe-deployment practices that treat AI system quality as ongoing production infrastructure.
- Exercise autonomous judgement in balancing model capability, unit economics, and operational risk in enterprise AI architecture decisions.
- Present the cost, performance, and strategic trade-offs of a scaled AI architecture persuasively to an executive stakeholder audience.
- Assume accountability for the sustained quality, cost discipline, and safe evolution of AI systems in enterprise production.
About
This course covers the systems-administration and networking competencies required to prepare a production computing environment prior to application deployment. It addresses the Linux operating system, covering filesystem structure, user and permissions management, process management, and text-processing tools used for operational tasks such as log analysis. The course covers networking from foundational addressing and protocol concepts through network security hardening, including firewall configuration and encrypted communication, along with core transport-layer protocols and the standard networking reference model. Automation scripts for routine operational tasks, including health checks, backups, and scheduled maintenance, are covered, along with integration of scripting with higher-level programming tools for deployment automation. The course concludes with a technical-writing component addressing operational documentation intended to be usable by an unfamiliar on-call engineer.
Teachers
Intended learning outcomes
- Evaluate networking fundamentals and their implications for the security posture and diagnosability of networked systems.
- Critically appraise the Linux operating-system model — processes, permissions, filesystems, and resource control — as it governs the behaviour of production servers.
- Interrogate the principles and standards governing server hardening, least-privilege access, and operational resilience in production environments.
- Diagnose faults across process, file system, and network layers using standard command-line investigation tools.
- Automate routine operational tasks — monitoring, backup, and scheduled maintenance — using shell scripting and task-scheduling tools.
- Configure and administer a secure Linux server environment, covering user permissions, process management, and network security hardening.
- Exercise autonomous judgement in balancing security, availability, and operational convenience in server administration decisions.
- Assume accountability for the integrity, availability, and recoverability of systems under administration.
- Produce clear, independently usable operational documentation for production systems.
About
This course covers containerization and container orchestration for a complete multi-service platform. It addresses production container images, container-security hardening practices, and container networking for multi-service communication. The course introduces container-orchestration-platform architecture in depth, covering workload deployment and update strategies, service networking and traffic routing, and automated scaling in response to load. Orchestration-platform security controls, including access-control policies and network segmentation, are covered, along with systematic troubleshooting for diagnosing failures in a running cluster. The course addresses the specific infrastructure requirements of AI inference workloads on an orchestration platform, including specialized hardware allocation, and concludes with declarative, version-controlled deployment automation. The course also includes communication of infrastructure-adoption decisions to a technical stakeholder and coordination of a live, multi-party production deployment.
Teachers
Intended learning outcomes
- Evaluate container-orchestration architecture, including scheduling, service discovery, networking, and the declarative reconciliation model.
- Critically appraise the containerisation model — isolation, images, layering, and runtime behaviour — and its implications for deploying multi-service applications.
- Interrogate the security, resource-governance, and operational risks introduced by containerised and orchestrated production environments.
- Build and deploy a secure multi-service application using container technology and a container-orchestration platform.
- Troubleshoot failures systematically in a running orchestrated production environment.
- Implement an automated, declarative deployment strategy for a multi-service application.
- Justify infrastructure-adoption decisions to technical stakeholders, defending the trade-offs made.
- Exercise autonomous judgement in weighing operational complexity, portability, and cost when selecting infrastructure approaches.
- Assume accountability for the reliability, security, and recoverability of containerised systems in production.
About
This course covers the provisioning and operation of a complete production deployment on a major public cloud platform. It addresses cloud networking architecture, compute resource provisioning and security, and load balancing and storage services, including object storage and content-delivery infrastructure. The course covers competency in both relational and non-relational managed database services, in-memory caching infrastructure, and cloud-native observability and audit-logging tools. Managed container-orchestration service operation on the cloud platform, including networking and security configuration, is covered, along with infrastructure security practices across identity, network, and data-protection domains.The course concludes with infrastructure provisioning via an infrastructure-as-code tool and an automated continuous-integration and deployment pipeline, building on the manually-provisioned AWS foundation established earlier in the course. The course also covers cloud-cost communication with financial stakeholders and real-time incident coordination during a live production event.
Teachers
Intended learning outcomes
- Evaluate infrastructure-as-code principles — declarative provisioning, state management, and modular reuse — as applied to production cloud environments.
- Interrogate the security, identity, network-isolation, and cost-governance obligations attached to production cloud infrastructure.
- Critically appraise public-cloud service models and the architectural implications of adopting managed compute, database, caching, and orchestration services.
- Provision a secure, production-grade cloud infrastructure architecture using an infrastructure-as-code approach.
- Implement automated, auditable deployment pipelines for cloud infrastructure and application releases.
- Configure and secure managed compute, database, caching, and container-orchestration services on a public cloud platform.
- Assume accountability for the security, cost discipline, and availability of production cloud infrastructure.
- Exercise autonomous judgement in balancing cost, security, availability, and operational complexity in cloud architecture decisions.
- Communicate infrastructure cost and incident information clearly and proportionately to relevant stakeholders.
About
This course covers engineering for reliability under real-world failure conditions. It addresses measurable reliability targets translated into operational policy, and system architecture for high availability across multiple geographic regions, including strategies for both fully active and standby failover configurations. The course covers disaster-recovery planning, including recovery objectives validated through structured failover drills, and the operational challenges of migrating and rebalancing sharded data systems under live production conditions. A central focus is chaos engineering: the deliberate, controlled introduction of failure into a system to verify graceful degradation rather than catastrophic failure. The course also extends prior container-orchestration knowledge with advanced extensibility and automation mechanisms, deepens cloud-networking competency for complex, multi-region architectures, and includes presenting reliability investment cases to business stakeholders.
Teachers
Intended learning outcomes
- Critically appraise reliability engineering concepts — service-level objectives, error budgets, and recovery and restore-point targets — as instruments for governing production systems.
- Interrogate the theoretical and empirical basis of resilience testing, including the assumptions that chaos-engineering practices are designed to falsify.
- Evaluate high-availability and multi-region architectural patterns against the failure scenarios each is designed to withstand.
- Conduct chaos-engineering exercises that test and validate a system's graceful degradation under controlled failure conditions.
- Develop and rehearse disaster-recovery and incident-response procedures, verifying recovery objectives are achievable in practice.
- Define measurable reliability and recovery targets and design a system architecture that meets them under multi-region failure scenarios.
- Assume accountability for the continuity of business-critical services and the honest reporting of reliability posture.
- Communicate reliability and disaster-recovery investment decisions persuasively to business stakeholders.
- Exercise autonomous judgement in weighing the cost of resilience against tolerable risk where no failure-free option exists.
About
This course covers the security-engineering and compliance competencies required for an enterprise system to earn organizational trust prior to deployment. It addresses structured threat-modeling methodology for identifying system vulnerabilities, and hands-on identification and remediation of common web-application security weaknesses. The course extends AI-specific security concerns beyond foundational guardrails into more advanced adversarial techniques, and covers secrets and certificate-management practices for production systems. Compliance posture mapping against recognized regulatory and industry frameworks is covered, along with structured penetration-testing methodology using industry-standard tooling. The course addresses incident-response planning using a recognized framework, including a live simulation component involving detection and coordinated response to an in-progress security incident, followed by communication of security posture and incident outcomes to an executive audience.
Teachers
Intended learning outcomes
- Critically appraise structured threat-modelling and penetration-testing methodologies for identifying security vulnerabilities in production systems.
- Interrogate recognised incident-response frameworks and the obligations they impose across detection, containment, disclosure, and post-incident review.
- Evaluate enterprise security controls — secrets management, compliance mapping, and AI-specific safeguards — against applicable regulatory requirements.
- Implement security controls appropriate to enterprise regulatory requirements, including secrets management, compliance mapping, and AI-specific safeguards.
- Conduct threat modelling and penetration testing on a production system and remediate the vulnerabilities identified.
- Detect and respond to a live security incident using a recognised incident-response framework.
- Exercise autonomous judgement under incident conditions, determining when to contain, escalate, or disclose on incomplete information.
- Communicate the nature, scope, and remediation of a security incident clearly to affected technical, executive, and compliance stakeholders.
- Assume ethical and professional accountability for the security posture of systems entrusted to one's care, including honest disclosure of residual risk.
About
This capstone course covers independent application of the full range of program competencies to an entirely new client engagement, under realistic time constraints and without the benefit of an established, continuously evolving system. It addresses client discovery, project scoping, and a complete, compressed full-stack system — spanning data architecture, backend services, a client interface, and an applied AI feature. The course includes structured defense of technical decisions under peer review, a professional technical portfolio and case study, and system-design and behavioral interview scenarios, concluding with a final project demonstration to an external panel of industry evaluators.
Teachers
Intended learning outcomes
- Interrogate the expectations and assessment conventions of technical hiring processes, including system-design and behavioural evaluation.
- Critically appraise the phases of a full client engagement — discovery, scoping, design, build, and handover — and the professional obligations attaching to each.
- Evaluate the criteria by which technical and architectural decisions are judged in peer review and external evaluation settings.
- Defend technical and architectural decisions under structured peer review and before an external evaluation panel.
- Assemble a professional technical portfolio evidencing the depth and reasoning behind delivered work.
- Execute a complete client engagement independently, from discovery through to a working system, under realistic time constraints.
- Communicate professional capability convincingly in system-design and behavioural interview settings.
- Exercise autonomous judgement in prioritising, sequencing, and descoping work to deliver value within fixed constraints.
- Assume full professional accountability for the quality, integrity, and honest representation of independently delivered client work.
Tier 3:
750 hours | 30 ECTS
Tier 3:
About
This is a course that focuses both on architectural design and practical hands-on learning of the most used cloud services. The module extensively uses Amazon Web services (AWS) to show real world code examples of various cloud services. It also covers the core concepts and architectures in a platform agnostic manner so that students can easily translate these learnings to other cloud platforms (like Azure, GCP etc.). The module starts with virtualization and how virtualized compute instances are created and configured. Students also learn how to auto-scale applications using load balancers and build fault tolerant applications across a geographically distributed cloud. As relational databases are widely used in most enterprises, students learn how to migrate and scale (both vertically and horizontally) these databases on the cloud while ensuring enterprise grade security. Virtual private clouds enable us to create a logically isolated virtual network of compute resources. Students learn to set up a VPC using virtualized-compute-servers on AWS. The course also covers the basics of networking while setting up a VPC. Students learn of the architecture and practical aspects of distributed object storage and how it enables low latency and high availability data storage on the cloud.
Teachers
Intended learning outcomes
- Develop a critical knowledge of cloud computing.
- Develop a specialised knowledge of key strategies related to cloud computing.
- Critically evaluate diverse scholarly views on cloud computing.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Acquire knowledge of virtualization and how virtualized compute instances are created and configured.
- Apply an in-depth domain-specific knowledge and understanding to cloud computing services.
- Creatively apply cloud computing applications to develop critical and original solutions for computational problems.
- Autonomously gather material and organise it into coherent problems sets or presentations.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Apply a professional and scholarly approach to research problems pertaining to cloud computing.
- Create synthetic contextualised discussions of key issues related to cloud computing.
- Act autonomously in identifying research problems and solutions related to cloud computing.
- Demonstrate self-direction in research and originality in solutions developed for cloud computing.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of cloud computing.
- Efficiently manage interdisciplinary issues that arise in connection to cloud computing.
About
This course focuses on building basic classification and regression models and understanding these models rigorously both with a mathematical and an applicative focus. The module starts with a basic introduction to high dimensional geometry of points, distance-metrics, hyperplanes and hyperspheres. We build on top this to introduce the mathematical formulation of logistic regression to find a separating hyperplane. Students learn to solve the optimization problem using vector calculus and gradient descent (GD) based algorithms. The module introduces computational variations of GD like mini-batch and stochastic gradient descent. Students also learn other popular classification and regression methods like k-Nearest Neighbours, Naive Bayes, Decision Trees, Linear Regression etc. Students also learn how each of these techniques under various real world situations like the presence of outliers, imbalanced data, multi class classification etc. Students learn bias and variance trade-off and various techniques to avoid overfitting and underfitting. Students also study these algorithms from a Bayesian viewpoint along with geometric intuition. This module is hands-on and students apply all these classical techniques to real world problems.
Teachers
Intended learning outcomes
- Acquire knowledge of bias and variance trade-off, and various techniques to avoid overfitting and underfitting.
- Develop a specialised knowledge of key strategies related to machine learning.
- Develop a critical knowledge of machine learning.
- Critically evaluate diverse scholarly views on machine learning.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Creatively apply regression models to develop critical and original solutions for computational issues.
- Autonomously gather material and organise it into coherent problem sets and presentation.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Apply an in-depth domain-specific knowledge and understanding to machine learning solutions.
- Apply a professional and scholarly approach to research problems pertaining to machine learning.
- Act autonomously in identifying research problems and solutions related to machine learning.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of machine learning.
- Demonstrate self-direction in research and originality in solutions developed for machine learning.
- Efficiently manage interdisciplinary issues that arise in connection to machine learning.
- Create synthetic contextualised discussions of key issues related to machine learning.
About
This course is designed to bridge the gap between data theory and real-world applications. This course focuses on the endto- end process of data analytics, including data collection, cleaning, exploratory data analysis, and visualisation. Students will learn how to apply statistical methods and machine learning techniques to analyse and interpret complex datasets, uncovering actionable insights that drive strategic decision-making across various domains such as business, healthcare, and technology.
The course combines theoretical instruction with hands-on projects, allowing students to work with real datasets and employ state-of-the- art tools and software. By engaging in case studies and practical exercises, students will develop the skills necessary to tackle data-driven problems and present their findings effectively. Upon completion, students will be well-equipped to leverage data analytics to solve real-world challenges and contribute to data-informed decisionmaking processes in their professional careers.
Teachers
Intended learning outcomes
- Analyse how data analytics contributes to decision-making processes within various industries and organisational contexts.
- Recognize and differentiate between various data types and select appropriate analytical methods for analysing them.
- Define and explain fundamental concepts of data analytics, including data preprocessing, statistical analysis, and data visualisation techniques.
- Apply data cleaning and preprocessing techniques to prepare raw data for analysis, ensuring accuracy and reliability.
- Create visualisations using software such as Tableau or Power BI to effectively communicate data-driven insights to stakeholders.
- Build and implement analytical models using tools like Python, R, or SQL, to extract insights from complex data sets.
- Display competency in leading data analytics projects within multidisciplinary teams, managing the entire analytics lifecycle from data collection to actionable insights.
- Exhibit the ability to design and implement data-driven solutions to solve complex, real-world problems, leveraging advanced analytics techniques.
- Demonstrate the ability to integrate data analytics into broader business strategies, ensuring that analytical insights align with organisational goals.
About
This course is designed to immerse students in the latest advancements and trends in AI. This course covers cutting-edge technologies such as deep learning, neural networks, natural language processing, computer vision, and reinforcement learning. Students will explore the innovative applications of these technologies in various domains, including healthcare, finance, robotics, and autonomous systems. The course emphasises not only understanding these technologies but also critically evaluating their potential and limitations.
Through a combination of theoretical insights and hands-on projects, students will gain practical experience with state-of-the-art AI tools and platforms. They will engage in experiments, case studies, and research activities that foster a deep appreciation of the current landscape and future directions of AI technology. By the end of the course, students will be well-equipped to contribute to the development and implementation of emerging AI solutions, positioning themselves at the forefront of technological innovation and advancement in the field of artificial intelligence.
Teachers
Intended learning outcomes
- Identify current and emerging AI technologies including technologies such as generative models, reinforcement learning, and AI ethics frameworks.
- Analyse the impact of emerging AI technologies on various industries.
- Understand the principles and underlying mechanisms of emerging AI technologies.
- Develop prototypes using emerging AI technologies demonstrating the ability to apply theoretical knowledge to practical scenarios.
- Experiment with emerging AI tools and platforms to develop and test new AI solutions.
- Evaluate the effectiveness of emerging AI technologies.
- Critically assess the ethical implications of deploying emerging AI technologies.
- Collaborate on interdisciplinary projects involving emerging AI technologies.
- Innovate by integrating emerging AI technologies into existing systems.
About
This is a comprehensive course focused on the practical implementation of machine learning techniques across various industries. This course delves into the application of supervised and unsupervised learning algorithms, including regression, classification, clustering, and dimensionality reduction. Students will learn how to leverage these techniques to solve real-world problems in areas such as healthcare, finance, marketing, and beyond. Emphasis is placed on understanding the entire machine learning pipeline, from data preprocessing and model selection to evaluation and deployment. Throughout the course, students will engage in hands-on projects and case studies that demonstrate the practical use of machine learning in real-world scenarios. By applying machine learning algorithms to datasets, students will gain invaluable experience in extracting insights and making data-driven decisions. Additionally, the course covers best practices for model optimization and performance tuning, ensuring students are equipped to create robust and scalable machine learning solutions. By the end of the course, students will have a solid foundation in machine learning applications, empowering them to innovate and drive progress in their respective fields.
Teachers
Intended learning outcomes
- Explain the concepts of overfitting, underfitting, model accuracy, precision, recall, and other evaluation metrics used in machine learning.
- List and describe various machine learning algorithms, including supervised, unsupervised, and reinforcement learning techniques, and their typical use cases.
- Analyse the impact of feature selection and engineering on model performance.
- Implement machine learning algorithms using Python and relevant libraries.
- Develop and fine-tune machine learning models for specific applications.
- Evaluate the performance of machine learning models on different datasets.
- Design and deploy machine learning solutions to solve industry-specific problems.
- Critically assess the ethical concerns related to machine learning, such as bias, privacy, and transparency, and propose solutions to mitigate these issues.
- Collaborate on machine learning projects in a team environment to develop, test, and deploy machine learning models, demonstrating strong communication and project management skills.
About
In this module we will discuss general approaches to the construction of efficient solutions to problems.
Such methods are of interest because:
They provide templates suited to solving a broad range of diverse problems.
They can be translated into common control and data structures provided by most high-level languages.
The temporal and spatial requirements of the algorithms which result can be precisely analyzed.
This course will provide a solid foundation and background to design and analysis of algorithms. In particular, upon successful completion of this course, students will be able to understand, explain and apply key algorithmic concepts and principles, which might include:
Greedy algorithms (Activity Selection, 0-1 Knapsack Problem, Fractional Knapsack Problem)
Dynamic programming (Longest Common Subsequence, 0-1 Knapsack Problem)
Minimum Spanning Trees (Prim’s Algorithm, Kruskal’s Algorithm)
Graph Algorithms (Dijkstra’s Shortest Path Algorithm, Bipartite Graphs, Minimum Vertex Cover)
Although more than one technique may be applicable to a specific problem, it is often the case that an algorithm constructed by one approach is clearly superior to equivalent solutions built using alternative techniques. This module will help students assess these choices.
Teachers
Intended learning outcomes
- Develop a specialised knowledge of describing, analysing, and evaluating algorithmic performance in time and space.
- Develop a critical knowledge of important algorithmic concepts and principles, such as greedy algorithms, dynamic programming, minimum spanning trees, and graph algorithms.
- Critically assess the relevance of theories of algorithmic performance for business applications in the domain of software engineering.
- Critically evaluate diverse scholarly views on the appropriateness of various algorithmic concepts to software development problems.
- Acquire knowledge of various methods for optimizing algorithm design.
- Autonomously gather material and organise it into a coherent presentation or essay.
- Apply an in-depth domain-specific knowledge and understanding of efficiency to algorithmic designs.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Creatively apply various programming methods to most efficiently design algorithms for specified time and space constraints.
- Solve problems and be prepared to take leadership decisions related to selecting the most appropriate algorithm for a software engineering problem.
- Demonstrate self-direction in research and originality in solutions developed for solving problems related to algorithmic design.
- Apply a professional and scholarly approach to research problems pertaining to the comparative performance of algorithms.
- Create synthetic contextualised discussions of key issues related to the efficient construction of algorithms.
- Efficiently manage interdisciplinary issues that arise in connection to the performance of algorithms and data structures in time and space.
- Act autonomously in identifying research problems and solutions related to the real-world application of common controls and data structures in high-level programming languages.
About
Mathematics and computer science are closely related fields. Problems in computer science are often formalized and solved with mathematical methods. It is likely that many important problems currently facing computer scientists will be solved by researchers skilled in algebra, analysis, combinatorics, logic and/or probability theory, as well as computer science.
This course covers elementary discrete mathematics for computer science and engineering. Topics may include asymptotic notation and growth of functions; permutations and combinations; counting principles; discrete probability. Further selected topics may also be covered, such as recursive definition and structural induction; state machines and invariants; recurrences; generating functions.
Students will be able to explain and apply the basic methods of discrete (noncontinuous) mathematics in computer science. They will be able to use these methods in subsequent courses in the design and analysis of algorithms, computability theory, software engineering, and computer systems.
Teachers
Intended learning outcomes
- Critically evaluate diverse scholarly views on the appropriateness of various mathematical approaches to software development problems.
- Acquire knowledge of various methods for optimizing algorithm design.
- Develop a specialised knowledge of evaluating and describing algorithmic performance using tools from discrete mathematics.
- Develop a critical knowledge of discrete mathematics as a tool in software development.
- Critically assess the relevance of theories of recursivity and induction for business applications in the domain of computational problem-solving.
- Creatively apply various programming methods to most efficiently implement state machines in algorithmic design.
- Apply an in-depth domain-specific knowledge and understanding of discrete mathematics to algorithmic designs.
- Autonomously gather material and organise it into a coherent presentation or essay.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Solve problems and be prepared to take leadership decisions related to applying discrete mathematics to optimizing algorithms.
- Efficiently manage interdisciplinary issues that arise in connection to permutations and combinations in algorithm design.
- Create synthetic contextualised discussions of key issues related to applications of discrete mathematics in computer science.
- Demonstrate self-direction in research and originality in solutions developed for solving problems related to discrete probability.
- Act autonomously in identifying research problems and solutions related to the real-world application of discrete mathematics.
- Apply a professional and scholarly approach to research problems pertaining to the growth of functions.
About
This course is dedicated to exploring the ethical, legal, and social implications of artificial intelligence technologies. This course examines key issues such as bias in AI algorithms, data privacy, transparency, accountability, and the impact of AI on employment and society. Students will engage with case studies and frameworks designed to address these challenges, learning how to develop and implement AI systems that align with ethical standards and promote fairness and inclusivity.
Through a combination of theoretical discussions and practical applications, the course equips students with the knowledge and tools necessary to navigate the complex landscape of AI ethics. Students will participate in discussions on policy, regulations, and best practices, and will work on projects that involve designing ethical AI solutions and conducting impact assessments. By the end of the course, students will be prepared to advocate for and implement ethical AI practices in their professional roles, ensuring that AI technologies are developed and used responsibly and equitably.
Teachers
Intended learning outcomes
- Define and explain key ethical principles in AI, such as fairness, transparency, accountability, and privacy.
- Recognize and describe common ethical challenges and dilemmas encountered in AI development, including bias, discrimination, and data privacy issues.
- Critically analyse real-world case studies of ethical failures and successes in AI, drawing lessons for future practice.
- Perform ethical risk assessments for AI projects, identifying potential harms and
- Assess AI systems for ethical compliance using established frameworks and guidelines, ensuring they align with societal values and legal requirements.
- Design and implement strategies to mitigate bias in AI models, using techniques such as re-sampling, fairness-aware algorithms, and interpretability tools.
- Demonstrate the ability to design AI solutions that prioritise ethical considerations, balancing innovation with responsibility to ensure positive societal impact.
- Demonstrate the competency to advocate for ethical AI practices in industry and policy discussions, effectively communicating the importance of ethics in AI to diverse stakeholders.
- Lead and guide multidisciplinary teams in developing and implementing AI systems that adhere to ethical standards, fostering a culture of ethical AI within their organisations.
About
This course is designed to introduce students to the core concepts and methodologies of data science. This course covers a broad range of topics, including data collection, cleaning, and preprocessing, as well as statistical analysis, data visualisation, and exploratory data analysis. Students will learn how to apply various data science techniques to extract valuable insights from large datasets, empowering them to make data-driven decisions in diverse fields such as business, healthcare, and technology. Throughout the course, students will engage in practical exercises and projects that emphasise the application of data science principles to real-world problems. By working with actual datasets and using state-of-the-art tools and software, students will develop the skills necessary to analyse, interpret, and present data effectively. Upon completion of the course, students will have a strong foundation in data science, enabling them to leverage data to solve complex problems and drive innovation in their professional careers within the realm of artificial intelligence.
Teachers
Intended learning outcomes
- Analyse different types of data and their impact on model selection.
- List and describe essential data science principles, including data wrangling, statistical analysis, and predictive modelling.
- Explain how data science techniques are applied to extract insights that inform strategic business decisions across various industries.
- Create and evaluate statistical models, such as linear regression and logistic regression, to analyse datasets and derive meaningful insights.
- Assess the accuracy, precision, recall, and other performance metrics of various models, comparing their effectiveness for different types of data.
- Apply data cleaning and preprocessing techniques to real-world datasets.
- Work effectively with team members from diverse backgrounds to design, implement, and present data science solutions, demonstrating strong teamwork and communication skills.
- Critically assess and evaluate the ethical implications of data science techniques.
- Create comprehensive workflows that include data collection, preprocessing, modelling, and evaluation, tailored to solve particular real-world challenges.
About
This is a foundational and mandatory course which aims to build student's ability to apply various algorithmic design methods to provide an optimal solution to computational problems. This course starts with time and space complexity analysis of divide and conquer algorithms using recursion-tree based methods and Master’s theorem. Students would also learn about amortized time and space complexity analysis for randomized/probabilistic algorithms. Various algorithmic design strategies would be introduced via real world examples and problems. Students would learn when, where and how to optimally use Divide and Conquer, Dynamic programming (top-down and button-up), Greedy, Backtracking and Randomization strategies with examples. The module uses various practical examples from Array manipulations, Sorting, Searching, String manipulations, Tree & Graphs traversals, Graph path-finding, Spanning Trees etc., to introduce the above algorithmic strategies in action. Students would implement many of the above algorithmic design methods from scratch as part of the assignments. The module also introduces how some of these popular algorithms are readily available via popular libraries in various programming languages.
Teachers
Intended learning outcomes
- Develop a specialised knowledge of key strategies related to design and analysis of algorithms.
- Develop a critical knowledge of design and analysis of algorithms.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Critically evaluate diverse scholarly views on design and analysis of algorithms.
- Acquire knowledge of various algorithmic design methods.
- Autonomously gather material and organise it into a coherent presentation or essay.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Apply an in-depth domain-specific knowledge and understanding to design and analysis of algorithms.
- Creatively apply various algorithmic design methods to develop critical and original solutions to computational problems.
- Apply a professional and scholarly approach to research problems pertaining to design and analysis of algorithms.
- Efficiently manage interdisciplinary issues that arise in connection to design and analysis of algorithms.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of design and analysis of algorithms.
- Act autonomously in identifying research problems and solutions related to design and analysis of algorithms.
- Demonstrate self-direction in research and originality in solutions developed for design and analysis of algorithms.
- Create synthetic contextualised discussions of key issues related to design and analysis of algorithms to provide solutions to computational problems.
About
This course is aimed to build a strong foundational knowledge of data structures (DS) used extensively in computing. The module starts with introducing time and space complexity notations and estimation for code snippets. This helps students be able to make trade-offs between various Data Structures while solving real world computational problems. The module introduces most widely used basic data structures like Dynamic arrays, multi-dimensional arrays, Lists, Strings, Hash Tables, Binary Trees, Balanced Binary Trees, Priority Queues and Graphs. The module discusses multiple implementation variations for each of the above data-structures along with trade-offs in space and time for each implementation. In this course, students implement these data-structures from scratch to gain a solid understanding of their inner workings. Students are also introduced to how to use the built-in data-structures available in various programming languages/libraries like Python/NumPy/C++ STL/Java/JavaScript. Students solve real-world problems where they must use an optimal DS to solve a computational problem at hand.
Teachers
Intended learning outcomes
- Critically assess the relevance of theories for business applications in the domain of technology.
- Develop a specialised knowledge of key strategies related to Data Structures and their usage in computer science.
- Critically evaluate diverse scholarly views on data structures.
- Develop a critical knowledge of Data Structures and their implementation.
- Acquire knowledge widely used basic data structures like Dynamic arrays, multi-dimensional arrays, Lists, Strings, Hash Tables, Binary Trees, Balanced Binary Trees, Priority Queues and Graphs.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Apply an in-depth domain-specific knowledge and understanding of Data Structures.
- Apply data structures in a creative way to develop original, critical solutions to real world problems.
- Autonomously gather material and organise it into coherent data structures.
- Act autonomously in identifying research problems and solutions related to Data Structures and their implementation.
- Demonstrate self-direction in research and originality in solutions developed for Data Structures and their implementation.
- Create synthetic contextualised discussions of key issues related to Data Structures and the different approached to their implementation.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of Data Structures and their implementation.
- Efficiently manage interdisciplinary issues that arise in connection to Data Structures and their implementation.
- Apply a professional and scholarly approach to research problems pertaining to Data Structures and their implementation.
About
This course provides a strong mathematical and applicative introduction to Deep Learning. The module starts with the perceptron model as an over simplified approximation to a biological neuron. We motivate the need for a network of neurons and how they can be connected to form a Multi Layered Perceptron (MLPs). This is followed by a rigorous understanding of back-propagation algorithms and its limitations from the 1980s. Students study how modern deep learning took off with improved computational tools and data sets. We teach more modern activation units (like ReLU and SeLU) and how they overcome problems with the more classical Sigmoid and Tanh units. Students learn weight initialization methods, regularization by dropouts, batch normalization etc., to ensure that deep MLPs can be successfully trained. The module teaches variants of Gradient Descent that have been specifically designed to work well for deep learning systems like ADAM, AdaGrad, RMSProp etc. Students also learn AutoEncoders, VAEs and Word2Vec as unsupervised, encoding deep-learning architectures. We apply all of the foundational theory learned to various real world problems using TensorFlow 2 and Keras. Students also understand how TensorFlow 2 works internally with specific focus on computational graph processing.
Teachers
Intended learning outcomes
- Critically evaluate diverse scholarly views on Deep Learning.
- Develop a critical knowledge of Deep Learning.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Develop a specialised knowledge of key strategies related to Deep Learning.
- Acquire knowledge of deep learning systems like ADAM, AdaGrad, RMSProp etc. Students also learn AutoEncoders, VAEs and Word2Vec.
- Autonomously gather material and organise it into coherent problem sets or presentation.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Apply an in-depth domain-specific knowledge and understanding to Deep Learning.
- Creatively apply Deep Learning techniques to develop critical and original solutions for computational problems.
- Create synthetic contextualized discussions of key issues related to Deep Learning.
- Act autonomously in identifying research problems and solutions related to Deep Learning.
- Efficiently manage interdisciplinary issues that arise in connection to Deep Learning.
- Demonstrate self-direction in research and originality in solutions developed for Deep Learning.
- Apply a professional and scholarly approach to research problems pertaining to Deep Learning.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of Deep Learning.
About
This course is aimed at deepening students' understanding of cutting-edge topics in artificial intelligence. This course delves into advanced methodologies such as generative adversarial networks (GANs), meta-learning, and advanced reinforcement learning techniques. Students will explore the theoretical underpinnings and practical implementations of these sophisticated AI concepts, focusing on their applications in complex problem-solving and innovation across various domains.
Through a blend of advanced theoretical discussions and hands-on projects, students will engage with state-of-the-art tools and techniques, working on real-world problems and research projects. The course encourages critical thinking and problem-solving, preparing students to tackle the challenges of implementing and advancing AI technologies. By the end of the course, students will have a robust understanding of advanced AI concepts and be well-equipped to contribute to cutting-edge research and development in the field of artificial intelligence.
Teachers
Intended learning outcomes
- Dissect and analyse complex AI architectures, including their components, interactions, and applications in solving realworld problems.
- Explain the underlying theories and principles behind advanced AI techniques, such as reinforcement learning, generative adversarial networks (GANs), and deep reinforcement learning.
- Identify and discuss emerging trends in advanced AI, including new algorithms, frameworks, and their potential impact on various industries.
- Design and develop custom AI solutions tailored to solve complex problems in fields like healthcare, finance, or autonomous systems.
- Assess the performance of advanced AI systems by using metrics such as accuracy, precision, recall, and computational efficiency to fine-tune and optimise models.
- Implement advanced AI algorithms, such as GANs, reinforcement learning models, and deep neural networks, using programming languages like Python and frameworks like TensorFlow or PyTorch.
- Lead and manage innovative AI research projects that explore cutting-edge AI concepts, contributing to the academic and industry knowledge base.
- Demonstrate the competency to adapt advanced AI technologies to address new and unforeseen challenges in various domains, ensuring that AI solutions remain relevant and effective.
- Demonstrate the ability to integrate advanced AI techniques into existing software systems, ensuring compatibility, scalability, and performance optimization.
About
This is a project-based course, with the aim of building the required skills for creating web-based software systems. The course covers the entire lifecycle of building software projects, from requirement gathering and scope definition from a product document, to designing the architecture of the system, and all the way to delivery and maintenance of the software system.
The course covers both frontend, which is, building browser-based interfaces for users, using frontend web frameworks, and also building the backend, which is the server running an API to serve the information to the frontend, and running on an SQL or similar database management system for storage.
All aspects of delivering a software project, including security, user authentication and authorisation, monitoring and analytics, and maintaining the project are covered. The course also covers the aspects of project maintenance, like using a version control system, setting up continuous integration and deployment pipelines and bug trackers.
Teachers
Intended learning outcomes
- Critically evaluate diverse scholarly views on modern computational applications.
- Develop a critical knowledge of modern computational applications.
- Acquire knowledge of an end-to-end deployable solution to a real-world computational problem.
- Develop a specialised knowledge of key strategies related to modern computational applications.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Autonomously gather material and organise it into coherent problem sets or presentations.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Creatively apply computational applications to develop critical and original solutions for computational problems.
- Apply an in-depth domain-specific knowledge and understanding of modern day computational applications.
- Demonstrate self-direction in research and originality in solutions developed for robust and reliable cloud deployments.
- Efficiently manage interdisciplinary issues that arise in connection to deploying a modern, web-based system.
- Apply a professional and scholarly approach to research problems pertaining to real-world computational complexities.
- Create synthetic contextualised discussions of key issues related to real-world software design, implementation, and deployment situations.
- Solve problems and be prepared to take leadership decisions related to developing and deploying cloud-oriented software solutions.
- Act autonomously in identifying research problems and solutions related to modern computational tools and methods.
About
This course is designed to provide students with a comprehensive overview of the key concepts, techniques, and applications of AI. This course covers the history and evolution of AI, fundamental theories, and essential algorithms, including search methods, knowledge representation, machine learning, and neural networks. Students will explore the practical applications of AI in various domains such as robotics, natural language processing, computer vision, and expert systems, gaining an understanding of how AI technologies are transforming industries and society. Through a mix of theoretical lectures and hands-on exercises, students will develop a solid grounding in AI principles and practices. They will engage in projects and case studies that illustrate real-world AI applications, enhancing their problem-solving and criticalthinking skills. By the end of the course, students will have a thorough understanding of AI fundamentals and be prepared to delve deeper into specialised AI topics, positioning themselves for success in advanced courses and professional roles within the field of artificial intelligence.
Teachers
Intended learning outcomes
- Identify the foundational concepts of artificial intelligence including machine learning, neural networks, and natural language processing.
- Compare and contrast narrow AI, general AI, and superintelligent AI, and evaluate their use cases in various industries.
- Explain the key milestones and advancements in the field of AI, from its inception to modern-day applications.
- Assess the accuracy, precision, recall and evaluate the performance of AI models using standard metrics.
- Implement and run AI algorithms, such as decision trees and k-nearest neighbours, on datasets to solve classification and regression tasks.
- Utilise AI tools and frameworks for practical AI development. etc.
- Work effectively in groups to design, develop, and present AI solutions, showcasing strong teamwork and communication skills.
- Evaluate the societal and ethical challenges posed by AI, such as bias, privacy concerns, and job displacement, and propose strategies to mitigate these issues.
- Create simple AI systems or prototypes that address specific real-world challenges, demonstrating an understanding of AI principles.
About
Data is the fuel driving all major organisations. This course helps you understand how to process data at scale. From understanding the fundamentals of distributed processing to designing data warehousing and writing ETL (Extract Transform Load) pipelines to process batch and streaming data. Students will learn a comprehensive view of the complete Data Engineering lifecycle.
Teachers
Intended learning outcomes
- Develop a specialised knowledge of standard tools for data processing, such as Apache Kafka, Airflow, and Spark (with PySpark), and the Hadoop Ecosystem.
- Critically assess the relevance of theories of data modelling for efficient pipeline creation.
- Critically evaluate diverse scholarly views on best practices in developing data-intensive applications.
- Acquire knowledge of various methods for warehousing data.
- Develop a critical understanding of data engineering.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
- Apply an in-depth domain-specific knowledge and understanding of orchestrating complete ETL pipelines.
- Creatively apply various visual and written methods for dashboarding data with Grafana/Tableau.
- Autonomously gather material and organise it into a coherent presentation or essay
- Act autonomously in identifying research problems and solutions related to developing for data at scale.
- Apply a professional and scholarly approach to research problems pertaining to data warehousing and modelling.
- Create synthetic contextualised discussions of key issues related to the data engineering lifecycle.
- Demonstrate self-direction in research and originality in creating advanced SQL queries.
- Efficiently manage interdisciplinary issues that arise in connection to developing cloud solutions for data engineering problems.
- Solve problems and be prepared to take leadership decisions related to developing pipelines to handle massive datasets for engineering purposes.
About
This course is focused on the advanced techniques and architectures used to build sophisticated AI systems. This course provides an in-depth exploration of neural networks, including feedforward networks, convolutional neural networks (CNNs), recurrent neural networks (RNNs), and deep learning models. Students will gain a thorough understanding of how these models are designed, trained, and optimised to tackle complex tasks such as image recognition, natural language processing, and predictive analytics.
Through a combination of theoretical concepts and practical implementations, students will engage with cutting-edge tools and frameworks, such as TensorFlow and PyTorch, to develop and experiment with deep learning models. The course includes hands-on projects and case studies that highlight the application of neural networks in real-world scenarios, enabling students to build and fine-tune models for diverse applications. By the end of the course, students will be proficient in designing and deploying advanced neural network architectures, positioning themselves at the forefront of AI technology and innovation.
Teachers
Intended learning outcomes
- Compare and contrast the performance of various neural network models based on different evaluation metrics and use cases.
- Explain essential concepts such as activation functions, backpropagation, gradient descent, and overfitting in the context of deep learning.
- Describe the structure and function of various types of neural networks, including feedforward, convolutional, and recurrent neural networks.
- Fine-tune and optimise neural networks for better performance, including techniques like hyperparameter tuning, regularisation, and model pruning.
- Construct and train neural networks using contemporary deep learning frameworks such as TensorFlow, PyTorch, or Keras.
- Apply deep learning techniques to solve real-world problems in domains such as computer vision, natural language processing, or recommendation systems.
- Demonstrate the ability to design and implement novel neural network architectures tailored to specific challenges, pushing the boundaries of current methodologies.
- Exhibit competency in adapting existing neural network models to address new or complex problems, demonstrating flexibility and problem-solving skills.
- Display proficiency in integrating neural networks with other AI technologies, such as reinforcement learning or symbolic reasoning, to create hybrid models that enhance decision-making and prediction.
Specializations
Specialization certificate in Forward Deployed Engineering
500 hours | 20 ECTS
Specialization certificate in Forward Deployed Engineering
About
This course introduces the engineering discipline of client discovery and establishes the relational database foundations used throughout the program. It covers the structured communication and scoping artifacts used to translate an ambiguous business request into a defined technical problem, including problem framing, requirements documentation, and stakeholder-facing scoping documents. The course then addresses relational database competency from first principles: schema design, normalization, joins, aggregate queries, subqueries, and window functions, followed by query performance tuning through indexing and execution-plan analysis, and transactional integrity under concurrent access. Database security practices are covered, including row-level security, column-level encryption, and audit logging, for the protection of sensitive customer data. A central case study addresses secure access to data held in a legacy, network-isolated system, reflecting a common real-world enterprise constraint. The course closes with a survey of alternative data storage paradigms and foundational data-engineering concepts, along with practice presenting schema and data-access decisions to a non-technical stakeholder audience.
Teachers
Intended learning outcomes
- Critically appraise the role of the Forward Deployed Engineer in relation to adjacent consulting and engineering functions.
- Evaluate relational data management theory as it applies to the failure modes of legacy enterprise data estates.
- Interrogate the regulatory and technical constraints governing the handling of sensitive enterprise data.
- Translate an ambiguous business problem into a scoped, documented technical requirement using structured discovery and scoping methods.
- Design and implement a secure relational database schema appropriate for sensitive enterprise data.
- Optimise SQL to profile, reconcile, and remediate defects in legacy datasets.
- Uphold accountability for the ethical and regulatory treatment of client data throughout a deployment.
- Exercise autonomous professional judgement in incompletely specified client environments, taking responsibility for scope and delivery decisions.
- Communicate data architecture and data-access decisions persuasively to non-technical stakeholder audiences, justifying the trade-offs made.
About
This course addresses professional software engineering practice in Python, moving beyond language syntax into the disciplines required for production-grade services. It covers a data-ingestion service that retrieves and processes enterprise data reliably at scale, using memory-efficient processing techniques, reusable design patterns, and object-oriented domain modeling. The course covers concurrent and asynchronous programming for parallel data processing, defensive error-handling and resilience patterns for unreliable data sources, and data validation and structured observability practices. Automated test suites and continuous integration are addressed alongside established software design principles and collaborative version-control workflows. The course concludes with an introduction to distributed data processing for handling data at scale, and includes technical communication specific to engineering teams, including code-review feedback and architecture decision documentation.
Teachers
Intended learning outcomes
- Critically evaluate the CPython execution model as a constraint on concurrency and memory strategy for data-processing workloads.
- Judge the adequacy of strategies for establishing software correctness and operational observability in production services.
- Appraise architectural patterns for reliable data ingestion against the failure modes each is designed to contain.
- Implement automated testing, validation, and continuous-integration practices that establish correctness and reliability prior to deployment.
- Build and operate a production-grade Python data-processing service that is memory-efficient, concurrent, and resilient to malformed or unreliable input.
- Diagnose and remediate performance and reliability defects in a running pipeline using systematic investigation.
- Assume accountability for the integrity and confidentiality of data processed on behalf of downstream consumers.
- Produce technical documentation and code-review feedback that advances the effectiveness of a collaborative engineering team.
- Exercise autonomous engineering judgement in trading off throughput, cost, complexity, and correctness under production constraints.
About
This course covers a complete, production-grade backend platform, addressing the full range of competencies required to operate an enterprise API. It covers a RESTful API incorporating authentication and authorization standards, including token-based authentication and role-based access control for multiple user types accessing the same system. The course addresses business-process logic modeled as a formal state machine, financial transactions and asynchronous notifications, and a documented, contract-tested API interface supporting dependent front-end systems. Real-time data delivery mechanisms are covered, along with caching and event-streaming architectures using Kafka for high-throughput, low-latency operations. The course addresses advanced competency in a relational database system, and introduces data-warehousing and transformation tools alongside workflow orchestration using Airflow and dbt to support downstream analytics. The course also includes a design review and incident documentation component for stakeholder communication.
Teachers
Intended learning outcomes
- Evaluate the consistency, latency, and availability trade-offs inherent in distributed, event-driven system design.
- Critically appraise architectural approaches to modelling transactional business processes such as order lifecycles and payment flows.
- Interrogate the security, authorisation, and regulatory obligations attaching to authenticated multi-tenant systems that process payments.
- Diagnose and resolve system failures across application, data, and messaging layers under production conditions.
- Implement real-time and event-driven system components incorporating caching, message-streaming, and database-performance-optimisation techniques appropriate to high-throughput production systems.
- Build a secure, authenticated backend API that models complex business processes and supports multiple concurrent, role-differentiated user types.
- Assume accountability for the fi nancial integrity and security of transactions and user data handled by the platform.
- Communicate technical decisions and incidents clearly and proportionately to affected technical and non-technical stakeholders.
- Exercise autonomous engineering judgement in balancing correctness, latency, cost, and operational complexity in production systems.
About
This course covers working familiarity with modern front-end engineering sufficient for a functioning client interface and effective collaboration with front-end specialists. It addresses an interactive web application from foundational web and JavaScript concepts through modern component-based interface development, including state management, form handling, and integration with a live backend API. The course covers authentication and role-based access control as implemented on the client side, real-time data synchronization techniques, and testing and performance-evaluation methods for web applications, along with conceptual familiarity with modern rendering strategies. Rather than deep front-end specialization, the course is scoped to the awareness and vocabulary required to participate meaningfully in front-end architecture discussions and to defend interface decisions to both engineering and non-technical stakeholders, including through a structured end-user walkthrough component.
Teachers
Intended learning outcomes
- Evaluate the mechanisms available for real-time client-server communication and the trade-offs each imposes on reliability and complexity.
- Interrogate the security and access-control obligations specific to client-facing interfaces, including the limits of trust placed in the browser.
- Critically appraise front-end architectural patterns for state management, component composition, and rendering performance in data-dense applications.
- Build a functioning, interactive web application that integrates securely with a backend API and supports real-time data updates.
- Implement authentication, access-control, and testing practices appropriate to client-facing production interfaces.
- Apply type-safe development and accessibility practices to produce a maintainable, usable operational interface.
- Communicate front-end architecture decisions clearly to technical stakeholders, non-technical stakeholders, and end users.
- Assume accountability for the usability, integrity, and security of an interface relied upon for operational decision-making.
- Exercise autonomous judgement in reconciling user needs, interface complexity, and delivery constraints in production interfaces.
About
This course covers the design and deployment of applied generative-AI systems suitable for production use. It surveys the landscape of large-language-model providers and serving options, and addresses prompt-engineering practice treated as a versioned, tested engineering artifact rather than an informal exercise. The core of the course is a complete retrieval-augmented-generation system, covering document chunking, embedding, hybrid retrieval, and re-ranking. Systematic evaluation methods are applied to both the retrieval and generation components using quantitative metrics rather than informal assessment, alongside guardrails against sensitive data exposure and structured red-teaming exercises addressing adversarial manipulation. The course addresses cost and latency management for production AI systems, along with communication of AI system limitations, risk, and evaluation results to non-technical and compliance-oriented stakeholders.
Teachers
Intended learning outcomes
- Evaluate quantitative approaches to measuring retrieval and generation quality, and the limits of what each metric can establish.
- Critically appraise the components of retrieval-augmented generation architecture, and the failure modes arising at each stage of the pipeline.
- Interrogate the security, privacy, and regulatory risks specific to generative-AI systems operating on proprietary enterprise data.
- Build a retrieval-augmented-generation system and evaluate it systematically using quantitative retrieval and generation metrics.
- Diagnose and remediate degradation in retrieval and generation quality using error analysis and targeted evaluation.
- Implement guardrails and adversarial-testing practices that protect a generative-AI system against data leakage and manipulation.
- Assume accountability for the accuracy, safety, and appropriate use of AI-generated output in customer-facing contexts.
- Communicate the capabilities, limitations, and risk profile of a generative-AI system clearly to non-technical and compliance stakeholders.
- Exercise autonomous judgement in determining when a generative-AI system is fit for production deployment, and where human oversight remains necessary.
About
This course extends generative-AI systems from passive question-answering into autonomous action within enterprise environments. It covers an AI agent capable of invoking external tools and taking real actions, progressing from a simple prototype to an orchestrated, stateful agent architecture with memory management and safeguards against common production failure modes. The course introduces a standardized protocol for exposing internal tools to AI systems, along with human-in-the-loop approval patterns for high-risk automated actions. A substantial portion of the course addresses enterprise systems integration: mapping an organization's existing systems landscape, adapters for legacy data formats and undocumented systems, and resilient connectors handling real-world integration failures such as rate limits and service outages. The course includes negotiation of agent autonomy boundaries with clients and coordination with client technical teams.
Teachers
Intended learning outcomes
- Critically appraise agentic architectures for tool invocation, planning, and state management, and the failure modes each introduces.
- Evaluate integration patterns for connecting autonomous systems to enterprise environments, including legacy and undocumented data sources.
- Interrogate the safety, authorisation, and liability considerations arising when an AI system is granted the capacity to act rather than advise.
- Diagnose and remediate faults in agent behaviour and integration boundaries using tracing, logging, and structured evaluation of action sequences.
- Build an autonomous AI agent that safely and reliably invokes external tools and takes real actions within a system, incorporating human-approval safeguards for high-risk operations.
- Implement resilient integrations with existing enterprise systems that handle real-world failure conditions.
- Exercise autonomous judgement in determining which operations an agent may perform unsupervised and where human authorisation must be enforced.
- Assume accountability for the consequences of actions taken by an autonomous system deployed in a client environment.
- Communicate the capabilities, boundaries, and safety design of an autonomous AI system clearly to client stakeholders and technical counterparts.
About
This course covers formal distributed-systems design in response to a large-scale traffic-growth scenario. It addresses a structured system-design methodology, including capacity estimation, applied to redesigning an existing platform for a substantial increase in load. The course covers architectural decomposition, including the trade-offs between monolithic and microservices designs, and distributed transaction patterns for maintaining consistency across services. It also covers load-balancing and caching strategies, the theoretical trade-offs between data consistency and availability, and practical strategies for scaling data storage, including database sharding, table partitioning, and distributed query processing for large datasets. Event-streaming architectures for high-throughput scenarios, scalable search infrastructure, and rate-limiting and distributed-identifier-generation techniques are covered, along with live, collaborative architectural whiteboarding.
Teachers
Intended learning outcomes
- Critically appraise distributed-systems design principles — load balancing, caching, data-consistency trade-offs, and database scaling strategies — as applied to redesigning a system for a substantial increase in scale.
- Interrogate the capacity-planning, cost, and failure-mode implications of scaling decisions under peak-load conditions.
- Evaluate distributed data-processing, search, and transaction architectures appropriate for high-throughput, multi-service production environments.
- Specify observability, degradation, and recovery strategies enabling a distributed system to survive and recover from partial failure at scale.
- Model and test system behaviour under peak and failure conditions using load estimation, bottleneck analysis, and capacity modelling.
- Redesign an existing system architecture to sustain a substantial increase in load, justifying each scaling decision against stated constraints.
- Propose, defend, and collaboratively refine a system architecture in a live, stakeholder-facing setting.
- Assume accountability for the resilience and commercial consequences of architectural decisions made under uncertainty.
- Exercise autonomous judgement in trading off consistency, latency, cost, and operational complexity where no optimal solution exists.
About
This course applies the scalability challenges of the preceding course specifically to artificial-intelligence systems operating at enterprise volume. It addresses infrastructure for serving large-language-model inference at scale, including memory management, request batching, and capacity planning for specialized hardware, along with a routing layer distributing requests across multiple models based on cost and complexity. The course introduces a structured decision framework for determining when model fine-tuning is warranted over prompt-based approaches, and covers scaling embedding-generation pipelines and vector-search infrastructure to very large document and data volumes. A significant focus is AI system evaluation as ongoing production infrastructure rather than a one-time check, including continuous evaluation pipelines, experiment tracking, safe rollout strategies such as canary deployment for model and prompt changes, and fleet-wide AI observability for performance degradation. The course includes presenting AI infrastructure costs and strategic trade-offs to an executive audience.
Teachers
Intended learning outcomes
- Interrogate the practices by which AI system quality is sustained as production infrastructure, including continuous evaluation, experiment tracking, and safe deployment.
- Evaluate the cost, latency, and quality trade-offs governing model selection, inference optimisation, and infrastructure provisioning at scale.
- Critically appraise serving, routing, and capacity-planning architectures for large-language-model systems operating at enterprise production volume.
- Design and implement scalable serving, routing, and capacity-planning infrastructure for large-language-model systems at enterprise production volume.
- Diagnose and remediate cost, latency, and quality regressions in a deployed AI system using instrumentation and controlled experimentation.
- Establish continuous evaluation, experiment-tracking, and safe-deployment practices that treat AI system quality as ongoing production infrastructure.
- Exercise autonomous judgement in balancing model capability, unit economics, and operational risk in enterprise AI architecture decisions.
- Present the cost, performance, and strategic trade-offs of a scaled AI architecture persuasively to an executive stakeholder audience.
- Assume accountability for the sustained quality, cost discipline, and safe evolution of AI systems in enterprise production.
About
This course covers the systems-administration and networking competencies required to prepare a production computing environment prior to application deployment. It addresses the Linux operating system, covering filesystem structure, user and permissions management, process management, and text-processing tools used for operational tasks such as log analysis. The course covers networking from foundational addressing and protocol concepts through network security hardening, including firewall configuration and encrypted communication, along with core transport-layer protocols and the standard networking reference model. Automation scripts for routine operational tasks, including health checks, backups, and scheduled maintenance, are covered, along with integration of scripting with higher-level programming tools for deployment automation. The course concludes with a technical-writing component addressing operational documentation intended to be usable by an unfamiliar on-call engineer.
Teachers
Intended learning outcomes
- Evaluate networking fundamentals and their implications for the security posture and diagnosability of networked systems.
- Critically appraise the Linux operating-system model — processes, permissions, filesystems, and resource control — as it governs the behaviour of production servers.
- Interrogate the principles and standards governing server hardening, least-privilege access, and operational resilience in production environments.
- Diagnose faults across process, file system, and network layers using standard command-line investigation tools.
- Automate routine operational tasks — monitoring, backup, and scheduled maintenance — using shell scripting and task-scheduling tools.
- Configure and administer a secure Linux server environment, covering user permissions, process management, and network security hardening.
- Exercise autonomous judgement in balancing security, availability, and operational convenience in server administration decisions.
- Assume accountability for the integrity, availability, and recoverability of systems under administration.
- Produce clear, independently usable operational documentation for production systems.
About
This course covers containerization and container orchestration for a complete multi-service platform. It addresses production container images, container-security hardening practices, and container networking for multi-service communication. The course introduces container-orchestration-platform architecture in depth, covering workload deployment and update strategies, service networking and traffic routing, and automated scaling in response to load. Orchestration-platform security controls, including access-control policies and network segmentation, are covered, along with systematic troubleshooting for diagnosing failures in a running cluster. The course addresses the specific infrastructure requirements of AI inference workloads on an orchestration platform, including specialized hardware allocation, and concludes with declarative, version-controlled deployment automation. The course also includes communication of infrastructure-adoption decisions to a technical stakeholder and coordination of a live, multi-party production deployment.
Teachers
Intended learning outcomes
- Evaluate container-orchestration architecture, including scheduling, service discovery, networking, and the declarative reconciliation model.
- Critically appraise the containerisation model — isolation, images, layering, and runtime behaviour — and its implications for deploying multi-service applications.
- Interrogate the security, resource-governance, and operational risks introduced by containerised and orchestrated production environments.
- Build and deploy a secure multi-service application using container technology and a container-orchestration platform.
- Troubleshoot failures systematically in a running orchestrated production environment.
- Implement an automated, declarative deployment strategy for a multi-service application.
- Justify infrastructure-adoption decisions to technical stakeholders, defending the trade-offs made.
- Exercise autonomous judgement in weighing operational complexity, portability, and cost when selecting infrastructure approaches.
- Assume accountability for the reliability, security, and recoverability of containerised systems in production.
About
This course covers the provisioning and operation of a complete production deployment on a major public cloud platform. It addresses cloud networking architecture, compute resource provisioning and security, and load balancing and storage services, including object storage and content-delivery infrastructure. The course covers competency in both relational and non-relational managed database services, in-memory caching infrastructure, and cloud-native observability and audit-logging tools. Managed container-orchestration service operation on the cloud platform, including networking and security configuration, is covered, along with infrastructure security practices across identity, network, and data-protection domains.The course concludes with infrastructure provisioning via an infrastructure-as-code tool and an automated continuous-integration and deployment pipeline, building on the manually-provisioned AWS foundation established earlier in the course. The course also covers cloud-cost communication with financial stakeholders and real-time incident coordination during a live production event.
Teachers
Intended learning outcomes
- Evaluate infrastructure-as-code principles — declarative provisioning, state management, and modular reuse — as applied to production cloud environments.
- Interrogate the security, identity, network-isolation, and cost-governance obligations attached to production cloud infrastructure.
- Critically appraise public-cloud service models and the architectural implications of adopting managed compute, database, caching, and orchestration services.
- Provision a secure, production-grade cloud infrastructure architecture using an infrastructure-as-code approach.
- Implement automated, auditable deployment pipelines for cloud infrastructure and application releases.
- Configure and secure managed compute, database, caching, and container-orchestration services on a public cloud platform.
- Assume accountability for the security, cost discipline, and availability of production cloud infrastructure.
- Exercise autonomous judgement in balancing cost, security, availability, and operational complexity in cloud architecture decisions.
- Communicate infrastructure cost and incident information clearly and proportionately to relevant stakeholders.
About
This course covers engineering for reliability under real-world failure conditions. It addresses measurable reliability targets translated into operational policy, and system architecture for high availability across multiple geographic regions, including strategies for both fully active and standby failover configurations. The course covers disaster-recovery planning, including recovery objectives validated through structured failover drills, and the operational challenges of migrating and rebalancing sharded data systems under live production conditions. A central focus is chaos engineering: the deliberate, controlled introduction of failure into a system to verify graceful degradation rather than catastrophic failure. The course also extends prior container-orchestration knowledge with advanced extensibility and automation mechanisms, deepens cloud-networking competency for complex, multi-region architectures, and includes presenting reliability investment cases to business stakeholders.
Teachers
Intended learning outcomes
- Critically appraise reliability engineering concepts — service-level objectives, error budgets, and recovery and restore-point targets — as instruments for governing production systems.
- Interrogate the theoretical and empirical basis of resilience testing, including the assumptions that chaos-engineering practices are designed to falsify.
- Evaluate high-availability and multi-region architectural patterns against the failure scenarios each is designed to withstand.
- Conduct chaos-engineering exercises that test and validate a system's graceful degradation under controlled failure conditions.
- Develop and rehearse disaster-recovery and incident-response procedures, verifying recovery objectives are achievable in practice.
- Define measurable reliability and recovery targets and design a system architecture that meets them under multi-region failure scenarios.
- Assume accountability for the continuity of business-critical services and the honest reporting of reliability posture.
- Communicate reliability and disaster-recovery investment decisions persuasively to business stakeholders.
- Exercise autonomous judgement in weighing the cost of resilience against tolerable risk where no failure-free option exists.
About
This course covers the security-engineering and compliance competencies required for an enterprise system to earn organizational trust prior to deployment. It addresses structured threat-modeling methodology for identifying system vulnerabilities, and hands-on identification and remediation of common web-application security weaknesses. The course extends AI-specific security concerns beyond foundational guardrails into more advanced adversarial techniques, and covers secrets and certificate-management practices for production systems. Compliance posture mapping against recognized regulatory and industry frameworks is covered, along with structured penetration-testing methodology using industry-standard tooling. The course addresses incident-response planning using a recognized framework, including a live simulation component involving detection and coordinated response to an in-progress security incident, followed by communication of security posture and incident outcomes to an executive audience.
Teachers
Intended learning outcomes
- Critically appraise structured threat-modelling and penetration-testing methodologies for identifying security vulnerabilities in production systems.
- Interrogate recognised incident-response frameworks and the obligations they impose across detection, containment, disclosure, and post-incident review.
- Evaluate enterprise security controls — secrets management, compliance mapping, and AI-specific safeguards — against applicable regulatory requirements.
- Implement security controls appropriate to enterprise regulatory requirements, including secrets management, compliance mapping, and AI-specific safeguards.
- Conduct threat modelling and penetration testing on a production system and remediate the vulnerabilities identified.
- Detect and respond to a live security incident using a recognised incident-response framework.
- Exercise autonomous judgement under incident conditions, determining when to contain, escalate, or disclose on incomplete information.
- Communicate the nature, scope, and remediation of a security incident clearly to affected technical, executive, and compliance stakeholders.
- Assume ethical and professional accountability for the security posture of systems entrusted to one's care, including honest disclosure of residual risk.
About
This capstone course covers independent application of the full range of program competencies to an entirely new client engagement, under realistic time constraints and without the benefit of an established, continuously evolving system. It addresses client discovery, project scoping, and a complete, compressed full-stack system — spanning data architecture, backend services, a client interface, and an applied AI feature. The course includes structured defense of technical decisions under peer review, a professional technical portfolio and case study, and system-design and behavioral interview scenarios, concluding with a final project demonstration to an external panel of industry evaluators.
Teachers
Intended learning outcomes
- Interrogate the expectations and assessment conventions of technical hiring processes, including system-design and behavioural evaluation.
- Critically appraise the phases of a full client engagement — discovery, scoping, design, build, and handover — and the professional obligations attaching to each.
- Evaluate the criteria by which technical and architectural decisions are judged in peer review and external evaluation settings.
- Defend technical and architectural decisions under structured peer review and before an external evaluation panel.
- Assemble a professional technical portfolio evidencing the depth and reasoning behind delivered work.
- Execute a complete client engagement independently, from discovery through to a working system, under realistic time constraints.
- Communicate professional capability convincingly in system-design and behavioural interview settings.
- Exercise autonomous judgement in prioritising, sequencing, and descoping work to deliver value within fixed constraints.
- Assume full professional accountability for the quality, integrity, and honest representation of independently delivered client work.
Master of Science in Artificial Intelligence
Downloads
Apply Now
Ready to start your journey? Apply for Master of Science in Artificial Intelligence today.