About
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.
How students have found success through Woolf
Course Structure
About
This course helps students translate advanced mathematical/statistical/scientific concepts into code. This is a module for writing code to solve real-world problems. It introduces programming concepts (such as control structures, recursion, classes and objects) assuming no prior programming knowledge, to make this course accessible to advanced professionals from scientific fields like Biology, Physics, Medicine, Chemistry, Civil & Mechanical Engineering etc. After building a strong foundation for converting scientific knowledge into programming concepts, the course advances to dive deeply into Object-Oriented Programming and its methodologies. It also covers when and how to use inbuilt-data structures like 1-Dimensional and 2-Dimensional Arrays before introducing the concepts of computational complexity to help students write optimised code using appropriate data structures and algorithmic design methods.
Teachers


Intended learning outcomes
- Develop a critical understanding of a modern programming language such as Java or Python.
- Acquire knowledge of various methods for structuring data.
- Critically assess the relevance of theories for business applications in the domain of technology..
- Develop a specialised knowledge of key strategies related to Object-Oriented Programming.
- Critically evaluate diverse scholarly views on computational complexity.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Apply an in-depth domain-specific knowledge and understanding to computer programming.
- Autonomously gather material and organise it into a coherent presentation or essay.
- Creatively apply various programming methods to develop critical and original solutions to computational problems.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of computer programming.
- Act autonomously in identifying research problems and solutions related to Object-Oriented programming.
- Create synthetic contextualised discussions of key issues related to converting scientific knowledge into programming concepts, and how to instantiate these using Object-Oriented methods.
- Demonstrate self-direction in research and originality in solutions developed for modern programming languages.
- Apply a professional and scholarly approach to research problems pertaining to computational complexity.
- Efficiently manage interdisciplinary issues that arise in connection to data structured in 1- and 2-dimensional arrays.
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 critical-thinking 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
- 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.
- Identify the foundational concepts of artificial intelligence including machine learning, neural networks, and natural language processing.
- Assess the accuracy, precision, recall and evaluate the performance of AI models using standard metrics.
- Utilise AI tools and frameworks for practical AI development.
- Implement and run AI algorithms, such as decision trees and k-nearest neighbours, on datasets to solve classification and regression tasks.
- 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.
- Work effectively in groups to design, develop, and present AI solutions, showcasing strong teamwork and communication skills.
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, NaiveI 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
- Critically evaluate diverse scholarly views on machine learning.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Develop a critical knowledge of machine learning.
- 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.
- Apply an in-depth domain-specific knowledge and understanding to machine learning solutions.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- 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.
- Create synthetic contextualised discussions of key issues related to machine learning.
- Efficiently manage interdisciplinary issues that arise in connection to machine learning.
- Demonstrate self-direction in research and originality in solutions developed for machine learning.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of machine learning.
- Act autonomously in identifying research problems and solutions related to machine learning.
- Apply a professional and scholarly approach to research problems pertaining to machine learning.
About
This course is aimed at providing students with a comprehensive understanding of how to design and implement systems that exhibit intelligent behaviour. This course explores a range of topics including expert systems, autonomous agents, knowledge representation, and reasoning. Students will delve into the principles of how these systems can mimic human decision-making processes, adapt to changing environments, and perform complex tasks autonomously.
The course integrates theoretical concepts with practical applications through hands-on projects and case studies, allowing students to develop and deploy intelligent systems in real-world scenarios. By working with advanced tools and techniques, students will learn to build systems that can handle uncertainty, learn from experience, and interact effectively with users and other systems. Upon completion, students will be equipped with the skills to create sophisticated AI solutions and contribute to the development of cutting-edge intelligent technologies in their professional careers.
Teachers


Intended learning outcomes
- Analyse the architecture and functionality of different intelligent systems such as rule-based systems, neural networks, and expert systems, considering their strengths and limitations.
- Understand the principles of knowledge representation and reasoning in intelligent systems to simulate human-like decision-making.
- Identify core components of intelligent systems such as sensors, actuators, decision-making algorithms, and knowledge representation.
- Design and implement intelligent agents that can autonomously perform tasks such as navigation, data analysis, or automated decision-making.
- Integrate machine learning models into intelligent systems to improve their adaptability and accuracy in complex environments.
- Evaluate the performance of intelligent systems using real-world scenarios.
- Design intelligent systems with adaptive learning capabilities demonstrating proficiency in adaptive algorithms and real-time learning.
- Evaluate the broader implications of deploying intelligent systems, considering issues such as automation, privacy, and the potential for bias, and will propose guidelines to ensure ethical use.
- Collaborate on the development of multi-agent systems for complex problem-solving and integrate different intelligent agents for a common goal.
About
This course provides a strong mathematical and applicative introduction to Deep Learning. The course 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, regularisation by dropouts, batch normalisation etc., to ensure that deep MLPs can be successfully trained.
The course 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
- Develop a specialised knowledge of key strategies related to Deep Learning.
- Critically evaluate diverse scholarly views on Deep Learning.
- Acquire knowledge of deep learning systems like ADAM, AdaGrad, RMSProp etc. Students also learn AutoEncoders, VAEs and Word2Vec.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Develop a critical knowledge of Deep Learning.
- Apply an in-depth domain-specific knowledge and understanding to Deep Learning.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Creatively apply Deep Learning techniques to develop critical and original solutions for computational problems.
- Autonomously gather material and organise it into coherent problem sets or presentation.
- Apply a professional and scholarly approach to research problems pertaining to Deep Learning.
- Demonstrate self-direction in research and originality in solutions developed for Deep Learning.
- Create synthetic contextualised discussions of key issues related to Deep Learning.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of 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.
About
This course is designed to bridge the gap between data theory and real-world applications. This course focuses on the end-to-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 decision-making processes in their professional careers.
Teachers




Intended learning outcomes
- Analyse how data analytics contributes to decision-making processes within various industries and organisational contexts.
- Define and explain fundamental concepts of data analytics, including data preprocessing, statistical analysis, and data visualisation techniques.
- Recognize and differentiate between various data types and select appropriate analytical methods for analysing them.
- Build and implement analytical models using tools like Python, R, or SQL, to extract insights from complex data sets.
- 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.
- Demonstrate the ability to integrate data analytics into broader business strategies, ensuring that analytical insights align with organisational goals.
- 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.
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
This course is designed to bridge the gap between theoretical AI concepts and their real-world applications across various industries. This course explores how AI technologies are implemented to solve industry-specific challenges and drive innovation in fields such as healthcare, finance, manufacturing, and retail. Students will examine case studies and practical examples of AI solutions that optimise processes, enhance decision-making, and create value for businesses and organisations.
Through hands-on projects and collaborative assignments, students will gain experience in deploying AI systems and tools tailored to industry needs. They will work with real-world datasets and use industry-standard platforms to develop and implement AI solutions, learning to address unique operational and strategic problems. By the end of the course, students will be equipped with the skills and insights needed to apply AI technologies effectively in various industrial contexts, making them valuable assets in transforming and advancing industry practices through artificial intelligence.
Teachers


