-
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.
Third Year Modules Descriptions
CT3111 Next-Generation Technologies III
This module builds on NGT2 whereby it examines in greater detail, a subset of technologies that will play key roles in the Internet of Things (IoT) and the application areas in which they will be deployed. These include Sensor Networks, Body Area Networks, Cyber Physical Systems (CPS), and Industrial Internet.
CT3112 Professional Skills
Professional skills are used within organisations and throughout career lifespans by engineers, managers and other professionals. These skills include communication skills, personal and workplace relationships, decision making, innovation, intellectual property, conflict management, negotiations, career planning, professional ethics, health and safety and online presence. Engineering students are often poorly equipped with many of these skills, preferring instead to their attention on more technical matters.
CT318 Human Computer Interaction
This course is concerned with the effective design of user interaction to computer systems. It covers topics including: Good Design – success criteria; User Research; Interaction Design: models of interaction, the design process, paradigms, prototyping, visual design; Evaluation: approaches & methods.
CT326 Programming III
Fundamentals of OO Analysis and Design. Encapsulation, Inheritance, Polymorphism. Function Overloading. Constructor Functions, Overloading Constructors. Controlling Fonts. String Classes. HTML Applet Attributes. Graphics. Event Handling. Exception Handling. Multi-threaded Programming and Synchronisation. Abstract Classes and Interfaces. Packages. Input / Output Streams and Object Serialisation, Customising Serialisation. Random File Access. Socket Classes. Applet Security. Large Scale Design, Open / Closed Principle, Dependency Inversion Principle. Design Patterns, Observer Pattern, Abstract Factory Pattern. Component Design and Testing. Software Reflection. Collections Framework, Interfaces, Implementation Classes and Algorithms.
CT331 Programming Paradigms
Introduction to programming paradigms. Formal language. Chomsky hierarchy. Finite Automata. Push down automata. Interpreters. Compilers. Compiler structure. Scanning. Parsing. Language abstractions. Data Abstraction. Control Abstraction. Subprograms. Procedural Model. Functional programming. Logic Programming. Object oriented programming. Visual programming. Database programming. Parallel programming.
CT3531 Networks and Data Comms II
This module provides students with more advanced knowledge in the area of computer networks and data communications. It follows on from the module Networks and Data Communications 1 and it covers more advanced areas such as Network Design, Dynamic Routing, Network Simulation and Advanced Protocol Analysis and Design.
CT3532 Databases Systems II
Database Systems 2: Database design: Design by synthesis, Minimal cover sets, Armstrong's axioms, Normal forms, Non-additive joins. Transactions: concurrency control, two phase locking, timestamping, recovery. Efficiency: indexing, relational operators, parallel databases. Other models: distributed databases, object-oriented models, non-relational models.
CT3533 Organisational Innovation
Achieve greater performance within any organisation by learning the essential skills necessary to define goals, generate and execute better ideas and empower teams. These innovation skills will increase efficiency and value, make any organisation a better place to work, and help students become more successful managers. This course draws on best practice within leading organisations to present a step by step approach for planning effective change. Class projects will help put various skills into practice. Templates will allow the create development plans for any organisation.
CT3534 PEP Project or POC
Students are hosted by an organisation and work on projects assigned by the organisation. PEP aims to give students the opportunity to apply skills developed during the first three years of the degree programme and to gain valuable industrial experience for application in subsequent years of the programme.
CT5106 Software Engineering 2
CT5106 is a 3rd year Software Engineering course aimed at Computer Science and Information Technology students. Using the Java Enterprise framework as the core technology, this course includes material on Project Management, Estimation techniques, Agile methodologies, Testing, Unit Testing and Mocking, and Build Tools such as Ant or Maven. Through weekly lab assignments, students will gain hands-on experience in building web applications with the Java Enterprise framework, using technologies such as Servlets, JSP and JPA.
MA3343 Groups
Introduction to Group Theory. Topics covered include the group axioms, symmetries, cyclic groups, dihedral groups, groups of matrices, symmetric groups, homomorphisms, normal subgroups, Isomorphism Theorems.
MA341 Metric Spaces
This module introduces the theory of metric spaces. The real line with its natural notion of distance is a metric space, from which the metric space definition and theory readily evolves. Familiar concepts such as convergence and continuity are explored in this new broader context while new concepts and properties, such as closed sets and compactness, illuminate key basic facts about functions.
Taught in Semester(s) 1. Examined in Semester(s) 1.
Workload: 101 hours (24 Lecture hours, 12 Tutorial hours, 65 Self study hours).
Module Learning Outcomes. On successful completion of this module the learner should be able to:
- Write down, explain and use definitions of key concepts encountered throughout the module.
- Demonstrate how key definitions emerge naturally from the parent example given by the real line.
- Establish that each example from a given list forms a metric space and illustrate other properties which such examples may have.
- Construct proofs which connect and relate metric concepts.
- Produce examples which illustrate and distinguish definitions such as limit point of a set, complete metric space, closed set etc.
- Write down all mathematical work with rigour and precision.
- Create new or other lines of mathematical enquiry on the basis of mathematical ideas encountered in this module.
Indicative Content
This module introduces the theory of metric spaces with an emphasis on discovery learning by the student. Thus by developing familiarity and competence with the key building blocks (open balls, and then open sets) of the theory, students learn to forge connections and interrelations with ideas and concepts taught in previous years. The overall structure for the module is:
- Motivation, leading to
- Definition of a metric space; examples and non-examples. Make your own!
- New metric spaces (= subspaces) and new concepts (= continuous functions, convergent sequences) from old.
- Open sets, limit points, completeness, compactness.
- Application: Banach's Fixed point theorem (aka Contraction Mapping Theorem).
- Special subsets of the reals, including the Cantor set.
Module Resources
- Introduction to metric and topological spaces, by W. Sutherland, 2nd edition, Oxford University Press.
- Metric Spaces, by V. Bryant, Cambridge University Press.
- Introduction to Topology, by B. Mendelson, 3rd edition, Dover.
- Elementary topology, by M. Gemignani, 2nd edition, Dover.
- Metric Spaces, Springer SUMS.
MA385 Numerical Analysis 1
This module is a first course on the mathematical analysis of numerical methods for solving important computational problems. Topics covered include: Solving non-linear equations; Techniques for computing solutions to initial value problems; Matrix factorisation methods for solving linear systems; The estimation and applications of eigenvalues.
Taught in Semester(s) 1. Examined in Semester(s) 1.
Workload: 100 hours (24 Lecture hours, 8 Tutorial hours, 10 Lab hours, 58 Self study hours).
Module Learning Outcomes. On successful completion of this module the learner should be able to:
- Derive Newton's (and related) methods for solving non-linear equations;
- Give a mathematical analysis of the convergence properties of iterative methods for non-linear equations;
- Provide a derivation and analysis of Euler's method based on Taylor's series;
- Motivate and apply Runge-Kutta methods for solving initial value problems;
- Construct a matrix factorisation method for solving systems of linear equations;
- Analyse the stability of linear solvers based on condition numbers;
- Estimate the eigenvalues of large symmetric matrices;
- Implement the numerical algorithms described above in Matlab.
Indicative Content
Most mathematical problems arising in engineering and the physical sciences are expressed as non-linear equations, differential equations, or systems of linear equations. This module provides the mathematical understanding of the methods that can be applied to solve these problems, and the knowledge of how to determine which algorithm is most appropriate in which setting. In addition, the students learns how to program these methods in Matlab - the industry standard software tool for numerical prototyping.
Module Resources
- Suli and Mayers, An Introduction to Numerical Analysis.
- G. W. Stewart, Afternotes on Numerical Analysis
- Cleve B. Moler, Numerical Computing with Matlab.
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 rv-s; 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 rv-s
- Understand common properties and differences of discrete and continuous r.v.-s
- Calculate expectations, variances and distributions of functions of rv-s
- 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 rv-s; properties of expectation and variance; conditional and joint rv-s 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
