-
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 research-led 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.
Fourth Year Modules Descriptions
CS402/MA492 Cryptography
This course develops basic concepts in private and public key cryptosystems, explores some of the associated algorithmic number theory, and introduces more advanced topics such as the use of elliptic curves in cryptography.
Taught in Semester(s) II. Examined in Semester(s) II.
Workload: 104 hours (24 Lecture hours, 10 Tutorial hours, 70 Self study hours).
Module Learning Outcomes. On successful completion of this module the learner should be able to:
- Encrypt and decrypt simple 1- and 2-dimensional affine cryptosystems.
- Explain the principles of public key cryptography; in particular, be able to encrypt and decrypt simple RSA and superincreasing knapsack examples.
- Thoroughly understand and readily solve problems in elementary number theory, including modular arithmetic, the Chinese Remainder Theorem, Fermat's Little Theorem, and the Euler totient function.
- Describe probabilistic algorithms for primality testing, carry them out, and indicate their relevance to RSA.
- Describe algorithms for integer factorisation, carry them out, and indicate their relevance to RSA.
- Define elliptic curves, calculate the group of points of an elliptic curve, and explain the use of elliptic curves in public key cryptography.
Indicative Content
This course develops basic concepts in private and public key cryptosystems, explores some of the associated algorithmic number theory, and introduces more advanced topics such as the use of elliptic curves in cryptography.
- A Course in Number Theory and Cryptography, Neal Koblitz, Springer
- The Mathematics of Ciphers: Number Theory and RSA Cryptography, S.C. Coutinho, A. K. Peters.
- Making, Breaking Codes: Introduction to Cryptology, Paul Garrett, Prentice Hall.
CT404 Graphics and Image Processing
Transformations. Projections. Rendering Standards. Edge detection. Shape contours. Segmentation. Object recognition. Industrial applications.
CT413 Final Year Project
Final Year students will undertake a major Project in the area of Applied Computing, in which the skills and knowledge acquired during the course are given practical application. A report will be written on the project.
CT414 Distributed Systems & Co-operative Computing
Introduction to Distributed Processing Models, Distributed Operating Systems. RPC Libraries, RPC Design Issues, Idempotent Operations. Distributed Object Technology, Distributed File Systems. Distributed Services and Security, Secure Sockets Layer, Service Interfaces. Load Balancing, Process Migration. Active Servers, Servlet Technology, Session Tracking. Cloud Computing Models and Services. Map / Reduce Programming Paradigm. Apache Hadoop Framework.
CT417 Software Engineering III
Software project management. Metrics and behaviour. Measuring software projects. Project costing and projections. Software Quality Assurance: ISO and CMM Model. Software Architecture.
CT420 Real-Time Systems
Real-time operating systems: Multi-tasking; co-ordination – semaphores, mutexes and signals; process message passing and task communication; concurrency; real-time scheduling; real-time system design; Petri nets; Standards POSIX; Operating systems QNX; developing real-time
systems; debugging and testing real-time systems; verification of real-time system performance.
CT421 Artificial Intelligence
AI History and Applications. Predicate Calculus, Search Strategies, Production Systems. Review of primary languages; Prolog and LISP. Rule-Bases Expert Systems, Knowledge Representation and Natural Language. Review of Automated Reasoning. Machine Learning and Advanced AI Techniques.
CT422 Modern Information Management
Information Retrieval and Filtering. Text Retrieval Models: Boolean, Statistical, Linguistic. Vector Space Model, Latent Semantic Indexing, Semantic Networks, Connectionist approaches. Multi-Media 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.
CT436 Advanced Professional Skills
Developing good interpersonal and group skills whilst examining the role of professional software engineers in society. A primary objective is to integrate and expand upon IT and Business skills. Support is provided in the areas of creativity and innovation, funding and planning. The module also examines ethical issues and the social impact of computing, with an emphasis on the responsibilities of the professional software engineer in maintaining good practice in systems development.
CT437 Computer Security and Forensic Computing
Computer security. Risk assessment. Policies, procedures. Audit. Incident handling. Intrusion detection. Honeynets. Firewalls. Filters. Phishing. Cryptography. Steganography. Information visualisation. Computer forensics and computer crime. Evidence: Acquiring, analysing, reporting. Forensic toolkits.
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, instance-based learning, probabilistic learning, support vector machines, linear and logistic regression, and Q-learning; open-source 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.
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.
MA236 Statistical 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.
MA3101 Euclidean and non-Euclidean Geometry
This course is an introduction to non-Euclidean, projective and Riemannian geometry. Topics covered include Riemannian metrics, their isometries, geodesics, curvature and the Gauss-Bonnet theorem.
MA342 Topology
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.
Taught in Semester(s) II. Examined in Semester(s) II.
Workload: 126 hours (24 Lecture hours, 12 Tutorial hours, 90 Self study hours).
Module Learning Outcomes. On successful completion of this module the learner should be able to:
- Understand and use the basic algebra of set theory, including De Morgan's Laws.
- State the definition of a topological space and describe several examples of this concept.
- Explain the relationship between topologies and continuous functions.
- Understand the concept of homeomorphism.
- Construct new topological spaces using the subspace and quotient constructions.
- Understand and explain the concept of compactness, prove some basic theorems relating to this concept.
- Understand and explain the concept of connectedness, prove some basic theorems relating to this concept.
- Apply topological ideas to solve problems in other areas of mathematics or applied mathematics e.g. topological proof of the fundamental theorem of algebra or a proof of the Brouwer fixed point theorem.
Indicative Content
Syllabus Outline
- The basic algebra of set theory, unions, intersections, complements, De Morgan's Laws.
- Topological spaces - definitions and basic examples.
- Continuity and Homeomorphism.
- New spaces from old. Subspaces, quotient spaces, products.
- Compactness and connectedness.
- Applications: Using topological ideas to solve problems from other areas of mathematics.
Module Resources
- "Introduction to Topology, Pure and Applied" by Adams and Franzosa (Pearson)
MA3491 Fields & Applications
This is an introduction to the theory of Field Extensions, their Galois groups and the application of finite fields to constructing BCH codes.
MA416 Rings
An introduction to ring theory, covering topics like PIDs, Polynomial rings, and Euclidean rings.
Taught in Semester(s) 1. Examined in Semester(s) 1.
Workload: 100 hours (24 Lecture hours, 4 Tutorial hours, 72 Self study hours).
Module Learning Outcomes. On successful completion of this module the learner should be able to:
- Determine whether a given algebraic structure is a ring or not.
- Determine the group of units and the set of zerodivisors in a ring.
- Explain the concepts of homomorphisms, ideals, kernels and quotient rings and relate them to each other.
- Calculate the field of fractions of an integral domain.
- Determine whether a given polynomial is irreducible or not.
- Prove Gauss lemma and Eisenstein's criterion.
- Find the maximal and prime ideals of a given commutative ring.
- Decide whether a given domain is a Euclidean ring.
Indicative Content
An introduction to Ring theory. The material covered includes:
- Basic definitions: rings, units, zerodivisors, fields and integral domains. The group of units of a ring. Fundamental examples of rings: integers, rationals, reals, polynomials, integers modulo $n$.
- Ring homomorphisms: definitions, examples, kernels, images and isomorphisms.
- Ideals and quotient rings: definition of left, right and two-sided ideals, construction of the quotient ring, the first isomorphism theorem.
- Fields of fractions: construction.
- Polynomial rings: irreducibility, primitivity, unique factorisation, Gauss' lemma, and Eisenstein's irreducibility criterion.
- Euclidean rings: definitions, basic properties and case studies of e.g. the Gaussian integers, and Laurent polynomial rings.
MA4344 Advanced Group Theory
The course covers monoids and groups and their actions. Topics covered include finite state machines, orbits and stabilizers, applications in combinatorics (e.g. vertex colorings), Sylow theory, finite simple groups.
MA436 Final Year Project
Final Year students will undertake a major Project in the area of Maths or Applied Computing, in which the skills and knowledge acquired during the module are given practical application. A report will be written on the project.
MA490 Measure Theory
A "measure" on a set is a systematic way to assign a number to each suitable subset of that set, intuitively interpreted as its size. Measure is a generalization of the concepts of length, area, and volume. An important example is Lebesgue measure, which assigns the conventional length, area and volume of Euclidean geometry to suitable subsets of n-dimensional space. Measure Theory is the basis for Integration and it is the foundation for an understanding of Probability Theory.
Taught in Semester(s) 1. Examined in Semester(s) 1.
Workload: 102 hours (24 Lecture hours, 12 Tutorial hours, 66 Self study hours).
Module Learning Outcomes. On successful completion of this module the learner should be able to:
- Carry out basic operations on sequences of sets.
- Decide whether a given set function is a measure and execute basic operation with measures.
- Apply the theory of integration in a wide range of settings, including the real numbers and probability spaces. Decide when term by term integration of a sequence or series of functions is permissible.
- Give an account of the basic facts about measure spaces and integration.
- Compose and write proofs of theorems about measures and integrals.
Indicative Content
- Algebras and $\sigma$-algebras of sets. Measures. Lebesgue Measure. Upper and lower limits for sequences of sets. Probability Spaces. The Borel-Cantelli Lemmas.
- Measurable functions and random variables. Modes of convergence for sequences of measurable functions. Approximation by simple functions. The "almost everywhere" concept. Egoroff's Theorem.
- Integration of measurable functions. The Lebesgue integral. Integration of random variables. Fatou's Lemma and the Lebesgue Convergence Theorems.
- Properties of Lebesgue measure on Euclidean spaces. The Cantor Set. The existence of non-measurable sets.
Module Resources
- "Real Analysis", H.L. Royden, Pearson.
- "Real Variables", A. Torchinsky, Addison Wesley
- "The Elements of Integration and Lebesgue Measure", R. Bartle, Wiley-Interscience