Intended learning outcomes
- Explain how AI technologies are used to optimise processes like supply chain management, predictive maintenance, and customer service within different industries.
- Identify and describe the key applications of AI in various industries, such as healthcare, finance, manufacturing, and transportation.
- Analyse case studies of successful AI implementations in industry, discussing the challenges, solutions, and outcomes.
- Evaluate the impact of AI solutions on business operations, including improvements in efficiency, cost reduction, and customer satisfaction.
- Implement AI solutions in a simulated industry environment, demonstrating the application of AI tools and technologies to real-world scenarios.
- Develop AI models tailored to address specific challenges in industries such as healthcare, finance, or logistics using appropriate tools and techniques.
- Demonstrate the ability to design AI-driven strategies that can transform industry practices, addressing current limitations and leveraging AI for competitive advantage.
- Lead cross-functional teams in the development and deployment of AI projects within an industry, ensuring collaboration and successful implementation.
- Demonstrate the ability to adapt existing AI solutions to meet emerging needs and challenges within an industry, ensuring the AI applications remain relevant and effective.
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 course 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 computer 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
- At the end of the module/unit the learner will have been exposed to the following: a) Develop a critical knowledge of cloud computing. b) Develop a specialised knowledge of key strategies related to cloud computing. c) Acquire knowledge of virtualization and how virtualized compute instances are created and configured. d) Critically evaluate diverse scholarly views on cloud computing. e) Critically assess the relevance of theories for business applications in the domain of technology.
- have acquired the following skills: Applying knowledge and understanding The learner will be able to: a) Autonomously gather material and organise it into coherent problems sets or presentations. b) Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing. c) Creatively apply cloud computing applications to develop critical and original solutions for computational problems. d) Apply an in-depth domain-specific knowledge and understanding to cloud computing services.
- At the end of the module/unit the learner will have acquired the responsibility and autonomy to: a) Create synthetic contextualised discussions of key issues related to cloud computing. b) Apply a professional and scholarly approach to research problems pertaining to cloud computing. c) Efficiently manage interdisciplinary issues that arise in connection to cloud computing. d) Demonstrate self-direction in research and originality in solutions developed for cloud computing. e) Act autonomously in identifying research problems and solutions related to cloud computing. f) Solve problems and be prepared to take leadership decisions related to the methods and principles of cloud computing.
About
Teachers
Intended learning outcomes
About
This course is a hands-on course covering JavaScript from basics to advanced concepts in detail using multiple examples. We start with basic programming concepts like variables, control statements, loops, classes and objects. Students also learn basic data-structures like Strings, Arrays and dates. Students also learn to debug our code and handle errors gracefully in code. We learn popular style guides and good coding practices to build readable and reusable code which is also highly performant. We then learn how web browsers execute JavaScript code using V8 engine as an example. We also cover concepts like JIT-compiling which helps JS code to run faster. This is followed by slightly advanced concepts like DOM, Async-functions, Web APIs and AJAX which are very popularly used in modern front end development. We learn how to optimise JavaScript code to run on both mobile apps and mobile browsers along with Desktop browsers and as desktop apps via ElectronJS. Most of this course would be covered via real world examples and by learning from JS code of popular open-source websites and libraries.
Teachers
Intended learning outcomes
- At the end of the module/unit the learner will have been exposed to the following: a) Develop a critical knowledge of JavaScript. b) Develop a specialised knowledge of key strategies related to JavaScript. c) Acquire knowledge of popular style guides and good coding practices to build readable and reusable code which is also highly performant. d) Critically evaluate diverse scholarly views on JavaScript. e) Critically assess the relevance of theories for business applications in the domain of technology.
- At the end of the module/unit the learner will have acquired the following skills: Applying knowledge and understanding The learner will be able to: a) Autonomously gather material and organise into coherent problem sets or presentations. b) Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing. c) Creatively apply JavaScript concepts to develop critical and original solutions for computational problems. d) Apply an in-depth domain-specific knowledge and understanding to JavaScript tools.
- At the end of the module/unit the learner will have acquired the responsibility and autonomy to: a) Create synthetic contextualised discussions of key issues related to JavaScript. b) Apply a professional and scholarly approach to research problems pertaining to JavaScript. c) Efficiently manage interdisciplinary issues that arise in connection to JavaScript. d) Demonstrate self-direction in research and originality in solutions developed for JavaScript. e) Act autonomously in identifying research problems and solutions related to JavaScript. f) Solve problems and be prepared to take leadership decisions related to the methods and principles of JavaScript.
About
Teachers
Intended learning outcomes
About
This course introduces basic probability theory , statistical methods and computational algorithms to perform mathematically rigorous data analysis. The course starts with basic foundational concepts of random variables, histograms, and various plots (PMF, PDF and CDF). Students learn various popular discrete and continuous distributions like Bernoulli, Binomial, Poisson, Gaussian, Exponential, Pareto, log-normal etc., both mathematically and from an applicative perspective. Students learn various measures like mean, median, percentiles, quantiles, variance and interquartile-range. Students learn the pros and cons of each metric and understand when and how to use them in practice. Students will learn conditional probability and Bayes theorem in the applied context of real-world problems in medicine and healthcare. The module teaches the foundations of non-parametric statistics and applies them to solve problems using computational tools. Students learn various methods to determine correlations rigorously in data. This is followed by applied and mathematical understanding of the statistics underlying control-treatment (A/B) experiments and hypothesis testing. The module engages computation tools in modern statics like Bootstrapping, Monte-Carlo methods, RANSAC etc.
Teachers
Intended learning outcomes
- At the end of the module/unit the learner will have been exposed to the following: a) Develop a critical knowledge of Applied Statistics. b) Develop a specialised knowledge of key strategies related to Applied Statistics. c) Acquire knowledge of popular discrete and continuous distributions (like Bernoulli, Binomial, Poisson, Gaussian, Exponential, Pareto, and log-normal). d) Critically evaluate diverse scholarly views on Applied Statistics. e) Critically assess the relevance of theories for business applications in the domain of technology.
- At the end of the module/unit the learner will have acquired the following skills: Applying knowledge and understanding The learner will be able to: a) Autonomously gather material and organise it into a coherent problem set or presentation. b) Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing. c) Creatively apply basic probability theory to develop critical and original solutions for computational problems. d) Apply an in-depth domain-specific knowledge and understanding of applied statistics.
- At the end of the module/unit the learner will have acquired the responsibility and autonomy to: a) Create synthetic contextualised discussions of key issues related to Applied Statistics. b) Apply a professional and scholarly approach to research problems pertaining to probability theory to perform mathematically rigorous data analysis. c) Efficiently manage interdisciplinary issues that arise in connection to Applied Statistics. d) Demonstrate self-direction in research and originality in solutions developed for Applied Statistics. e) Act autonomously in identifying research problems and solutions related to Applied Statistics. f) Solve problems and be prepared to take leadership decisions related to the methods and principles of Applied Statistics.
About
Teachers
Intended learning outcomes
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.
The Applied Computer Science Project will focus on the outcome of how computer science and its associated tools as a field of study can be beneficial to other fields of study or how such tools can be applied to modify existing processes for better outcomes. Students will apply AI techniques—such as machine learning models, neural networks, computer vision, or NLP—to solve a real-world computational problem. The project should demonstrate an understanding of AI theory and its application to practical scenarios.
Teachers
Intended learning outcomes
- At the end of the module/unit the learner will have been exposed to the following: a) Develop a critical understanding of modern computational applications. b) Develop a specialised knowledge of key strategies for designing well-architected information management systems. c) Acquire knowledge of various methods for version control. d) Critically evaluate diverse scholarly views on database management. e) Critically assess the relevance of theories of web security for cloud deployment.
- At the end of the module/unit the learner will have acquired the following skills: Applying knowledge and understanding The learner will be able to: a) Autonomously gather material and organise it into a coherent presentation or essay. b) Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing. c) Creatively apply various visual and written methods for proposing a technical solution to a real-world problem to other technical and managerial-level audiences, and for documenting that solution. d) Apply an in-depth domain-specific knowledge and understanding of system design and implementation in business.
- At the end of the module/unit the learner will have acquired the responsibility and autonomy to: a) Create synthetic contextualised discussions of key issues related to real-world software design, implementation, and deployment situations. b) Apply a professional and scholarly approach to research problems pertaining to real-world computational complexities. c) Efficiently manage interdisciplinary issues that arise in connection to deploying a modern, web-based system. d) Demonstrate self-direction in research and originality in solutions developed for robust and reliable cloud deployments. e) Act autonomously in identifying research problems and solutions related to modern computational tools and methods. f) Solve problems and be prepared to take leadership decisions related to developing and deploying cloud-oriented software solutions
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
This course is dedicated to equipping students with the skills to develop and apply models that forecast future trends and behaviours based on historical data. This course covers a range of predictive techniques, including linear and logistic regression, time series analysis, ensemble methods, and advanced machine learning algorithms. Students will learn how to build, validate, and deploy predictive models to make accurate forecasts in various domains such as finance, healthcare, and marketing. The course emphasises both theoretical understanding and practical application, with students engaging in hands-on projects and case studies that demonstrate real-world uses of predictive modelling. By working with diverse datasets and employing state-of-the-art tools, students will gain experience in model selection, performance evaluation, and optimization. By the end of the course, students will be adept at creating robust predictive models that drive data-informed decision-making and contribute to strategic planning in their professional fields.
Teachers


Intended learning outcomes
- Analyse and compare the strengths, weaknesses, and appropriate use cases of different predictive modelling techniques.
- Define and explain the basic principles, methodologies, and algorithms used in predictive modelling, including linear regression, decision trees, and neural networks.
- Identify and describe the types of data needed for various predictive models, including how to prepare and preprocess data for effective model building.
- Interpret the outputs of predictive models and effectively communicate the results, implications, and limitations to stakeholders.
- Refine and optimise predictive models through techniques such as hyperparameter tuning, feature selection, and model validation.
- Use appropriate tools and techniques to build and test predictive models on real-world data sets.
- Display competency in working collaboratively in teams to develop, test, and deploy predictive models, leveraging diverse skill sets and perspectives to enhance model performance and applicability.
- Demonstrate the ability to design and implement an end-to-end predictive modelling solution, from data collection and preprocessing to model deployment and monitoring.
- Exhibit the ability to apply predictive modelling techniques creatively in new or emerging domains, addressing specific challenges and proposing innovative solutions.
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
This is a hands-on course on designing responsive, modern, and lightweight UI for
web, mobile, and desktop applications using HTML5, CSS, and Frameworks like
Bootstrap 4. This course starts with an introduction to how web browsers, mobile
apps, and web servers work. We then dive into each of the nitty-gritty details of
HTML5 to build webpages. We would start with simple web pages and then
graduate to more complex layouts and features in HTML like forms, iFrames,
multimedia playback, and using web APIs. We then go on to learn stylesheets based on CSS 4 and how browsers interpret CSS files to render web pages. Once again, we use multiple real-world example web pages to learn the internals of CSS4. We learn popular good practices for writing responsive HTML and CSS code, which is also interoperable on mobile browsers, apps, and desktop apps. We would introduce students to building desktop apps using HTML and CSS using toolkits like Electron. We also study popular frameworks for front end development like Bootstrap 4, which can speed up UI development significantly.
Teachers


