Master of Science in Artificial Intelligence
Master of Science in Artificial Intelligence
Downloads
Master of Science in Artificial Intelligence
Downloads
About this degree
The Master of Science in Artificial Intelligence is designed to provide students with advanced knowledge and practical skills in the rapidly evolving field of AI. This program offers a comprehensive curriculum that covers core AI concepts, including machine learning, neural networks, natural language processing, and robotics. Students will gain a deep understanding of both theoretical and applied aspects of AI, preparing them to solve complex problems and innovate in various industries. The program emphasises hands-on experience through projects, case studies, and real-world applications, enabling students to apply AI techniques to create intelligent systems and drive decision-making processes. The program is tailored for professionals and graduates who aspire to lead in the AI domain, whether in research, development, or management roles. With a focus on flexibility and accessibility, this degree allows students to balance their studies with professional and personal commitments. Graduates will be equipped to take on advanced roles in AI, such as data scientists, AI engineers, and AI project managers, and will be well-prepared to contribute to the development and deployment of AI technologies across a wide range of sectors, including healthcare, finance, and technology.
Master of Science in Artificial Intelligence
Downloads
What you'll learn
- Design and develop AI models using state-of-the-art tools and techniques, applying machine learning principles to solve complex problems.
- Apply AI techniques to industry-specific applications, utilising data science and computational intelligence for real-world decision-making.
- Optimise AI models and algorithms through iterative testing and refinement, improving efficiency and effectiveness in various applications.
- Execute predictive modelling using advanced data analytics and machine learning approaches, with a focus on accurate predictions and insights.
- Lead AI-focused projects, managing resources, timelines, and stakeholders to deliver AI-driven solutions that align with business goals.
Master of Science in Artificial Intelligence
Downloads
Course Structure
Tiers
Tier 1:
375 hours | 15 ECTS
Tier 1:
About
This course 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
- Identify the foundational concepts of artificial intelligence including machine learning, neural networks, and natural language processing.
- Explain the key milestones and advancements in the field of AI, from its inception to modern-day applications.
- Compare and contrast narrow AI, general AI, and superintelligent AI, and evaluate their use cases in various industries.
- 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.
- Work effectively in groups to design, develop, and present AI solutions, showcasing strong teamwork and communication skills.
- Create simple AI systems or prototypes that address specific real-world challenges, demonstrating an understanding of AI principles.
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 optimized 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 minimize 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 opensource 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
- Acquire knowledge of SQL as tool to create, modify, append, delete, query and manipulate data in a relational database
- Develop a critical knowledge of relational databases
- Critically evaluate diverse scholarly views on relational databases
- Develop a specialised knowledge of key strategies related to Relational Databases
- Critically assess the relevance of theories for business applications in the domain of technology
- 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
- Creatively apply Relational Databases methods to develop critical and original solutions for computational problems
- Apply an in-depth domain-specific knowledge and understanding to Relational Databases
- Efficiently manage interdisciplinary issues that arise in connection to implementation and query of relational databases
- Act autonomously in identifying research problems and solutions related to Relational Databases
- Solve problems and be prepared to take leadership decisions related to the methods and principles of Relational Databases
- Create synthetic contextualised discussions of key issues related to Relational Databases
- Apply a professional and scholarly approach to research problems pertaining to Relational Databases
- Demonstrate self-direction in research and originality in solutions developed for Relational Databases
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
- Develop a specialised knowledge of key strategies related to structuring data
- Acquire knowledge of various methods for structuring data in arrays
- Critically assess the relevance of theories of problem-solving for business applications in the domain of software development
- Develop a critical understanding of problem-solving strategies in computing
- Critically evaluate diverse scholarly views on the appropriateness of various problem-solving strategies
- Creatively apply various programming methods to develop critical and original solutions to computational problems
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
- Autonomously gather material and organise it into a coherent presentation or essay
- Apply an in-depth domain-specific knowledge and understanding to problem solving
- Create synthetic contextualised discussions of key issues related to problem-solving, and moving from algorithmic to heuristic problem-solving strategies.
- Solve problems and be prepared to take leadership decisions related to applying problem-solving heuristics
- Efficiently manage interdisciplinary issues that arise in connection to problem solving
- Demonstrate self-direction in research and originality in solutions developed for solving problems related to data structures
- Act autonomously in identifying research problems and solutions related to arrays and their real-world applications
- Apply a professional and scholarly approach to research problems pertaining to data structures
Tier 2:
1125 hours | 45 ECTS
Tier 2:
About
This course focuses on building basic classification and regression models and understanding these models rigorously both with a mathematical and an applicative focus. The module starts with a basic introduction to high dimensional geometry of points, distance-metrics, hyperplanes and hyperspheres. We build on top this to introduce the mathematical formulation of logistic regression to find a separating hyperplane. Students learn to solve the optimization problem using vector calculus and gradient descent (GD) based algorithms. The module introduces computational variations of GD like mini-batch and stochastic gradient descent. Students also learn other popular classification and regression methods like k-Nearest Neighbours, Naive Bayes, Decision Trees, Linear Regression etc. Students also learn how each of these techniques under various real-world situations like the presence of outliers, imbalanced data, multi-class classification etc. Students learn bias and variance trade-off and various techniques to avoid overfitting and underfitting. Students also study these algorithms from a Bayesian viewpoint along with geometric intuition. This module is hands-on and students apply all these classical techniques to real-world problems.
Teachers
Intended learning outcomes
- Critically assess the relevance of theories for business applications in the domain of technology.
- Develop a specialised knowledge of key strategies related to machine learning.
- Acquire knowledge of bias and variance trade-off, and various techniques to avoid overfitting and underfitting.
- Critically evaluate diverse scholarly views on machine learning.
- Develop a critical knowledge of machine learning.
- Apply an in-depth domain-specific knowledge and understanding to machine learning solutions.
- Creatively apply regression models to develop critical and original solutions for computational issues.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Autonomously gather material and organise it into coherent problem sets and presentation.
- Apply a professional and scholarly approach to research problems pertaining to machine learning.
- Create synthetic contextualised discussions of key issues related to machine learning.
- Act autonomously in identifying research problems and solutions related to machine learning.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of machine learning.
- Demonstrate self-direction in research and originality in solutions developed for machine learning.
- Efficiently manage interdisciplinary issues that arise in connection to machine learning.
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
- Critically evaluate diverse scholarly views on Deep Learning.
- Develop a specialised knowledge of key strategies related to Deep Learning.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Acquire knowledge of deep learning systems like ADAM, AdaGrad, RMSProp etc. Students also learn AutoEncoders, VAEs and Word2Vec.
- Develop a critical knowledge of Deep Learning.
- Creatively apply Deep Learning techniques 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 it into coherent problem sets or presentation.
- Apply an in-depth domain-specific knowledge and understanding to Deep Learning.
- Apply a professional and scholarly approach to research problems pertaining to Deep Learning.
- Efficiently manage interdisciplinary issues that arise in connection to Deep Learning.
- Demonstrate self-direction in research and originality in solutions developed for Deep Learning.
- Create synthetic contextualised discussions of key issues related to Deep Learning.
- Act autonomously in identifying research problems and solutions related to Deep Learning.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of Deep Learning.
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
- Acquire knowledge of virtualization and how virtualized compute instances are created and configured.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Critically evaluate diverse scholarly views on cloud computing.
- Develop a specialised knowledge of key strategies related to cloud computing.
- Develop a critical knowledge of cloud computing.
- Apply an in-depth domain-specific knowledge and understanding to cloud computing services.
- Autonomously gather material and organise it into coherent problems sets or presentations.
- Creatively apply cloud computing applications to develop critical and original solutions for computational problems.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Create synthetic contextualised discussions of key issues related to cloud computing.
- Apply a professional and scholarly approach to research problems pertaining to cloud computing.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of cloud computing.
- Efficiently manage interdisciplinary issues that arise in connection to cloud computing.
- Act autonomously in identifying research problems and solutions related to cloud computing.
- Demonstrate self-direction in research and originality in solutions developed for cloud computing.
About
This course is aimed at building a strong foundational knowledge of Data Analytics tools used extensively in the Data Science field. There are now 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, and cloud databases to generate graphical type visualisations. The 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 charts, 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
- 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.
- Acquire knowledge of various methods for telling stories with data across different formats.
- Critically assess the relevance of theories of data visualisation for business applications in the realm of software engineering.
- Develop a critical understanding of key data science concepts as implemented in common software packages.
- Autonomously gather material and organise it into a coherent presentation or essay.
- Apply an in-depth domain-specific knowledge and understanding of the importance of data storytelling in software engineering.
- 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.
- Create synthetic contextualised discussions of key issues related to time and space complexity in data science.
- 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.
- Create synthetic contextualised discussions of key issues related to time and space complexity in data science.
- Act autonomously in identifying research problems and solutions related to implementing data science visualisations from scratch.
- Demonstrate self-direction in research and originality in solutions developed for data visualisation.
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 statistics like Bootstrapping, Monte-Carlo methods, RANSAC, etc.
Teachers
Intended learning outcomes
- Acquire knowledge of popular discrete and continuous distributions (like Bernoulli, Binomial, Poisson, Gaussian, Exponential, Pareto, and log-normal).
- Critically assess the relevance of theories for business applications in the domain of technology.
- Develop a critical knowledge of Applied Statistics.
- Develop a specialised knowledge of key strategies related to Applied Statistics.
- Critically evaluate diverse scholarly views on Applied Statistics.
- Apply an in-depth domain-specific knowledge and understanding of applied statistics.
- Creatively apply basic probability theory 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 it into a coherent problem set or presentation.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of Applied Statistics.
- Apply a professional and scholarly approach to research problems pertaining to probability theory to perform mathematically rigorous data analysis.
- Create synthetic contextualised discussions of key issues related to Applied Statistics.
- Act autonomously in identifying research problems and solutions related to Applied Statistics.
- Demonstrate self-direction in research and originality in solutions developed for Applied Statistics.
- Efficiently manage interdisciplinary issues that arise in connection to Applied Statistics.
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.
- 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.
- Create and evaluate statistical models, such as linear regression and logistic regression, to analyse datasets and derive meaningful insights.
- Create comprehensive workflows that include data collection, preprocessing, modelling, and evaluation, tailored to solve particular real-world challenges.
- 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.
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
- Describe key concepts such as recursion, divide-and-conquer, dynamic programming, and greedy algorithms.
- Classify algorithms based on their computational efficiency.
- Understand and articulate the advantages and disadvantages of various algorithmic approaches, such as time complexity versus space complexity.
- Refine and enhance existing algorithms by improving their computational efficiency, reducing execution time or memory usage.
- Design and conduct experiments to test and compare the performance of different algorithms under various conditions, documenting their findings.
- Write and debug code that efficiently solves problems using appropriate algorithms, such as sorting, searching, and graph traversal.
- Design innovative algorithms for novel problem domains demonstrating creativity and originality in algorithm design.
- Critically assess the societal impact of algorithmic decisions considering ethical implications, fairness, and potential biases, and propose strategies to mitigate negative impacts.
- Integrate algorithmic thinking into interdisciplinary projects showcasing the ability to transfer skills across disciplines.
About
This course is dedicated to exploring the ethical, legal, and social implications of artificial intelligence technologies. This course examines key issues such as bias in AI algorithms, data privacy, transparency, accountability, and the impact of AI on employment and society. Students will engage with case studies and frameworks designed to address these challenges, learning how to develop and implement AI systems that align with ethical standards and promote fairness and inclusivity. Through a combination of theoretical discussions and practical applications, the course equips students with the knowledge and tools necessary to navigate the complex landscape of AI ethics. Students will participate in discussions on policy, regulations, and best practices, and will work on projects that involve designing ethical AI solutions and conducting impact assessments. By the end of the course, students will be prepared to advocate for and implement ethical AI practices in their professional roles, ensuring that AI technologies are developed and used responsibly and equitably.
Teachers
Intended learning outcomes
- Recognize and describe common ethical challenges and dilemmas encountered in AI development, including bias, discrimination, and data privacy issues.
- Critically analyse real-world case studies of ethical failures and successes in AI, drawing lessons for future practice.
- Define and explain key ethical principles in AI, such as fairness, transparency, accountability, and privacy.
- Assess AI systems for ethical compliance using established frameworks and guidelines, ensuring they align with societal values and legal requirements.
- Perform ethical risk assessments for AI projects, identifying potential harms and proposing measures to minimise them.
- Design and implement strategies to mitigate bias in AI models, using techniques such as re-sampling, fairness-aware algorithms, and interpretability tools.
- Demonstrate the ability to design AI solutions that prioritise ethical considerations, balancing innovation with responsibility to ensure positive societal impact.
- Lead and guide multidisciplinary teams in developing and implementing AI systems that adhere to ethical standards, fostering a culture of ethical AI within their organisations.
- Demonstrate the competency to advocate for ethical AI practices in industry and policy discussions, effectively communicating the importance of ethics in AI to diverse stakeholders.
About
This course is dedicated to mastering the art and science of designing effective prompts for large language models (LLMs). This course explores the principles of crafting precise and impactful prompts that elicit desired responses from advanced AI models such as GPT-3, BERT, and their successors. Students will learn various strategies for prompt construction, including techniques for optimising clarity, context, and specificity to enhance model performance in tasks like text generation, translation, and summarization.
Through a combination of theoretical insights and practical exercises, students will gain hands-on experience in developing and refining prompts to solve real-world problems. The course includes case studies and projects that demonstrate how prompt engineering can be applied across different domains, such as customer service, content creation, and data analysis. By the end of the course, students will be adept at leveraging prompt engineering to harness the full potential of large language models, enabling them to drive innovation and efficiency in their professional endeavours with AI.
Teachers
Intended learning outcomes
- Describe the components of effective prompts, such as context, constraints, and expected outputs, and how they interact with various language models.
- Explain the principles and theories behind prompt engineering, including how prompts influence the behaviour and performance of AI models.
- Evaluate different prompt engineering strategies used for various AI applications, such as text generation, question answering, and data augmentation.
- Use software tools and platforms to design, test, and deploy prompts in real-world AI applications, showcasing proficiency in hands-on tasks.
- Create and optimise prompts for different AI tasks, demonstrating the ability to refine inputs to achieve specific outputs from language models.
- Conduct experiments to test the effectiveness of different prompts on various models, systematically documenting results and improvements.
- Work collaboratively in a team to optimise prompts for multi-faceted AI projects, leveraging collective insights to improve outcomes.
- Develop and integrate prompt engineering practices into AI development workflows, ensuring that prompts are aligned with overall project goals.
- Demonstrate adaptability by staying updated with the latest trends and research in prompt engineering, applying new techniques to ongoing projects.
Tier 3:
750 hours | 30 ECTS
Tier 3:
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
- Acquire knowledge of various methods for specifying the logical and functional design of a system
- Critically assess the relevance of theories of software design processes for business applications in the realm of software engineering
- Develop a specialised knowledge of Process Design Languages and flowchart methods for describing desired functions and behaviours
- 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
- Develop a critical understanding of software design and refinement processes
- Autonomously gather material and organise it into a coherent presentation or essay
- Creatively apply various visual and written methods for converting architectural/high-level designs to component-oriented, low-level designs
- 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 refinement in software design processes
- Apply a professional and scholarly approach to research problems pertaining to logical and functional design of software components
- Create synthetic contextualised discussions of key issues related to specifying the internal logic of software
- Demonstrate self-direction in research and originality in solutions developed for using Program Design Languages
- Solve problems and be prepared to take leadership decisions related to developing code-ready low-level design documents
- Efficiently manage interdisciplinary issues that arise in connection to developing hierarchical input process output (HIPO) models
- Act autonomously in identifying research problems and solutions related to refining software designs
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
- Describe different algorithms and techniques used in NLP, such as word embeddings, language models, and neural networks.
- Define and explain key concepts in NLP, including tokenization, parsing, and sentiment analysis.
- Critically analyse the challenges associated with NLP, such as ambiguity, context sensitivity, and multilingual processing.
- Create and evaluate NLP models using machine learning frameworks such as TensorFlow, PyTorch, or spaCy.
- Conduct sentiment analysis on social media data to identify trends and public opinion.
- Apply text preprocessing techniques such as tokenization, stemming, lemmatization, and stop-word removal to prepare data for NLP tasks.
- Demonstrate the ability to design and deploy complete NLP applications, such as chatbots or language translation systems, from data collection to model deployment.
- Display ability in integrating NLP techniques into business analytics tools to enhance decision-making processes, such as customer feedback analysis or market research.
- Demonstrate the ability to apply ethical considerations when developing NLP systems, ensuring fairness, transparency, and privacy in language processing.
About
This course helps students translate mathematical/statistical/scientific concepts into code. This is a foundational course for writing code to solve Data Science, ML & AI problems. It introduces basic programming concepts (like control structures, recursion, classes, and objects) from scratch, assuming no prerequisites, to make this course accessible to students from non-computational scientific fields like Biology, Physics, Medicine, Chemistry, Civil & Mechanical Engineering etc. After building a strong foundation, the course advances to dive deep into core Mathematical libraries like NumPy, Scipy, and Pandas. Students also learn when and how to use inbuilt-data structures like Lists, Dicts, Sets and Tuples. The module introduces the concepts of computational complexity to help students write optimised code using appropriate data structures and algorithmic design methods. The module does not dive deep into the data structures and algorithm design methods in this course – that is available in the ‘Data Structures and Algorithms’ module. This course is valuable for all students specialising in mathematical sub-areas of CS like ML, Data Science, Scientific Computing etc.
Teachers
Intended learning outcomes
- Develop a specialised knowledge of key strategies related to Numerical programming in Python.
- Acquire knowledge of core Mathematical libraries like NumPy, Scipy and Pandas.
- Critically assess the relevance of theories for business applications in the domain of technology.
- Develop a critical knowledge of Numerical programming in Python.
- Critically evaluate diverse scholarly views on Numerical programming in Python.
- Apply an in-depth domain-specific knowledge and understanding to numerical programming in Python.
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
- Autonomously gather material and organise it into a coherent problem set or presentation.
- Create new solutions that are critical to solving computational problems through creatively applying code writing.
- Apply a professional and scholarly approach to research problems pertaining to Numerical programming in Python.
- Act autonomously in identifying research problems and solutions related to Numerical programming in Python.
- Efficiently manage interdisciplinary issues that arise in connection to Numerical programming in Python.
- Demonstrate self-direction in research and originality in solutions developed for Numerical programming in Python.
- Solve problems and be prepared to take leadership decisions related to the methods and principles of Numerical programming in Python.
- Create synthetic contextualised discussions of key issues related to Numerical programming in Python.
About
This is a project-based course, with the aim of building the required skills for creating web-based software systems. The course covers the entire lifecycle of building software projects, from requirement gathering and scope definition from a product document, to designing the architecture of the system, and all the way to delivery and maintenance of the software system.
The course covers both frontend, which is, building browser-based interfaces for users, using frontend web frameworks, and also building the backend, which is the server running an API to serve the information to the frontend, and running on an SQL or similar database management system for storage.
All aspects of delivering a software project, including security, user authentication and authorisation, monitoring and analytics, and maintaining the project are covered. The course also covers the aspects of project maintenance, like using a version control system, setting up continuous integration and deployment pipelines and bug trackers.
Teachers
Intended learning outcomes
- Develop a specialised knowledge of key strategies for designing well-architected information management systems
- Critically evaluate diverse scholarly views on database management
- Develop a critical understanding of modern computational applications
- Critically assess the relevance of theories of web security for cloud deployment
- Acquire knowledge of various methods for version control
- 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
- Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
- Apply an in-depth domain-specific knowledge and understanding of system design and implementation in business
- Apply a professional and scholarly approach to research problems pertaining to real-world computational complexities.
- Efficiently manage interdisciplinary issues that arise in connection to deploying a modern, web-based system.
- Demonstrate self-direction in research and originality in solutions developed for robust and reliable cloud deployments.
- Create synthetic contextualised discussions of key issues related to real-world software design, implementation, and deployment situations.
- Solve problems and be prepared to take leadership decisions related to developing and deploying cloud-oriented software solutions.
- Act autonomously in identifying research problems and solutions related to modern computational tools and methods.
About
This course 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
- Understand the underlying architectures of large language models (LLMs), including transformer models, by identifying their key components and explaining their roles.
- Analyse the ethical implications of deploying large language models in various real-world applications, highlighting potential risks and benefits.
- Evaluate different optimization techniques used in fine-tuning large language models to improve performance on specific tasks.
- Design and implement a training pipeline for an LLM using a popular deep learning framework optimising the model for a specific NLP task.
- 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.
- Test and troubleshoot the performance of a trained LLM, using appropriate evaluation metrics and refining the model based on the results.
- Lead the creation of documentation and training resources for stakeholders to effectively understand and use LLMs, tailoring communication to diverse audiences.
- Develop strategies for reducing biases in LLM outputs, integrating ethical considerations into the model training and deployment process.
- Collaborate with cross-functional teams to deploy LLMs in production environments, ensuring scalability and efficiency while maintaining model performance.
Master of Science in Artificial Intelligence
Downloads
Apply Now
Ready to start your journey? Apply for Master of Science in Artificial Intelligence today.