
Courses
Courses
Choosing a course is one of the most important decisions you'll ever make! View our courses and see what our students and lecturers have to say about the courses you are interested in at the links below.

University Life
University Life
Each year more than 4,000 choose NUI Galway as their University of choice. Find out what life at NUI Galway is all about here.

About NUI Galway
About NUI Galway
Since 1845, NUI Galway has been sharing the highest quality teaching and research with Ireland and the world. Find out what makes our University so special – from our distinguished history to the latest news and campus developments.

Colleges & Schools
Colleges & Schools
NUI Galway has earned international recognition as a researchled university with a commitment to top quality teaching across a range of key areas of expertise.

Research
Research
NUI Galway’s vibrant research community take on some of the most pressing challenges of our times.

Business & Industry
Guiding Breakthrough Research at NUI Galway
We explore and facilitate commercial opportunities for the research community at NUI Galway, as well as facilitating industry partnership.

Alumni, Friends & Supporters
Alumni, Friends & Supporters
There are over 90,000 NUI Galway graduates Worldwide, connect with us and tap into the online community.

Community Engagement
Community Engagement
At NUI Galway, we believe that the best learning takes place when you apply what you learn in a real world context. That's why many of our courses include work placements or community projects.
Programme Information
Programme Structure
 90 ECTS programme
 One full year in duration, beginning September and finishing August
 Comprises:
 Foundational taught modules (20 ECTS)
 Advanced taught modules (40 ECTS)
 Research/Industry Project (30 ECTS)
 Semester 1 exams: December.
 Semester 2 exams: April/May.
 Assessment is based on a combination of assignments and written exams.
 The final project is submitted in August and assessed through a combination of a written thesis, an oral examination and a demonstration.
Download
Course Syllabi
CT422 Modern Information Management
Information Retrieval and Filtering. Text Retrieval Models: Boolean, Statistical, Linguistic. Vector Space Model, Latent Semantic Indexing, Semantic Networks, Connectionist approaches. MultiMedia Retrieval.
 Evaluation: Precision/Recall Measures. Relevance Feedback.
 Collaborative Retrieval. Distributed Information Retrieval.
 Parallel Information Retrieval. Data Mining. Data Warehousing.
 Lexical Analysis. Stemming Algorithms. Machine Learning. Indexing.
 HCI and Information Visualisation.
CT475 Machine Learning and Data Mining
Definitions of Machine Learning, Data Mining and the relationship between them; the CRISP Data Mining process model; major tasks including classification, regression, clustering, association learning, feature selection, and reinforcement learning; algorithms for these tasks that may include decision tree learning, instancebased learning, probabilistic learning, support vector machines, linear and logistic regression, and Qlearning; opensource software tools for data mining; practical applications such as sensor data analysis, healthcare data analysis, and text mining to identify spam email; ethical issues and emerging trends in data mining and machine learning.
CT5100 Data Visualisation
This module with teach the fundamentals of data visualization. It will cover basic design principles and the principles underlying human perception, color theory and narrative. It will focus on the use of open standards for the presentation of data on the Web such as HTML, CSS, SVG, JavaScript through the use of libraries such as D3.js, jQuery.js and Dimple.js.
CT5101 Natural Language Processing
Overview of human language, linguistics, NLP. Levels of linguistic analysis, algorithms, evaluation. NLP applications (information extraction, ontology learning, question answering, opinion mining, machine translation, entity linking). NLP toolkits (GATE, UIMA, NLTK). Text analytics, approaches, applications. Future directions (linguistic linked data, linked data architectures for NLP, multilingual semantic web).
CT5102 Programming for Data Analytics
This module will provide an introduction to programming for data analytics using open source programming tools. It will focus on the R programming language and its associated powerful frameworks for data manipulation, analysis and visualisation such as caret and ggplot. Topics will include R programming fundamentals, Data Loading, Data cleaning transformation and merging, Exploratory Data analysis and visualisation, use of machine learning libraries for regression, time series and classification operations.
CT5103 Case Studies in Data Analytics
Case studies will be presented as standalone blocks by practitioners, researchers and academics in areas that are considered relevant to many real world problems that may be encountered by graduates of the programme. Students are expected to use this module to conceptualise the problems involved in their end ofyear project. This module will examine a number of case studies of domains in which data analytics are increasingly applied. For example, energy informatics, medical informatics and in Web personalisation.
CT5104 Web Mining
This module will provide the student with the skills to extract, clean and analyse data from the Web. The focus will be graph and network analytic approaches to Webmining. Topics include: graph theory, network modeling, social network analysis, communityfinding techniques, models of information diffusion, link prediction, evaluation techniques. There will be practical sessions on using graphdata bases and graph visualization tools such as Gephi. The student will learn how to apply Web mining techniques to applications such as recommender systems, adaptive personalisation, authority ranking.
CT5105 Tools and Techniques for Large Scale Data Analytics
Largescale data analytics is concerned with the processing and analysis of large quantities of data, typically from distributed sources (such as data streams on the internet). This module introduces students to stateoftheart approaches to largescale data analytics. Students learn about foundational concepts, software tools and techniques for the scalable storage, processing and predictive analysis of high volume and highvelocity data, and how to apply them to practical problems. Topics will include: Definition of largescale computational data analytics; Overview of approaches to the processing and analysis of high volume and high velocity data from distributed sources; Applications of largescale data analytics; Foundations of cluster computing and parallel data processing; The Hadoop and Spark ecosystems. MapReduce; Advanced programming concepts for largescale data analytics; Concepts and tools for largescale data storage; Stream data analytics. Complex Event Processing (CEP); Overview of computational statistics and machine learning in the Hadoop/Spark universe; Techniques and opensource tools for largescale predictive analytics; Privacy in the context of largescale data analytics.
CT5107 Advanced Topics in Machine Learning and Information Retrieval
The module will build on students’ knowledge of machine learning methods. The module will over the following topics: Probabilistic approaches to Information Retrieval; Language Modelling; Learning to Rank; Neural Networks, Deep learning; Support Vector Machines; Ensemble Techniques; Principal Component Analysis; Dimensionality Reduction; Emerging Trends. Students will learn how to improve machine learning performance using techniques such as:
 feature engineering;
 ensemble methods, boosting and bagging.