Intended learning outcomes
- Acquire knowledge of popular frameworks/libraries in use: React.js, jQuery and AngularJS
- Critically assess the relevance of theories for business applications in the domain of technology
- Critically evaluate diverse scholarly views on front end development
- Develop a specialised knowledge of key strategies related to front end development
- Develop a critical knowledge of front end development
- Creatively apply front end development applications to develop critical and original solutions for computational problems
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
- Apply an in-depth domain-specific knowledge and understanding to front end development solutions
- Autonomously gather material and organise it into coherent problem sets or presentations
- Efficiently manage interdisciplinary issues that arise in connection to front end development
- Solve problems and be prepared to take leadership decisions related to the methods and principles of front end developmen
- Demonstrate self-direction in research and originality in solutions developed for front end development
- Create synthetic contextualised discussions of key issues related to front end development
- Act autonomously in identifying research problems and solutions related to front end development
- Apply a professional and scholarly approach to research problems pertaining to front end development
About
Teachers
Intended learning outcomes
About
preadsheets for Data Understanding introduces students to the principles and techniques of data cleaning, handling data sets of varying sizes, and visualising data/data storytelling. Students will also learn the basics of predictive modelling from data sets. These are all introduced through the means of Microsoft Excel, the industry-standard spreadsheet program. Students will learn how to use inbuilt functions, as well as techniques such as creating and modifying pivot tables.
Teachers
Intended learning outcomes
- At the end of the module/unit the learner will have been exposed to the following: a) Develop a critical understanding of the Excel environment and its formulas and functions. b) Develop a specialised knowledge of common spreadsheet-based reporting tools such as charts and dashboards. c) Acquire knowledge of various methods for conducting scripted analyses of moderately large-scale data sets. d) Critically evaluate diverse scholarly views on the graphical presentation of data. e) Critically assess the relevance of theories of creating use cases for business applications in the realm of software engineering.
- At the end of the module/unit the learner will have acquired the following skills: Applying knowledge and understanding The learner will be able to: a) Autonomously gather material and organise it into a coherent presentation or essay. b) Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing. c) Creatively apply various visual and written methods for developing meaningful visualisations of data sets. d) Apply an in-depth domain-specific knowledge and understanding of the importance of data analysis in business.
- At the end of the module/unit the learner will have acquired the responsibility and autonomy to: a) Create synthetic contextualised discussions of key issues related to representing and storing data in spreadsheets. b) Apply a professional and scholarly approach to research problems pertaining to the appropriate use of functions and formulas in a spreadsheet. c) Efficiently manage interdisciplinary issues that arise in connection to organising data. d) Demonstrate self-direction in research and originality in solutions developed for scripting data analysis and presenting it visually. e) Act autonomously in identifying research problems and solutions related to the appropriate use of macros in analysing data in a spreadsheet. f) Solve problems and be prepared to take leadership decisions related to creating end-to-end business use case scenarios using a spreadsheet.
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
This is a core and foundational course which aims to equip the student with the ability to model, design, implement and query relational database systems for real-world data storage & processing needs. Students would start with diagrammatic tools (ER-diagram) to map a real world data storage problem into entities, relationships and keys. Then, they learn to translate the ER-diagram into a relational model with tables. SQL is then introduced as a de facto tool to create, modify, append, delete, query and manipulate data in a relational database. Due to SQL’s popularity, the course spends considerable time building the ability to write optimised and complex queries for various data manipulation tasks. The module exposes students to various real world SQL examples to build solid practical knowledge. Students then move on to understanding various trade-offs in modern relational databases like the ones between storage space and latency. Designing a database would need a solid understanding of normal forms to minimise data duplication, indexing for speedup and flattening tables to avoid complex joins in low-latency environments. These real-world database design strategies are discussed with practical examples from various domains. Most of this course uses the open source MySQL database and cloud-hosted relational databases (like Amazon RDS) to help students apply the concepts learned on real databases via assignments.
Teachers


Intended learning outcomes
- Critically evaluate diverse scholarly views on relational databases.
- Develop a critical knowledge of relational databases.
- Acquire knowledge of SQL as a tool to create, modify, append, delete, query and manipulate data in a relational database.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Develop a specialised knowledge of key strategies related to Relational Databases.
- Creatively apply Relational Databases methods to develop critical and original solutions for computational problems.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Apply an in-depth domain-specific knowledge and understanding to Relational Databases.
- Autonomously gather material and organise it into a coherent presentation or essay.
- Apply a professional and scholarly approach to research problems pertaining to Relational Databases.
- Act autonomously in identifying research problems and solutions related to Relational Databases.
- Create synthetic contextualised discussions of key issues related to Relational Databases.
- Efficiently manage interdisciplinary issues that arise in connection to implementation and query of relational databases .
- Solve problems and be prepared to take leadership decisions related to the methods and principles of Relational Databases.
- Demonstrate self-direction in research and originality in solutions developed for Relational Databases.
About
This course is focused on equipping students with the skills and knowledge needed to effectively incorporate AI technologies into various business and industrial processes. This course explores a wide range of strategies for integrating AI, including deployment methodologies, system interoperability, and change management. Students will learn about the challenges and best practices for implementing AI solutions in real-world environments, ensuring seamless integration with existing systems and maximising organisational benefits.
Throughout the course, students will engage in case studies, practical projects, and interactive discussions that highlight successful AI integration across different sectors. By understanding the strategic, technical, and ethical considerations involved in AI deployment, students will be prepared to lead AI initiatives and drive innovation in their organisations. This course is essential for aspiring AI professionals aiming to bridge the gap between cutting-edge AI technologies and their practical applications, ultimately contributing to the advancement of the AI field.
Teachers


Intended learning outcomes
- Describe the key concepts and definitions of artificial intelligence and compare different AI integration approaches and their outcomes.
- Identify key AI integration techniques and potential applications of AI across various industries.
- Explain the principles of AI system architecture and deployment.
- Develop an AI integration plan for a specific industry application demonstrating their ability to apply theoretical knowledge to practical scenarios.
- Assess the performance of integrated AI systems identifying areas for improvement, and proposing optimization strategies.
- Implement AI integration using relevant tools and platforms to integrate AI solutions into existing systems, showcasing their technical proficiency.
- Collaborate effectively with cross-functional teams on AI integration projects demonstrating strong communication and teamwork skills.
- Demonstrate a commitment to ethical AI practices and responsible AI development.
- Design scalable and sustainable AI integration solutions ensuring long-term viability.
About
This course builds on foundational AWS knowledge, diving deeper into the platform's sophisticated features and services. Students will explore advanced networking configurations, security and compliance measures, and serverless architectures. Emphasis will be placed on practical applications, allowing students to design and implement complex AWS architectures, automate infrastructure management with Infrastructure as Code (IaC) tools, and optimize costs for scalable solutions.In addition to technical skills, the course covers advanced topics in containerization, orchestration with AWS services, and the development of continuous integration/continuous deployment (CI/CD) pipelines. Students will gain hands-on experience through labs and projects that simulate real-world scenarios, ensuring they can effectively deploy, manage, and scale applications on AWS. By the end of the course, students will be proficient in leveraging AWS's full potential to meet specific business requirements, ensuring security, compliance, and cost-efficiency in cloud environments.
Teachers


Intended learning outcomes
- Describe advanced AWS services for container orchestration (ECS), continuous integration/delivery (CodePipeline), and serverless computing (Lambda).
- Identify and differentiate between high availability and disaster recovery solutions offered by AWS for ensuring application resilience.
- Explain the concept of serverless architecture and its advantages for scalability and cost management in different workflows.
- Deploy and manage containerized applications on Amazon ECS, integrating with CI/CD pipelines for automated deployments.
- Design and implement serverless functions using AWS Lambda for specific application functionalities, triggering them based on events.
- Utilize AWS tools for monitoring and logging (CloudWatch) to analyze application performance and troubleshoot issues in the cloud environment.
- Configure and integrate high availability and disaster recovery solutions within an AWS infrastructure to ensure application uptime and data integrity.
- Design and implement a serverless architecture for a specific application use case, considering scalability and cost-efficiency.
- Develop and deploy a CI/CD pipeline using AWS CodePipeline to automate the build, test, and deployment process for complex applications within the cloud.
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
This course is aimed to build a strong foundational knowledge of Data Analytics tools used extensively in the Data Science field. There now are powerful data visualisation tools used in the business analytics industry to process and visualise raw business data in a very presentable and understandable format. A good example is Tableau, used by all data analytics departments of companies and in data analytics companies in various fields for its ease of use and efficiency. Tableau uses relational databases, Online Analytical Processing Cubes, Spreadsheets, cloud databases to generate graphical type visualisations. Course starts with visualisations and moves to an in-depth look at the different chart and graph functions, calculations, mapping and other functionality. Students will be taught quick table calculations, reference lines, different types of visualisations, bands and distributions, parameters, motion chart, trends and forecasting, formatting, stories, performance recording and advanced mapping. At the end of this course, students will be prepared, if they desire, to earn such industry desktop certifications as a Tableau Desktop Specialist, a Tableau Certified Associate, or a Tableau Certified Professional.
Teachers


