-
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.
Second Year Modules Descriptions
CT2101 Object Oriented Programming I
This module introduces Object-oriented design and covers topics such as: Encapsulation and information-hiding, the separation of behavior and implementation, classes and subclasses, Arrays, Composition, Inheritance and Polymorphism.
Semester I - Lecture Hours: 24 Lab Hours: 20
Module Learning Outcomes:
- Justify the philosophy of object-oriented design and the concepts of encapsulation, abstraction, inheritance, and polymorphism.
- Design, implement, test, and debug simple programs in an object-oriented programming language.
- Describe how the class mechanism supports encapsulation and information hiding.
- Design, implement, and test the implementation of relationships among objects using a class hierarchy and inheritance.
- Compare and contrast the notions of overloading and overriding methods in an object-oriented language.
CT2102 Object Oriented Programming II
This module builds upon Object Oriented Programming I and covers topics such as Interfaces, Collections, Sorting & Searching, Recursion, GUI and Event-Driven programming.
Semester II - Lecture Hours: 24 Lab Hours: 22
Module Learning Outcomes:
- Discuss the use of primitive data types and built-in data structures.
- Describe common applications for each data structure in the topic list.
- Implement the user-defined data structures in a high-level language.
- Compare alternative implementations of data structures with respect to performance.
- Write programs that use each of the following data structures: arrays, strings, linked lists, stacks, queues, and hash tables.
- Compare and contrast the costs and benefits of dynamic and static data structure implementations.
CT2103 Systems Analysis & Design
This module progresses the students' study of computer systems with a focus on the analysis and design of software systems and the stakeholders involved. Students will develop specific systems analysis design skills (Software Development Lifecycle techniques) and reflect on the social and ethical issues associated with systems design.
Lecture Hours: 24 Lab/Tutorial Hours: 12
Module Learning Outcomes:
- Identify project stakeholders
- Identify project scope & develop project schedule
- Analyse user and system requirements using standard Structured and Object Oriented systems analysis techniques
- Design system prototypes using standard Structured and Object Oriented system design techniques
- Prepare systems evaluation plan and apply system testing techniques
- Discuss the social and ethical implications of different system designs
- Make project presentations to class group
CT2104 Web Application Development
This module teaches the students how to create modern client-server browser-based web applications. The module builds on introductory web technology and programming introduced in Years 1 and 2, as well as integrating with the database design and development concepts learned in Year 2. The core technologies learned will be client programming and server side programming. A group development project will form a major part of the workload.
Lecture Hours: 24 Lab Hours: 22
Module Learning Outcomes:
- Describe the Model View Controller client-server architecture, in particular with regard to web-based frameworks and applications.
- Describe the challenges and technical choices faced in the application of good design and HCI principles to client-side web application development.
- Describe the HTTP protocols used for client-server interaction
- Use basic Javascript and CSS (Cascading Style Sheet) functions to create functional and attractive user interfaces.
- Design and implement basic web server-based applications
- Create and interact with databases from server-side web applications, using modern object-relation persistence techniques.
- Work within a team to design, implement and test a working web application.
CT2105 Web-based Information Systems
This module introduces the concepts and techniques associated with web-based Information systems. In particular, search engines, recommender systems, social networks and document filtering are studied.
Lecture Hours: 24 Lab Hours: 18
Module Learning Outcomes:
- Describe and recognise the basic types of web data that exist.
- Describe in detail how a simple recommender system works
- Describe the main components of a search engine and how each component works
- Describe what is meant by Document Filtering
- Identify the characteristics of social networks
- Identify security issues with Web applications
CT230 Database Systems I
Indexing Techniques: Primary, Secondary, Clustering, B Trees, Hashing (Extendible, Dynamic, Linear). Database Architectures and Data Models: Network, Hierarchical, Relational, Object-Oriented. Relational Model: Relations, Relational operators, Integrity constraints. Relational Algebra and SQL: Relational operators, Query Optimisation, DDL, DML, DCL. Extended Relational Model.
Lecture Hours: 24 Lab Hours: 20