The module will feature extensive coverage of neural networks and deep learning:
 Moving from logistic regression to feedforward neural networks;
 Autoencoding neural networks;
Deep learning neural networks: technical details, success stories, and tools for deep learning; Advanced concepts in deep learning: sparse autoencoders; ReLU; convolutional neural networks;
Students will undertake a substantial assignment to implement a deep neural network learning system from scratch.
CT5108 Data Analytics Project
On successful completion of this module the learner will be able to apply a variety of data analytic techniques to solve a real world problem diagnose a problem and design a dataanalytics based solution conduct and report on exploratory analysis of the problem domain produce an indepth report (thesis) describing the problem, the diagnosis and approaches to solving it demonstrate that they can research, apply and evaluate stateoftheart techniques in dataanalysis. This project requires a demonstration of indepth analysis, problem solving and reporting of a data analytic problem.
CT561 Systems Modelling and Simulation
Simulation is a quantitative method used to support decision making and predicting system behaviour over time. This course focuses the system dynamics approach. The course covers the fundamentals of simulation, and describes how to design and build mathematical models. Case studies used include: software project management, public health policy planning, and capacity planning.
DER5101 Linked Data
This module will teach fundamentals of Linked Data and related standards, including the main principles distinguishing Linked Data from standard database technology. It will focus on designing linked data applications and students will learn how to design ontologies, produce linked datasets, generate links between datasets and explain the overall architecture of data integration systems based on Linked Data. It presents techniques for querying and managing Linked Data that is available on today’s Web. A large part of the module is devoted to query processing in different setups. The module will focus on managing largescale collections of Linked Data. It will present methods to publish relational data as Linked Data and efficient centralized processing. It then addresses advanced topics, such as efficient reasoning, and query optimisation for largescale linked datasets.
EE445 Digital Signal Processing
This module provides and introductory course in digital signal analysis covering topics such as Discretetime systems, timedomain analysis. The zTransform. Frequencydomain analysis, Discrete Fourier Transform (DFT). Digital filter structures and implementation. Spectral analysis with the DFT, practical considerations. Digital filter design: IIR, FIR, window methods, use of analogue prototypes.
MA204 Discrete Mathematics
This course deals with elementary enumeration, permutations, combinations, and graphs including eulerian and hamiltonian graphs.
Module Learning Outcomes. On successful completion of this module the learner should be able to:
 Distinguish between orderings (permutations) and subsets (combinations).
 Count the size of unions and intersections of sets and solve elementary recurrences.
 Define and apply Binomial and multinomial coefficients to enumeration problems.
 Use tree graphs for enumeration.
 Use trees to write algebraic expressions in Polish and Reverse Polish notation.
 Define the notion of graph, eulerian, hamiltonian, bipartite and tree graphs.
 Define the notion of graph colourings and applications to scheduling problems.