Intended learning outcomes
- Develop a critical understanding of key data science concepts as implemented in common software packages
- Critically evaluate diverse scholarly views on advanced visualisation strategies
- Develop a specialised knowledge of such concepts as bands and distributions, parameters, motion chart, trends and forecasting, formatting, stories, performance recording and advanced mapping
- Critically assess the relevance of theories of data visualisation for business applications in the realm of software engineering
- Acquire knowledge of various methods for telling stories with data across different formats
- Autonomously gather material and organise it into a coherent presentation or essay
- Creatively apply various visual and written methods for developing data visualisations
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
- Apply an in-depth domain-specific knowledge and understanding of the importance of data storytelling in software engineering
- Solve problems and be prepared to take leadership decisions related to data visualisation strategies
- Efficiently manage interdisciplinary issues that arise in connection to advanced visual analytics
- Demonstrate self-direction in research and originality in solutions developed for data visualisation
- Create synthetic contextualised discussions of key issues related to time and space complexity in data science
- Apply a professional and scholarly approach to research problems pertaining to data visualisations, including dashboards and storytelling
- Act autonomously in identifying research problems and solutions related to implementing data science visualisations from scratch
About
Teachers
Intended learning outcomes
About
This course equips learners with the essential skills to navigate and manage Linux servers effectively. The course begins by demystifying the Linux command line interface, learning the fundamentals students need to interact with the system. As learners progress, they will explore powerful command-line utilities like grep, sed, awk, and more, allowing them to manipulate and analyse data efficiently.Next, they will delve into the Linux file system structure, gaining a solid understanding of user permissions and access control. This knowledge is crucial for ensuring secure and organised server environments.Finally, the course empowers students to write their own shell scripts. They will learn how to craft conditional statements (if/else) and loops (for loops) to automate repetitive tasks and streamline the workflow. By the end, they will be able to write scripts to solve real-world problems and significantly boost their Linux server administration skills.
Teachers
Intended learning outcomes
- At the end of the module/unit the learner will have been exposed to the following: a) Define core Linux concepts like process management, file systems, and kernel functionalities. b) Explain the functionalities and usage of common Linux shell commands for navigation, file manipulation, and user management. c) Identify and differentiate between various Linux shell scripting languages and their basic syntax.
- At the end of the module/unit the learner will have acquired the following skills: a) Navigate the Linux directory structure using command-line tools and manipulate files and directories using shell commands. b) Troubleshoot basic shell script errors using debugging techniques and analyse script outputs. c) Write basic shell scripts to automate repetitive tasks, including conditional branching and looping constructs.
- At the end of the module/unit the learner will have acquired the responsibility and autonomy to: a) Design and implement shell scripts to manage user accounts, automate system administration tasks, and perform file processing operations. b) Evaluate and optimise shell scripts for efficiency and maintainability, adhering to best practices and security considerations. c) Integrate shell scripts with other tools for continuous integration and deployment pipelines.
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
This core foundational course equips students with knowledge of Database Management Systems (DBMS) and Computer Networks.The course starts with Entity-Relationship (ER) diagrams, a visual tool for mapping real-world data storage problems.Students learn to translate ER diagrams into a relational model with tables. SQL, the standard language for relational databases, is then introduced. Students will spend significant time building proficiency in writing optimised and complex SQL queries for various data manipulation tasks. Real-world examples will be used to solidify practical knowledge.
Next, the course explores trade-offs in modern relational databases, such as storage space versus latency. Designing efficient databases requires understanding normal forms to minimise data duplication, indexing for speed improvements,and flattening tables to avoid complex joins in low-latency environments. These real-world database design strategies are discussed with practical examples.The course utilises open-source MySQL databases and cloud-hosted relational databases (like Amazon RDS) for assignments, allowing students to apply learned concepts on real databases.Following the DBMS section, the course transitions to Computer Networks. Here, students will delve into foundational concepts like the OSI model, TCP/IP model, TCP/UDP protocols, subnetting, DNS (Domain Name System), Network Address Translation (NAT), private networks, Secure Sockets Layer (SSL), and network security principles.
Teachers


Intended learning outcomes
- Identify and differentiate between various database models and their strengths and weaknesses for different applications.
- Describe different network security threats and basic security principles in network design.
- Explain the fundamental concepts of computer networks, including network topologies, protocols, and communication models.
- Design and implement basic database queries using Structured Query Language (SQL) to retrieve and manipulate data.
- Configure basic network security measures like firewalls and access control lists (ACLs) to mitigate security risks.
- Analyze network traffic using tools like Wireshark and identify potential network performance issues.
- Design and implement distributed database architectures for high availability and fault tolerance in varied environments.
- Select and configure appropriate database management systems for deployment pipelines based on data requirements and scalability needs.
- Integrate network security solutions with different tools and workflows to ensure secure communication and data transfer within applications.
About
Teachers
Intended learning outcomes
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.
- 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.
- Assess the performance of advanced AI systems by using metrics such as accuracy, precision, recall, and computational efficiency to fine-tune and optimise models.
- Design and develop custom AI solutions tailored to solve complex problems in fields like healthcare, finance, or autonomous systems.
- 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
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
DevOps Tools Part 2 is an advanced course designed for students building on the foundational knowledge from DevOps Tools Part 1. his course delves deeper into advanced DevOps tools and techniques that drive modern software development and operations. Students will explore sophisticated CI/CD pipelines with tools like GitLab CI/CD and Azure DevOps, and master infrastructure as code (IaC) with Terraform and AWS CloudFormation. The course emphasizes practical, hands-on experience, enabling students to automate and manage complex cloud environments effectively.In addition to advanced CI/CD and IaC, students will learn about service mesh architectures with Istio, advanced container orchestration with Kubernetes, and continuous monitoring and observability with tools such as Grafana and Jaeger. The course also covers security practices in DevOps, including integrating security tools into the CI/CD pipeline and managing secrets with HashiCorp Vault. By the end of the course, students will have the expertise to design, implement, and manage scalable, secure, and efficient DevOps workflows, preparing them for leadership roles in the field.
Teachers


Intended learning outcomes
- Identify and differentiate between continuous monitoring and logging tools used in varied workflows for performance analysis and troubleshooting.
- Describe advanced features of DevOps tools (e.g., Git branching strategies, containerization technologies like Docker, container orchestration platforms like Kubernetes)
- Explain the concepts of infrastructure as code (IaC) and its role in automating infrastructure provisioning and management.
- Implement advanced Git workflows, including branching strategies, merging, and conflict resolution.
- Utilize continuous monitoring and logging tools to analyze application performance data and identify potential issues in production environments.
- Build and manage Docker containers for software deployment and isolate applications and their dependencies.
- Design and deploy containerized applications using Docker and orchestrate them using platforms like Kubernetes for scalability and high availability.
- Develop IaC scripts using tools like Ansible or Terraform to automate complex infrastructure provisioning and management tasks.
- Integrate advanced monitoring and logging tools within a DevOps pipeline to provide real-time feedback on application health and performance, enabling proactive troubleshooting and incident management.
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
This course will focus on the principles and techniques involved in training large language models (LLMs). This course provides an in-depth understanding of the architectures and training methodologies used to develop powerful language models like GPT-3, BERT, and their successors. Students will explore the complexities of model training, including data preprocessing, tokenization, model architecture design, and fine-tuning. Emphasis will be placed on understanding the computational resources and optimization strategies required to train LLMs effectively. Throughout the course, students will engage in hands-on projects that involve training and fine-tuning LLMs on diverse datasets, gaining practical experience with tools and frameworks such as TensorFlow and PyTorch. Case studies will illustrate the application of LLMs in natural language processing tasks, such as text generation, translation, summarization, and question answering. By the end of the course, students will be equipped with the knowledge and skills to train large language models, enabling them to contribute to the development of state-of-the-art AI systems that leverage advanced language understanding and generation capabilities
Teachers
Intended learning outcomes
- At the end of the module/unit the learner will have been exposed to the following: a) Understand the underlying architectures of large language models (LLMs), including transformer models, by identifying their key components and explaining their roles. b) Analyse the ethical implications of deploying large language models in various real-world applications, highlighting potential risks and benefits. c) Evaluate different optimization techniques used in fine-tuning large language models to improve performance on specific tasks.
- At the end of the module/unit the learner will have acquired the following skills: a) Design and implement a training pipeline for an LLM using a popular deep learning framework optimising the model for a specific NLP task. b) Apply transfer learning techniques to adapt a pre-trained LLM to a new domain, fine-tuning it to achieve high accuracy on domain-specific tasks. c) Test and troubleshoot the performance of a trained LLM, using appropriate evaluation metrics and refining the model based on the results.
- At the end of the module/unit the learner will have acquired the responsibility and autonomy to: a) Develop strategies for reducing biases in LLM outputs, integrating ethical considerations into the model training and deployment process. b) Collaborate with cross-functional teams to deploy LLMs in production environments, ensuring scalability and efficiency while maintaining model performance. c) Lead the creation of documentation and training resources for stakeholders to effectively understand and use LLMs, tailoring communication to diverse audiences.
About
Teachers
Intended learning outcomes
About
his 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
- At the end of the module/unit the learner will have been exposed to the following: a) Describe the structure and function of various types of neural networks, including feedforward, convolutional, and recurrent neural networks. b) Explain essential concepts such as activation functions, backpropagation, gradient descent, and overfitting in the context of deep learning. c) Compare and contrast the performance of various neural network models based on different evaluation metrics and use cases.
- At the end of the module/unit the learner will have acquired the following skills: a) Construct and train neural networks using contemporary deep learning frameworks such as TensorFlow, PyTorch, or Keras. b) Apply deep learning techniques to solve real-world problems in domains such as computer vision, natural language processing, or recommendation systems. c) Fine-tune and optimise neural networks for better performance, including techniques like hyperparameter tuning, regularisation, and model pruning.
- At the end of the module/unit the learner will have acquired the responsibility and autonomy to: a) Demonstrate the ability to design and implement novel neural network architectures tailored to specific challenges, pushing the boundaries of current methodologies. b) Exhibit competency in adapting existing neural network models to address new or complex problems, demonstrating flexibility and problem-solving skills. c) 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 is designed to provide students with a comprehensive understanding of the principles and practices of robotics and automated systems. This course covers key topics such as robot kinematics, dynamics, control systems, and sensor integration. Students will explore the development and deployment of robotic systems for various applications, including manufacturing, logistics, and autonomous vehicles, gaining insights into the design, programming, and operation of robots.
Combining theoretical concepts with practical experience, the course features hands-on projects and case studies that illustrate the real-world implementation of robotics and automation technologies. Students will work with simulation tools and robotic platforms to design, test, and refine robotic systems, developing the skills necessary to address complex automation challenges. By the end of the course, students will be adept at integrating robotics and automation into various industries, driving innovation and efficiency through advanced technology solutions.
Teachers


