Modules

Here are the modules currently offered on the Continuing Professional Development (Software Engineering and Database Technologies) programme.  Click on a module to read the content behind that module.  The 2021-2022 module start dates are available in the Timetable below;

CT611: Computer Architecture and Operating Systems [5 ECTs] -> Application deadline 31 July 2021

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.

CT5155: Introduction to Relational Databases [5 ECTs] -> Application deadline 31 July 2021

This module introduces Databases, outlining the differences between Databases and File Systems and considering the importance of Abstraction.  Concepts, Integrity Constraints and Design Principles for the Relational Model are investigated. 
The module also covers Relational Algebra, Querying, Structure Query Language (SQL), Conceptual Modelling, Relational Schema and Normalisation.

CT609: Fundamentals of Programming [5 ECTs] -> Application deadline 12 September 2021

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.

CT5156: Fundamentals of Databases [10 ECTs] -> Application deadline 12 September 2021

This module begins with a review of Relational Design Principles before moving on to look at Efficiency in terms of Indexing and Query Optimisation.  Further Design Principles such as Armstrong's Axioms, Closure, Minimal Cover Sets, Synthesis and Normalisation are covered.  Transactions and a variety of Database Models are examined.

CT610: Software Engineering [10 ECTs] -> Application deadline 21 November 2021

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).

CT5154: Introduction to Information Retrieval [5 ECTs] -> Application deadline 21 November 2021

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.

Prerequisites: CT609 (Fundamentals of Programming) or equivalent, i.e. good working knowledge of a procedural language such as C.

CT619: Object Oriented Programming [5 ECTs] -> Application deadline 16 January 2022

This module provides detailed coverage of Object Oriented (OO) programming principles. It focuses on programming in Java, an OO language that is modern, vendor-independent, and widely used in industry. Recognising that programming requires skill as well as knowledge, this module places emphasis on the practical aspects of developing significant Java programs using a professional development environment. Students learn how to model objects in software, define classes describing categories of objects, and make appropriate use of concepts such as inheritance, composition, encapsulation, polymorphism, abstract classes, and interfaces. As well as learning basic Java syntax and how to express OO concepts in Java, practical topics such as applets, graphics, data storage, multi-threaded programming, and exception handling are addressed.

Prerequisites: CT609 (Fundamentals of Programming) or equivalent, i.e. good working knowledge of a procedural language such as C.

CT5157: Data Mining [5 ECTs] -> Application deadline 16 January 2022

This module introduces Data Mining before getting into the detail of the subject area with the following topics:
  • Data Preprocessing
  • Association Rules
  • Classification
  • Evaluation
  • Clustering

Prerequisites: CT609 (Fundamentals of Programming) or equivalent, i.e. good working knowledge of a procedural language such as C.

CT618: Object Oriented Design [5 ECTs] -> Application deadline 20 March 2022

This module provides a comprehensive introduction to the field of Object Oriented Design and the Unified Modeling Language (UML). The application of UML is explored from analysis through design and on to final system implementation, highlighting the strengths of object orientation as an approach to systems development, where the one notation is used throughout. Students will develop object oriented analysis and design models using Computer Aided Software Engineering (CASE) tools, similar to those developed in the Software Engineering module.

CT621: Artificial Intelligence [5 ECTs] -> Application deadline 20 March 2022

This module is an introduction to some of the fundamental concepts and techniques in Artificial Intelligence (AI). The module begins by examining the concept of AI and as well highlighting some important real-world applications of AI. It then presents search strategies currently employed in AI research. This is developed further by the examination of the functional programming language Prolog. The second half of the module looks at Knowledge Representation and Machine Learning. It also deals with the topic of uncertainty in AI. Finally, the module finishes by examining future directions of AI research and associated philosophical dilemmas.

CT5114: Distributed Systems and the Cloud [5 ECTs] -> Application deadline 20 March 2022

The module will provide students with a good understanding of how to design and implement internet based distributed applications. The emphasis will be on explaining and evaluating the standard APIs and frameworks that are commonly used. The module will cover the essential Java language features and APIs that are needed to create network based applications; I/O streams and multithreaded programming support in Java; and the various APIs and frameworks that are used to implement distributed applications.

Prerequisites: CT619 (Object Oriented Programming) or equivalent.

2021-2022 Timetable

 

Term 1

Term 2

Christmas

Term 2

Term 3

Term 4

Mid-term

Term 5

Summer

Weeks 1-8

Weeks 1-6

 2 weeks

Weeks 7-8

Weeks 1-8

Weeks 1-8

1 week 

Weeks 1-8

Software Engineering modules

Pre-requisite

Start date 13.09.21

Start date 08.11.21

Start date 19.12.21

Start date 03.01.22

Start date 17.01.22

Start date 14.03.22

Start date 08.05.22

Start date 16.05.22

Start date 10.07.22

CT611: Computer Architecture & Operating Systems

None

Break

Break

Break  

CT609: Fundamentals of Programming

None

CT610:          Software Engineering

None

CT619:            Object Oriented Programming

CT609

 

CT618:            Object Oriented Design

None

 

CT5114: Distributed Systems & the Cloud

CT619

CT621:              Artificial Intelligence

None

Database Technology modules

Pre-requisite

Start date 13.09.21

Start date 08.11.21

Start date 19.12.21

Start date 03.01.22

Start date 17.01.22

Start date 14.03.22

Start date 08.05.22

Start date 16.05.22

Start date 10.07.22

CT5155: Introduction to Relational Databases

None

Break

Break 

Break  

CT5156: Fundamentals of Databases

None

CT5154: Introduction to Information Retrieval

CT609

CT5157:          Data Mining

CT609

 

  Indicates the module start date

 

Modules offered can change from year to year, to reflect industry demand.

 

© 2017 National University of Ireland, Galway. All Rights Reserved.