Here are the modules which are currently offered on the Software Engineering and Database Technologies Masters programme, over two years. Click on a module to read the content behind that module. Course timetable available here.
Modules offered can change from year to year, to reflect industry demand.
Year 1 Software Modules:
Core: CT611 Computer Architecture and Operating Systems [5 ECTs]
This module introduces the structure and operation of the various system components including the CPU, system buses and internal/external memory, with an emphasis on programming techniques and/or access mechanisms for those components. An overview of numbering systems and digital logic will complete the architecture section. In the second part of this module, students will apply their acquired knowledge to the design of an operating system (OS). Students will also learn how various OS features are applied in the Windows 2000/XP and UNIX operating systems.
Prerequisites: None
Core: CT609 Fundamentals of Programming [5 ECTs]
This is intended as a foundational programming module, suitable for students with no previous experience of computer programming as well as those with moderate previous knowledge or knowledge of languages other than C. It will provide students with a solid foundation in the key concepts of functional programming, as well as an appreciation of object-oriented programming. The emphasis is on applied problem-solving skills as well as on the theoretical concepts underlying the programming activity. Although the module focuses specifically on the C language, students who have successfully completed it will typically find learning other high-level languages relatively easy, having learned the important skills and concepts of programming in this module.
Prerequisites: None
Core: CT610 Software Engineering [10 ECTs]
This module will provide students with the fundamental software engineering knowledge necessary to develop and deliver quality software products. This course provides an overview of the development of software systems: software engineering encompasses technology, business, organisational and human concerns. The course brings together the various software components (technology) and the diverse issues impacting their development (process, project, people) to improve software product quality. The challenges of successfully completing software development projects will be addressed, practically (best practice with regard to methods, tools and techniques), empirically (based on actual findings) and theoretically (informed by a number of Software Engineering laws).
Prerequisites: None
Core: CT619 Object Oriented Programming [5 ECTs]
As well as learning basic Java syntax and how to express OO concepts in Java, practical topics such as data storage, multi-threaded programming, and exception handling are addressed.
Prerequisite: CT609 Fundamentals of Programming
Elective: CT618 Object Oriented Design [5 ECTs]
Prerequisite: None
Elective: CT5114 Distributed Systems and the Cloud [5 ECTs]
Prerequisite: CT619 Object Oriented Programming
Elective: CT621 Artificial Intelligence [5 ECTs]
Prerequisite: None
Year 2 DataBAse Modules:
Core: CT5154 Introduction to Information Retrieval [5 ECTs]
Information Retrieval (IR) deals with the identification of relevant information based on users’ needs. IR is used in web search engines, digital libraries, recommender systems, etc.
This module is designed to explain and analyse techniques to deal with large amounts and types, of information. The module covers Document Processing in terms of Stemming and Indexing before discussing Evaluation Approaches, Collaborative Filtering, Web Search and Document Clustering.
There is an emphasis on practice in order to help the learner understand IR processes, for example, the student will learn about the background processing required to return relevant results quickly during a web search.
Prerequisite: CT609 Fundamentals of Programming
Core: CT5155 Introduction to Relational Databases [5 ECTs]
The module also covers Relational Algebra, Querying, Structure Query Language (SQL), Conceptual Modelling, Relational Schema and Normalisation.
Prerequisites: None
Core: CT5156 Fundamentals of Databases [10 ECTs]
Prerequisites: None
Core: CT5157 Data Mining [5 ECTs]
- Data Preprocessing
- Association Rules
- Classification
- Evaluation
- Clustering
Prerequisite: CT609 Fundamentals of Programming
Thesis:
In second year, you will complete a thesis under an approved thesis advisor in the NUI Galway IT Department.
To support work on the thesis, you must complete 2 modules CT6110 Thesis Fundamentals [5 ECTS] and CT626 Thesis [30 ECTS]