Intended learning outcomes
- Describe various automation systems and their applications across different industries, such as manufacturing and logistics.
- Define and explain key concepts and components of robotics, including sensors, actuators, and control systems.
- Examine the integration of AI in robotics and how it enhances the capabilities of autonomous systems.
- Conduct kinematic and dynamic analysis of robotic systems to optimise their performance and ensure stability.
- Design and implement control systems for robots using simulation software or physical hardware.
- Create and optimise algorithms for autonomous navigation, enabling robots to perform tasks with minimal human intervention.
- Demonstrate the competency to apply ethical considerations and sustainable practices in the design and deployment of robotics and automation systems, ensuring responsible use of technology.
- Exhibit the ability to lead teams in developing custom robotic solutions tailored to specific challenges, leveraging interdisciplinary knowledge and skills.
- Demonstrate the ability to integrate robotic systems with automation processes in an industrial setting, ensuring seamless operation and efficiency.
About
This course is focused on exploring the intersection of artificial intelligence and human cognitive processes. This course provides an in-depth look at how cognitive computing systems mimic human thought processes, including perception, reasoning, learning, and problem-solving. Students will study the underlying principles of cognitive models, natural language processing, and machine learning techniques used to develop systems that can understand, reason, and interact in ways that approximate human cognition.
Through a combination of theoretical frameworks and practical applications, students will engage with cutting-edge tools and technologies used in cognitive computing, such as neural networks and advanced data analytics. The course includes hands-on projects and case studies that demonstrate how cognitive systems are applied in areas such as personalised recommendations, intelligent assistants, and decision support systems. By the end of the course, students will have a deep understanding of cognitive computing principles and be prepared to develop sophisticated AI solutions that enhance human-computer interactions and decision-making processes.
Teachers
Intended learning outcomes
- At the end of the module/unit the learner will have been exposed to the following: a) Define and explain core concepts such as natural language processing, machine learning, and cognitive analytics, essential for understanding cognitive computing. b) Describe the components and architecture of cognitive computing systems, including how they integrate with traditional AI systems. c) Critically analyse the ethical considerations and societal impacts of cognitive computing technologies.
- At the end of the module/unit the learner will have acquired the following skills: a) Design and implement cognitive computing models using advanced AI tools. b) Assess and evaluate the performance, accuracy, and reliability of cognitive computing systems. c) Compare and contrast different cognitive computing algorithms and approaches in terms of their effectiveness and efficiency.
- At the end of the module/unit the learner will have acquired the responsibility and autonomy to: a) Demonstrate the ability to lead and manage the implementation of cognitive computing solutions within real-world business environments, ensuring alignment with organisational goals. b) Show competency in collaborating with professionals from different fields (e.g., data science, software engineering, business management) to develop and deploy cognitive applications. c) Exhibit the ability to innovate and propose novel applications of cognitive computing in industries such as healthcare, finance, or education, addressing specific challenges within those sectors.
About
Teachers
Intended learning outcomes
About
This course is aimed at equipping students with the expertise to efficiently manage and analyse large datasets using advanced AI techniques. This course covers the essential principles and methods of data processing, including data cleaning, integration, transformation, and real-time processing. Students will explore the application of machine learning algorithms, data mining, and big data technologies to extract meaningful patterns and insights from complex datasets, enabling informed decision-making and strategic planning in various industries.
Throughout the course, students will engage in hands-on projects and case studies that highlight the practical applications of intelligent data processing in domains such as healthcare, finance, marketing, and more. By utilising cutting-edge tools and platforms, students will develop the skills necessary to design and implement robust data processing pipelines that can handle the volume, variety, and velocity of modern data streams. Upon completion of the course, students will be proficient in transforming raw data into valuable intelligence, positioning themselves to drive innovation and efficiency in their respective fields through intelligent data solutions.
Teachers


Intended learning outcomes
- List and describe key methods such as data cleaning, feature selection, and data integration used in intelligent data processing.
- Explain how algorithms like clustering, classification, and anomaly detection transform raw data into actionable insights.
- Evaluate how effective data processing influences the outcomes of predictive models and decision-making processes in various applications.
- Implement intelligent data processing techniques using modern tools and libraries.
- Apply processed datasets to train and validate machine learning models, demonstrating the ability to derive meaningful predictions.
- Assess the efficiency and accuracy of different data processing approaches by comparing performance metrics like processing time and data quality.
- Assess the ethical implications of data processing decisions, including privacy, bias, and fairness, and propose strategies to address these challenges.
- Design end-to-end data processing pipelines for complex data-driven projects ensuring reproducibility and scalability.
- Collaborate effectively with team members from different disciplines to develop, implement, and refine data processing solutions for real-world problems.
About
This course is focused on the techniques and technologies that enable computers to understand, interpret, and generate human language. This course covers foundational topics in NLP, including tokenization, part-of-speech tagging, named entity recognition, and sentiment analysis. Students will explore advanced methods such as word embeddings, sequence-to-sequence models, and transformers, which are essential for applications like language translation, chatbots, and text summarization.
Combining theoretical insights with practical implementation, the course includes hands-on projects and case studies that apply NLP techniques to real-world datasets. Students will gain experience using popular NLP libraries and frameworks, such as NLTK, SpaCy, and Hugging Face Transformers, to develop and refine language models. By the end of the course, students will be well-prepared to build and deploy sophisticated NLP solutions, enhancing their ability to work with and analyse textual data in various professional and research contexts.
Teachers
Intended learning outcomes
- At the end of the module/unit the learner will have been exposed to the following: a) Define and explain key concepts in NLP, including tokenization, parsing, and sentiment analysis. b) Describe different algorithms and techniques used in NLP, such as word embeddings, language models, and neural networks. c) Critically analyse the challenges associated with NLP, such as ambiguity, context sensitivity, and multilingual processing.
- At the end of the module/unit the learner will have acquired the following skills: a) Apply text preprocessing techniques such as tokenization, stemming, lemmatization, and stop-word removal to prepare data for NLP tasks. b) Create and evaluate NLP models using machine learning frameworks such as TensorFlow, PyTorch, or spaCy. c) Conduct sentiment analysis on social media data to identify trends and public opinion.
- At the end of the module/unit the learner will have acquired the responsibility and autonomy to: a) Demonstrate the ability to design and deploy complete NLP applications, such as chatbots or language translation systems, from data collection to model deployment. b) Display ability in integrating NLP techniques into business analytics tools to enhance decision-making processes, such as customer feedback analysis or market research. c) Demonstrate the ability to apply ethical considerations when developing NLP systems, ensuring fairness, transparency, and privacy in language processing.
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
- 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.
- Analyse different types of data and their impact on model selection.
- Create and evaluate statistical models, such as linear regression and logistic regression, to analyse datasets and derive meaningful insights.
- Apply data cleaning and preprocessing techniques to real-world datasets.
- Assess the accuracy, precision, recall, and other performance metrics of various models, comparing their effectiveness for different types of data.
- 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 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, NaiveI 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
- Critically evaluate diverse scholarly views on machine learning.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Develop a critical knowledge of machine learning.
- 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.
- Apply an in-depth domain-specific knowledge and understanding to machine learning solutions.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- 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.
- Create synthetic contextualised discussions of key issues related to machine learning.
- Efficiently manage interdisciplinary issues that arise in connection to machine learning.
- Demonstrate self-direction in research and originality in solutions developed for machine learning.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of machine learning.
- Act autonomously in identifying research problems and solutions related to machine learning.
- Apply a professional and scholarly approach to research problems pertaining to machine learning.
About
Teachers
Intended learning outcomes
About
This course provides a comprehensive overview of Amazon Web Services (AWS), focusing on core services and best practices for building and managing cloud-based infrastructure. Students will learn the fundamentals of cloud computing, explore key AWS services such as EC2, S3, RDS, and VPC, and gain hands-on experience in deploying and managing applications on the AWS platform. The course emphasizes practical skills, enabling students to design scalable, secure, and cost-effective cloud solutions.In addition to foundational AWS services, the course covers essential topics such as identity and access management (IAM), networking and security configurations, and monitoring and logging with CloudWatch. Students will also be introduced to Infrastructure as Code (IaC) using AWS CloudFormation and gain insights into setting up continuous integration/continuous deployment (CI/CD) pipelines with AWS tools. By the end of the course, students will have a solid understanding of AWS basics, equipping them with the knowledge and skills to effectively utilize AWS services in their DevOps practices and prepare for more advanced AWS coursework.
Teachers