Indicative Content
The course introduces the fundamentals of Discrete Mathematics. How to count, the addition rule, the multiplication rule. the InclusionExclusion formula. Permutations and Combinations. the Binomial coefficients and some identities. Recurrences, the Fibonacci numbers, Derangements, "Tower of Hanoi". Distributions, Multinomial coefficients. Introduction to Graph Theory, Euler and the Koenigsberg Bridges Problem. Eulerian and Hamiltonian graphs. Tree graphs and bipartite graphs. Ordered Rooted trees, Polish and Reverse Polish Notation. Planarity of Graphs. Eulers formula for a connected planar graph. Colouring of Graphs the WelshPowell algorithm. Applications to simple scheduling problems.
Module Resources
 Discrete Mathematics in the Schaum Outline series
 Discrete Mathematics; N. L Biggs (OUP)
MA215 Mathematical Molecular Biology I
The module begins with a brief overview of some of the key concepts in molecular sequence biology, including DNA and DNA sequencing, the genetic code, the Central Dogma of molecular biology, genome biology, molecular evolution and phylogenetics. Some concepts in graph theory are introduced, followed by a demonstration of graph theoretical methods applied to the genome assembly problem, which consists of assembling collinear genome sequences from short, random fragments of the sequence that are generated in genome sequencing projects. The problem of aligning homologous (related by descent) sequences is introduced and solved using a dynamic programming algorithm. The course covers algorithms to infer evolutionary relationships (i.e. phylogenetic trees), using concepts such as evolutionary parsimony and genetic distance. Transformational grammars are introduced as well as their applications to the description of amino acid sequence motifs and the structure of RNA molecules. Depending on time, the course may include a review of concepts in systems biology and the analysis of biological networks.
MA461 Probabilistic Models For Molecular Biology
This course will cover the application of probabilistic modelling to several important problems in molecular biology and/or systems biology. We will begin with a review of Markov chains, including continuoustime chains and hidden Markov models. Applications of models such as these to key problems in molecular biology include the alignment of molecular sequences, the identification of genes in genomic sequences (genefinding), finding genomic regions with shared epigenetic features, molecular phylogenetics, and the analysis of genomewide genotype data (including the inference of population structure and the haplotype phasing problem). We will consider several such applications, moving from textbook examples to more recent developments from the current bioinformatics literature.
MP305 Modelling I
This module introduces the student to modelling techniques for four different realworld problems. The problems cover topics such as networkflow optimisation, activity networks, network analysis and game theory.
ST1100 Engineering Statistics
This course presents an introduction to the basic concepts of probability theory along with the standard techniques for statistical analysis of data (such as calculating parameter estimates and confidence intervals, working with linear regression models) with a focus on methods and data arising in engineering.
ST235 Probability
This is an introductory course to probability theory. Topics include: algebra of events, concepts of conditional probability and independence of events; random variables (rv); discrete and continuous propability distributions; expectation, variance and functions of rvs; probability and moment generating functions; basic probability inequalities.
Module Learning Outcomes. On successful completion of this module the learner should be able to:
 Apply basic laws of probability theory to calculate probabilities of composite events obtained by applying set operations
 Apply correct combinatorial random sampling rules and calculate probabilities
 Use basic properties of probability distributions to calculate derived quantities
 Calculate expectations, conditional expecations and variance of a variety of r.v.s
 Prove main theorems and results connecting basic probaility concepts including joint and conditional rvs
 Understand common properties and differences of discrete and continuous r.v.s
 Calculate expectations, variances and distributions of functions of rvs
 Apply generating functions to calculate corresponding distributional properties
Indicative Content
This is an introductory course to probability theory. Topics include: algebra of events, probability spaces, conditional probability, independence of events; combinatorics and random sampling; concept of a random variable (rv); discrete and continuous probability distributions (mass, density and cumulative distribution functions); functions of rvs; properties of expectation and variance; conditional and joint rvs and probability distributions; probability and moment generating functions; Markov and Chebyshev inequalities; Weak law of large numbers; Central limit theorem.
Module Resources
 C. Grinstead and L. Snell, Introduction to Probability, American Mathematical Society (free online copy)
 Hoel, Port, Stone, Introduction to Probability Theory, Houghton & Mifflin
 Stirzaker, Probability and Random Variables, Cambridge