Intended learning outcomes
- Differentiate between various AWS security mechanisms (IAM roles, security groups) and their role in securing cloud resources.
- Explain the concept of Infrastructure as a Service (IaaS) and its benefits for scalability and cost optimization in varied environments.
- Identify and describe core AWS services for compute (EC2), storage (S3), and networking (VPC) within a cloud architecture.
- Design and implement a simple VPC network on AWS, including subnets, security groups, and internet gateways.
- Upload, manage, and access data objects within S3 buckets, utilizing appropriate access control mechanisms.
- Provision and configure basic EC2 instances on AWS, including instance types, storage options, and security group settings.
- Integrate AWS services with DevOps tools and workflows for automated provisioning, configuration management, and deployment of applications within the cloud.
- Design and deploy a scalable and secure cloud infrastructure for a simple application on AWS, considering factors like cost optimization and fault tolerance.
- Select and configure appropriate AWS services based on specific application requirements for compute, storage, and networking.
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
This course gives the detailed overview on how to approach Low Level Design problems with real-world case studies discussed such as Designing a Pen (Mac/Windows), TicTacToe, BookMyShow (most used event booking app, manages millions of users), Email campaign Management System and detailed design of Splitwise.
Teachers
Intended learning outcomes
- At the end of the module/unit the learner will have been exposed to the following: a) Develop a critical understanding of software design and refinement processes. b) Develop a specialised knowledge of Process Design Languages and flowchart methods for describing desired functions and behaviours. c) Acquire knowledge of various methods for specifying the logical and functional design of a system. d) Critically evaluate diverse scholarly views on the appropriateness of various approaches to converting high-level or architectural software design to low-level, component-oriented design. e) Critically assess the relevance of theories of software design processes for business applications in the realm of software engineering.
- At the end of the module/unit the learner will have acquired the following skills: Applying knowledge and understanding The learner will be able to: a) Autonomously gather material and organise it into a coherent presentation or essay. b) Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing. c) Creatively apply various visual and written methods for converting architectural/high-level designs to component-oriented, low-level designs. d) Apply an in-depth domain-specific knowledge and understanding of the importance of refinement in software design processes.
- At the end of the module/unit the learner will have acquired the responsibility and autonomy to: a) Create synthetic contextualised discussions of key issues related to specifying the internal logic of software. b) Apply a professional and scholarly approach to research problems pertaining to logical and functional design of software components. c) Efficiently manage interdisciplinary issues that arise in connection to developing hierarchical input process output (HIPO) models. d) Demonstrate self-direction in research and originality in solutions developed for using Program Design Languages. e) Act autonomously in identifying research problems and solutions related to refining software designs. f) Solve problems and be prepared to take leadership decisions related to developing code-ready low-level design documents.
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
This course builds upon the introductory JavaScript course to acquaint students of popular and modern frameworks to build the front end. We focus on three very popular frameworks/libraries in use: React.js, jQuery and AngularJS. We start with React.js, one of the most popular and advanced ones amongst the three. students learn various components and data flow to learn to architect real world front end using React.js. This would be achieved via multiple code examples and code-walkthroughs from scratch. We would also dive into React Native which is a cross platform Framework to build native mobile and smart-TV apps using JavaScript. This helps students to build applications for various platforms using only JavaScript. jQuery is one of the oldest and most widely used JavaScript libraries, which students cover in detail. Students specifically focus on how jQuery can simplify event handling, AJAX, HTML DOM tree manipulation and create CSS animations. We also provide a hands-on introduction to AngularJS to architect model-view-controller (MVC) based dynamic web pages.
Teachers


Intended learning outcomes
- Acquire knowledge of HTML5, CSS and Frameworks like Bootstrap 4
- Develop a specialised knowledge of key strategies related to Front end UI/UX development
- Critically assess the relevance of theories for business applications in the domain of technology
- Critically evaluate diverse scholarly views on Front end UI/UX development
- Develop a critical knowledge of Front end UI/UX development
- Apply an in-depth domain-specific knowledge and understanding to technology
- Creatively apply Front end UI/UX development applications to develop critical and original solutions for computational problems.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
- Autonomously gather material and organise into a coherent problem sets or presentation
- Efficiently manage interdisciplinary issues that arise in connection to Front end UI/UX development
- Demonstrate self-direction in research and originality in solutions developed for Front end UI/UX development
- Create synthetic contextualised discussions of key issues related to Front end UI/UX development
- Solve problems and be prepared to take leadership decisions related to the methods and principles of Front end UI/UX development
- Apply a professional and scholarly approach to research problems pertaining to Front end UI/UX development
- Act autonomously in identifying research problems and solutions related to Front end UI/UX developmen
About
This course teaches students how to analyse the ways users engage with a service. This method, called product analytics, helps businesses track and analyse user data. Students will learn more deeply what is required to move a product from idea to implementation, through to launch, and then on to iterative improvements. The course teaches how to measure progress, validate or update product hypotheses, and present product learnings. Also, students will gain experience in making informed decisions, as well as how to present findings and make an analytics-informed business case to win support for a product
Teachers


Intended learning outcomes
- Critically evaluate diverse scholarly views on assessing user behaviours
- Critically assess the relevance of theories of user behaviour for product development
- Develop a specialised knowledge of frameworks for measuring user engagement, such as diagnostics, key performance indicators (KPI), and other metrics
- Develop a critical understanding of product design and development
- Acquire knowledge of various methods for testing hypotheses about the viability of a product and about how users engage with it
- Creatively apply various visual and written methods for proposing a technical solution to a real-world problem to other technical and managerial-level audiences, and for documenting that solution
- Autonomously gather material and organise it into a coherent presentation or essay
- Apply an in-depth domain-specific knowledge and understanding of system design and implementation in business
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
- Act autonomously in identifying research problems and solutions related to product analytics.
- Apply a professional and scholarly approach to research problems pertaining to measuring user engagement.
- Efficiently manage interdisciplinary issues that arise in connection to designing a product and bringing it to market
- Create synthetic contextualised discussions of key issues related to product sense, and how to tell whether a product is worth bringing to market.
- Solve problems and be prepared to take leadership decisions related to developing data-informed business cases about bringing products to market and iterating upon them.
- Demonstrate self-direction in research and originality in testing and validating hypotheses about a product and its users.
About
This course is designed to provide students with a deep understanding of the mathematical and theoretical foundations of computation. The course covers various computational models including finite automata, Turing machines, and formal grammars, which form the basis for understanding the limits and capabilities of different computational systems. Students will explore how these models apply to real-world problems and their significance in the development of advanced AI algorithms.
Through a blend of theoretical lectures and practical exercises, students will gain proficiency in constructing and analysing computational models, understanding their applications in solving complex problems, and appreciating their relevance in AI research. By the end of the course, students will be equipped with the skills to critically evaluate different computational frameworks and apply them to innovate and enhance AI systems. This course is essential for those looking to deepen their knowledge in the field of artificial intelligence and pursue careers in research, development, and advanced technological applications.
Teachers
Intended learning outcomes
- At the end of the module/unit the learner will have been exposed to the following: a) Explain fundamental concepts and principles of computational models. b) Identify the types and applications of computational models in Artificial intelligence. c) Compare and contrast different computational models and describe their limitations.
- At the end of the module/unit the learner will have acquired the following skills: a) Design computational models for AI applications demonstrating proficiency in both theoretical and practical aspects. b) Evaluate the performance of algorithms within computational models. c) Implement simulations of computational models using programming languages.
- At the end of the module/unit the learner will have acquired the responsibility and autonomy to: a) Integrate computational models into complex AI systems to solve real-world AI challenges. b) Collaborate with peers in interdisciplinary teams to design and test computational models. c) Reflect on the implications and ethical considerations of computational model choices in AI development.
About
This course is designed to cultivate a deep understanding of algorithm design and analysis. This course focuses on the principles of algorithmic problem-solving, teaching students how to develop efficient and effective algorithms for a wide range of computational problems. Key topics include algorithmic strategies such as divide-and-conquer, dynamic programming, greedy algorithms, and graph algorithms, along with an emphasis on computational complexity and optimization techniques.
Through a blend of theoretical instruction and practical exercises, students will learn to approach problems systematically and devise algorithms that are both correct and optimised for performance. The course includes hands-on projects that challenge students to apply algorithmic thinking to real-world AI problems, enhancing their analytical and coding skills. By the end of the course, students will be equipped with the skills to design, implement, and evaluate algorithms, preparing them for advanced AI coursework and professional roles that require robust problem-solving abilities.
Teachers
Intended learning outcomes
- At the end of the module/unit the learner will have been exposed to the following: a) Describe key concepts such as recursion, divide-and-conquer, dynamic programming, and greedy algorithms. b) Understand and articulate the advantages and disadvantages of various algorithmic approaches, such as time complexity versus space complexity. c) Classify algorithms based on their computational efficiency.
- At the end of the module/unit the learner will have acquired the following skills: a) Write and debug code that efficiently solves problems using appropriate algorithms, such as sorting, searching, and graph traversal. b) Refine and enhance existing algorithms by improving their computational efficiency, reducing execution time or memory usage. c) Design and conduct experiments to test and compare the performance of different algorithms under various conditions, documenting their findings.
- At the end of the module/unit the learner will have acquired the responsibility and autonomy to: a) Design innovative algorithms for novel problem domains demonstrating creativity and originality in algorithm design. b) Integrate algorithmic thinking into interdisciplinary projects showcasing the ability to transfer skills across disciplines. c) Critically assess the societal impact of algorithmic decisions considering ethical implications, fairness, and potential biases, and propose strategies to mitigate negative impacts.
About
This course is aimed at providing students with a comprehensive understanding of how to design and implement systems that exhibit intelligent behaviour. This course explores a range of topics including expert systems, autonomous agents, knowledge representation, and reasoning. Students will delve into the principles of how these systems can mimic human decision-making processes, adapt to changing environments, and perform complex tasks autonomously.
The course integrates theoretical concepts with practical applications through hands-on projects and case studies, allowing students to develop and deploy intelligent systems in real-world scenarios. By working with advanced tools and techniques, students will learn to build systems that can handle uncertainty, learn from experience, and interact effectively with users and other systems. Upon completion, students will be equipped with the skills to create sophisticated AI solutions and contribute to the development of cutting-edge intelligent technologies in their professional careers.
Teachers


Intended learning outcomes
- Analyse the architecture and functionality of different intelligent systems such as rule-based systems, neural networks, and expert systems, considering their strengths and limitations.
- Understand the principles of knowledge representation and reasoning in intelligent systems to simulate human-like decision-making.
- Identify core components of intelligent systems such as sensors, actuators, decision-making algorithms, and knowledge representation.
- Design and implement intelligent agents that can autonomously perform tasks such as navigation, data analysis, or automated decision-making.
- Integrate machine learning models into intelligent systems to improve their adaptability and accuracy in complex environments.
- Evaluate the performance of intelligent systems using real-world scenarios.
- Design intelligent systems with adaptive learning capabilities demonstrating proficiency in adaptive algorithms and real-time learning.
- Evaluate the broader implications of deploying intelligent systems, considering issues such as automation, privacy, and the potential for bias, and will propose guidelines to ensure ethical use.
- Collaborate on the development of multi-agent systems for complex problem-solving and integrate different intelligent agents for a common goal.
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
This is a foundational course on building server-side (or backend) applications using popular JavaScript runtime environments like Node.js. Students will learn event driven programming for building scalable backend for web applications. The module teaches various aspects of Node.js like setup, package manager, client- server programming and connecting to various databases and REST APIs. Most of these concepts would be covered in a hands-on manner with real world examples and applications built from scratch using Node.js on Linux servers. This course also provides an introduction to Linux server administration and scripting with special focus on web-development and networking. Students learn to use Linux monitoring tools (like Monit) to track the health of the servers. The module also provides an introduction to Express.js which is a popular light-weight framework for Node.js applications. Given the practical nature of this course, this would involve building actual website backends via assignments/projects for ecommerce, online learning and/or photo-sharing.
Teachers


Intended learning outcomes
- Critically assess the relevance of theories for business applications in the domain of technology
- Acquire knowledge of key aspects of Node.js like setup, package manager, client-server programming and connecting to various databases and REST
- Develop a critical knowledge of Back End Development
- Critically evaluate diverse scholarly views on Back End Development
- Develop a specialised knowledge of key strategies related to Back End Development
- Apply an in-depth domain-specific knowledge and understanding to Back End Development applications
- 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 Back End Development tools to develop critical and original solutions for computational problems
- Act autonomously in identifying research problems and solutions related to Back End Development
- Create synthetic contextualised discussions of key issues related to Back End Development
- Efficiently manage interdisciplinary issues that arise in connection to Back End Development
- Apply a professional and scholarly approach to research problems pertaining to Back End Development
- Demonstrate self-direction in research and originality in solutions developed for Back End Development
- Solve problems and be prepared to take leadership decisions related to the methods and principles of Back End Development
About
Teachers
Intended learning outcomes
About
This course provides a strong mathematical and applicative introduction to Deep Learning. The course 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, regularisation by dropouts, batch normalisation etc., to ensure that deep MLPs can be successfully trained.
The course 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
- Develop a specialised knowledge of key strategies related to Deep Learning.
- Critically evaluate diverse scholarly views on Deep Learning.
- Acquire knowledge of deep learning systems like ADAM, AdaGrad, RMSProp etc. Students also learn AutoEncoders, VAEs and Word2Vec.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Develop a critical knowledge of Deep Learning.
- Apply an in-depth domain-specific knowledge and understanding to Deep Learning.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Creatively apply Deep Learning techniques to develop critical and original solutions for computational problems.
- Autonomously gather material and organise it into coherent problem sets or presentation.
- Apply a professional and scholarly approach to research problems pertaining to Deep Learning.
- Demonstrate self-direction in research and originality in solutions developed for Deep Learning.
- Create synthetic contextualised discussions of key issues related to Deep Learning.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of 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.
About
The ability to solve problems is a skill, and just like any other skill, the more one practices, the better one gets. So how exactly does one practice problem solving? Learning about different problem-solving strategies and when to use them will give a good start. Problem solving is a process. Most strategies provide steps that help you identify the problem and choose the best solution. Building a toolbox of problem-solving strategies will improve problem solving skills. With practice, students will be able to recognize and choose among multiple strategies to find the most appropriate one to solve complex problems. The course will focus on developing problem-solving strategies such as abstraction, modularity, recursion, iteration, bisection, and exhaustive enumeration. The course will also introduce arrays and some of their real-world applications, such as prefix sum, carry forward, subarrays, and 2-dimensional matrices. Examples will include industry-relevant problems and dive deeply into building their solutions with various approaches, recognizing each’s limitations (i.e when to use a data structure and when not to use a data structure). By the end of this course a student can come up with the best strategy which can optimize both time and space complexities by choosing the best data structure suitable for a given problem
Teachers


Intended learning outcomes
- Acquire knowledge of various methods for structuring data in arrays
- Develop a critical understanding of problem-solving strategies in computing
- Critically assess the relevance of theories of problem-solving for business applications in the domain of software development
- Develop a specialised knowledge of key strategies related to structuring data
- Critically evaluate diverse scholarly views on the appropriateness of various problem-solving strategies
- Autonomously gather material and organise it into a coherent presentation or essay
- Creatively apply various programming methods to develop critical and original solutions to computational problems
- Apply an in-depth domain-specific knowledge and understanding to problem solving
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
- Efficiently manage interdisciplinary issues that arise in connection to problem solving
- Apply a professional and scholarly approach to research problems pertaining to data structures
- Demonstrate self-direction in research and originality in solutions developed for solving problems related to data structures
- Create synthetic contextualised discussions of key issues related to problem-solving, and moving from algorithmic to heuristic problem-solving strategies.
- Act autonomously in identifying research problems and solutions related to arrays and their real-world applications
- Solve problems and be prepared to take leadership decisions related to applying problem-solving heuristics
About
The course equips students with the essential skills and knowledge to effectively lead and manage AI-focused projects. This course delves into the core principles of project management, including planning, execution, monitoring, and closing projects, with a special emphasis on methodologies that are critical in the fast-paced AI industry. Students will explore both traditional and agile project management approaches, learning to navigate the complexities of AI projects that involve interdisciplinary teams, emerging technologies, and innovative solutions.
Throughout the course, students will engage in real-world case studies and hands-on projects to develop practical skills in resource allocation, risk management, communication, and stakeholder engagement. By the end of the course, students will be adept at managing AI projects from conception to completion, ensuring that they deliver value while meeting time, cost, and quality objectives. This course prepares students to take on leadership roles in AI-driven initiatives, positioning them for success in a rapidly evolving field.
Teachers