ST236 Statistics Inference
An introduction to the ideas of statistical inference from a mathematical perspective. Topics covered include: populations and samples, properties of estimators, likelihood functions, principles and methods of point estimation, interval estimates, hypothesis testing and construction of tests.
Module Learning Outcomes. On successful completion of this module the learner should be able to:
 Construct a full sampling distribution for a simple, small sample probability model and calculate the properties of standard estimators such as the sample mean and variance;
 Derive a likelihood function for random samples from a probability model and under more complex sampling schemes, eg mixed populations, censoring;
 Calculate simple unbiased estimators and calculate optimal combinations of estimators;
 Find maximum likelihood estimators by solving the score equation and obtain an estimate of precision based on observed and expected information;
 Find confidence intervals for simple problems using pivotal quantities;
 Calculate the size and power function for a given test procedure;
 Obtain a most powerful test of two simple hypotheses using the Neyman Pearson lemma and extend this to a uniformly most powerful test of onesided alternatives;
 Use the likelihood ratio procedure to derive a test of nested hypotheses for some simple statistical models.
Indicative Content
This course provides and introduction to the ideas and mathematics of statistical inference. Topics covered include: 1. Basic notions: populations and samples, sampling distributions, estimates and estimators, the likelihood function.
 Point estimation: general concepts, criteria including consistency, unbiasedness, minimum variance; methods of constructing estimators, unbiased estimation and MVUE, method of moments, maximum likelihood.
 Interval estimation: confidence intervals, likelihood intervals.
 Hypothesis testing: simple and composite hypotheses, type I and type II error, size and power, mostpowerful tests, Neyman Pearson Lemma, uniformly most powerful tests, Likelihood ratio tests.
Module Resources
 Statistical Inference (2nd Ed) by Casella & Berger, Duxbury.
 Introduction to the Theory of Statistics, Mood, Graybill & Boes, McGraw Hill
 Probability and statistical inference by Robert V. Hogg Elliot A Tanis, MacMillan
ST312 Applied Statistics II
Methods and applications in applied statistical inference. This module discusses factors for consideration in experiment design and demonstrates methods in the analysis of data emerging from designed experiments. Topics covered include confounding, blocking, a completely randomized design and a randomized block design, twoway ANOVA. The module also demonstrates regression modelling for a qualitative response, i.e. methods in logistic regression and generalized linear models.
ST313 Applied Regression Models
This course gives a basic introduction to regression modelling. The topics covered include:
 Populations and samples, correlation and association, response and explanatory variables.
 Simple linear regression: estimation using leastsquares, properties of estimators, inference on parameter estimates, construction and use of ANOVA table, confidence and prediction intervals, residuals and model diagnostics.
 Multiple regression: matrix formulation of general linear model, leastsquares estimation, properties of estimators, inference on parameter estimates, ANOVA table, fitted values, residuals, the hatmatrix, predictions, diagnostics and model checking.
 Model choice and variable selection: testing of nested models, varaible selection criteria, stepwise and best subsets variable selection methods.
 Categorical explanatory variables: use of indicator variables for categoprical variables, test of overall significance, analysis of covariance, interaction.
 Practical computer lab sessions: Use of Minitab statistical software to fit regression models, statistical report writing, including a group project and presentation.
ST412 Stochastic Processes
The goal of the course is to introduce the main ideas and methods of stochastic processes with the focus on Markov chains (processes with discrete time index and finite state space). The topics include:
 A review of probability theory: Discrete and continuos random variables (r.v.), joint and conditional distributions, expectations, variance, sums of iid r.v.s, conditional expectation;
 probability generating functions, moment generating functions
 Random sums of r.v.s;
 Branching processes;
 Markov property and Markov chains (MC): Random walk with absorbing barriers (Gambler’s ruin); Classification of states for a finite discrete Markov chain; Stationary and limiting prob. distribution of Markov chains; Random walk in 2 and more dimensions; Mean first passage times;
 Poisson process (independent increments formulation; interarrival times formulation); (vii) Applications of stochastic processes in finance, bioinformatics, computer science.