Intended learning outcomes
- Analyse the risk factors in AI project management, including ethical considerations, data privacy, and algorithmic bias, and their potential impacts on project outcomes.
- Explain the methodologies and frameworks such as Agile, Scrum, and Waterfall, and how they can be applied to manage AI-based projects effectively.
- Identify the fundamental principles of project management, including scope, time, cost, and quality management, as applied to AI projects.
- Implement agile project management practices in real-time scenarios, adapting to changes in project scope, resources, and technological advancements.
- Evaluate project performance using key performance indicators (KPIs) and project management tools, ensuring alignment with AI project objectives.
- Develop comprehensive project plans for AI initiatives, including timelines, budgets, resource allocation, and risk management strategies.
- Lead cross-functional teams in the execution of AI projects, ensuring effective communication, collaboration, and decision-making throughout the project lifecycle.
- Adapt project management strategies in response to emerging AI trends and challenges, demonstrating flexibility and strategic thinking to achieve project goals.
- Optimise project processes and workflows by integrating advanced project management tools and AI-driven insights to enhance productivity and project outcomes.
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
This fundamental course aims to equip students with knowledge of core Linux operating system concepts. The module will cover essential operating system functionalities, including process management, process synchronisation (concurrency), memory management techniques, and disk scheduling.In process management, students will explore how Linux manages processes throughout their lifecycle, including starting, pausing, resuming, and allocating resources. The concept of concurrency will be introduced, covering multithreading and multiprocessing. Students will also learn how asynchronous processing facilitates concurrent execution.Memory management is another key topic. The course will delve into how the operating system manages memory on both RAM and hard disk, along with concepts like virtual memory, memory pages, and page caching.
Teachers
Intended learning outcomes
- At the end of the module/unit the learner will have been exposed to the following: a) Differentiate between various scheduling algorithms and their impact on system performance. b) Explain the core functionalities of an operating system, including process management, memory management, and I/O subsystem. c) Identify and describe common synchronisation mechanisms used to control access to shared resources.
- At the end of the module/unit the learner will have acquired the following skills: a) Apply scheduling algorithms to analyse their behaviour and predict their impact on specific workloads. b) Compare and contrast different memory management techniques (paging, segmentation) and their suitability for various applications. c) Troubleshoot deadlock situations in concurrent programming scenarios using techniques like deadlock detection and avoidance.
- At the end of the module/unit the learner will have acquired the responsibility and autonomy to: a) Configure and optimise operating system settings for specific workflows, considering factors like security and scalability. b) Design and implement solutions for process management and synchronisation challenges in a simulated operating system environment. c) Evaluate resource utilisation metrics and analyse performance bottlenecks within an operating system.
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
- At the end of the module/unit the learner will have been exposed to the following: a) Identify current and emerging AI technologies including technologies such as generative models, reinforcement learning, and AI ethics frameworks. b) Understand the principles and underlying mechanisms of emerging AI technologies. c) Analyse the impact of emerging AI technologies on various industries.
- At the end of the module/unit the learner will have acquired the following skills: a) Develop prototypes using emerging AI technologies demonstrating the ability to apply theoretical knowledge to practical scenarios. b) Evaluate the effectiveness of emerging AI technologies. c) Experiment with emerging AI tools and platforms to develop and test new AI solutions.
- At the end of the module/unit the learner will have acquired the responsibility and autonomy to: a) Innovate by integrating emerging AI technologies into existing systems. b) Collaborate on interdisciplinary projects involving emerging AI technologies. c) Critically assess the ethical implications of deploying emerging AI technologies
About
Teachers
Intended learning outcomes
About
This course is designed to equip students with the skills to harness AI technologies for enhanced decision-making processes. This course explores the integration of AI techniques, such as predictive analytics, decision trees, reinforcement learning, and optimization algorithms, to support and improve decision-making in various contexts. Students will learn how to develop and implement AI-driven models that can analyse complex data, predict outcomes, and provide actionable insights to inform strategic decisions in business, healthcare, finance, and other sectors.
Through a blend of theoretical knowledge and practical applications, students will engage in projects and case studies that illustrate the power of AI in transforming decision-making practices. They will gain hands-on experience with tools and methodologies used to build intelligent decision support systems, ensuring they can apply these skills to real-world challenges. By the end of the course, students will be adept at creating AI solutions that enhance decision-making capabilities, positioning themselves as valuable assets in any organisation seeking to leverage AI for competitive advantage.
Teachers



Intended learning outcomes
- Evaluate the role and effectiveness of AI in decision-making across different sectors, such as healthcare, finance, and supply chain management.
- Identify key AI techniques used in decision-making processes.
- Explain how AI models analyse data and provide recommendations, including the underlying algorithms and how they influence decision outcomes.
- Assess the quality and reliability of AI-generated decisions by analysing metrics such as accuracy, precision, and cost-benefit ratios.
- Apply data visualisation techniques to interpret AI-driven decisions ensuring clear and actionable insights.
- Design and implement AI models tailored to specific decision-making scenarios, using appropriate algorithms and tools.
- Assess the ethical considerations related to AI-driven decisions, including issues of fairness, accountability, and transparency, and propose strategies to address these challenges.
- Create comprehensive frameworks that integrate AI into decision-making processes, addressing complex and multifaceted problems.
- Collaborate on the development of AI systems for decision-making in multidisciplinary teams.
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
This course is aimed at providing students with an in-depth understanding of the techniques and algorithms that enable intelligent behaviour in computational systems. This course covers a wide array of topics, including neural networks, fuzzy logic, evolutionary computation, and swarm intelligence. Students will explore how these methods can be applied to solve complex problems in optimization, pattern recognition, and adaptive systems, emphasising both theoretical foundations and practical implementations.
Through a combination of lectures, hands-on projects, and case studies, students will gain experience in designing and applying computational intelligence algorithms to real-world scenarios. They will learn to develop adaptive systems that can perform tasks such as classification, prediction, and decision-making with high accuracy and efficiency. By the end of the course, students will be proficient in using computational intelligence techniques to create innovative AI solutions, positioning themselves for advanced roles in research and industry where intelligent systems are pivotal.
Teachers


Intended learning outcomes
- Understand the differences between traditional AI and computational intelligence approaches.
- Analyse various computational intelligence paradigms and their use cases identifying their suitability for solving specific problems.
- Define and explain key concepts such as fuzzy logic, genetic algorithms, and neural networks.
- Assess the accuracy, efficiency, and robustness of different computational intelligence models by applying performance metrics and comparing results.
- Develop and optimise models using computational intelligence techniques.
- Apply computational intelligence algorithms to real-world problems.
- Critically evaluate the ethical implications of computational intelligence in decision-making systems.
- Create systems that integrate multiple computational intelligence techniques to address complex, multidisciplinary problems.
- Collaborate on interdisciplinary projects involving computational intelligence demonstrating effective communication and teamwork skills.
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
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
- 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 specialised knowledge of standard tools for data processing, such as Apache Kafka, Airflow, and Spark (with PySpark), and the Hadoop Ecosystem.
- Develop a critical understanding of data engineering.
- 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 of orchestrating complete ETL pipelines.
- Creatively apply various visual and written methods for dashboarding data with Grafana/Tableau.
- Solve problems and be prepared to take leadership decisions related to developing pipelines to handle massive datasets for engineering purposes.
- Create synthetic contextualised discussions of key issues related to the data engineering lifecycle.
- Apply a professional and scholarly approach to research problems pertaining to data warehousing and modelling.
- Act autonomously in identifying research problems and solutions related to developing for data at scale.
- 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.
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
Teachers
Intended learning outcomes
About
DevOps Tools Part 1 is a comprehensive course designed for students pursuing a Master of Science in Computer Science with a specialisation in DevOps. This course introduces the essential tools and methodologies that form the backbone of modern DevOps practices. Students will gain a solid foundation in version control with Git, continuous integration/continuous deployment (CI/CD) pipelines using Jenkins, and configuration management with Ansible.
The course emphasises hands-on learning, enabling students to set up, configure, and utilise these tools in real-world scenarios, ensuring they can effectively collaborate, automate workflows, and streamline the development process.In addition to core tools, the course covers containerization with Docker and orchestration with Kubernetes, providing students with the skills to deploy and manage applications in a microservices architecture. Students will also explore monitoring and logging solutions such as Prometheus and ELK Stack to maintain system reliability and performance. By the end of the course, students will be proficient in employing a wide range of DevOps tools, laying a strong foundation for advanced DevOps practices and tools covered in subsequent courses.
Teachers
Intended learning outcomes
- At the end of the module/unit the learner will have been exposed to the following: a) Differentiate between popular DevOps tools in different categories based on their features and use cases. b) Explain the functionalities of various DevOps tools across different stages of the software development lifecycle (SDLC). c) Identify and describe the core principles of DevOps and its benefits for software development and delivery.
- At the end of the module/unit the learner will have acquired the following skills: a) Automate infrastructure provisioning and configuration management using tools like Ansible or Chef. b) Design and implement basic CI/CD pipelines using tools to automate build, test, and deployment processes. c) Set up and use a version control system (VCS) for code versioning, branching, and collaborative development.
- At the end of the module/unit the learner will have acquired the responsibility and autonomy to: a) Design and implement a basic DevOps workflow for a given application scenario, considering factors like version control, infrastructure management, and automated deployment. b) Select and integrate appropriate DevOps tools within a workflow based on project requirements and team preferences. c) Troubleshoot and debug issues within a DevOps pipeline, optimising it for efficiency and reliability.
About
Teachers
Intended learning outcomes
Entry Requirements
Application Process
Submit initial Application
Complete the online application form with your personal information
Documentation Review
Submit required transcripts, certificates, and supporting documents
Assessment
Note: Not required by all colleges.
For colleges that include this step, your application will be evaluated against specific program requirements.
Interview
Note: Not all colleges require an interview.
Some colleges may invite selected candidates for an interview as part of their admissions process.
Decision
Receive an admission decision
Enrollment
Complete registration and prepare to begin your studies
.avif)