link to UCC Boole Library

CS2500- Software Development

Credit Weighting: 15


Teaching Period(s): Teaching Periods 1 and 2.


No. of Students: Max 120.


Pre-requisite(s): CS1109


Co-requisite(s): None


Teaching Methods: 72 x 1hr(s) Lectures; 40hr(s) Practicals.


Module Co-ordinator: Prof James Bowen, Department of Computer Science.


Lecturer(s): Marc van Dongen


Module Objective: Students will learn: advanced object-oriented programming language constructs and the principles of good object-oriented design; they will learn how to build event-driven programs for the construction of graphical user interfaces.


Module Content: Class definitions; procedural abstraction and data abstraction; associations between objects; class hierarchies and inheritance; polymorphism and dynamic method binding; event-driven programming; the architecture of programs with GUIs; other uses of event-driven programming; concurrency examples and issues (processes, mutual exclusion, deadlock, starvation, interference, communication); solutions using shared memory and using message passing (e.g. semaphores, monitors).


Learning Outcomes: On successful completion of this module, students should be able to:

  • Interpret a set of requirements for a software system;
  • Construct Java programs in a good object oriented style;
  • Design medium-sized software in a disciplined manner;
  • Examine an existing software system for quality criteria;
  • Employ object oriented abstractions such as encapsulation and inheritance in an appropriate way;
  • Write event-driven GUI applications using the Java SWING library.


Assessment: Total Marks 300: End of Year Written Examination 225 marks; Continuous Assessment 75 marks (11 x Laboratory Assignments, 5 marks each; In-class test: 20 marks).


Compulsory Elements: End of Year Written Examination; Continuous Assessment. Penalties (for late submission of Course/Project Work etc.): Work which is submitted late shall be assigned a mark of zero (or a Fail Judgement in the case of Pass/Fail modules).


Pass Standard and any Special Requirements for Passing Module: 40%.


End of Year Written Examination Profile: 1 x 3 hr(s) paper(s).


Requirements for Supplemental Examination: 1 x 3 hr(s) paper(s) to be taken in Autumn. The mark for Continuous Assessment is carried forward (with the exception of failed non-laboratory elements which must be repeated as specified by the Module Coordinator).



« Previous | Next »

CS2501- Database Design and Administration

Credit Weighting: 5


Teaching Period(s): Teaching Period 1.


No. of Students: Max 120.


Pre-requisite(s): CS1106


Co-requisite(s): None


Teaching Methods: 24 x 1hr(s) Lectures; 10hr(s) Practicals.


Module Co-ordinator: Prof James Bowen, Department of Computer Science.


Lecturer(s): Staff, Department of Computer Science.


Module Objective: Students will learn: analysis requirements for various types of application for managing persistent data and how to design, implement and administer databases to meet these requirements; the remainder of the SQL concepts and constructs not covered in the prerequisite module.


Module Content: Database Management Systems; DBMS storage structures. Relational algebra and relational calculus; SQL; query optimisation; views. Database Design: UML Class Diagrams and Entity-Relationship Diagrams; UML Sequence Diagrams; conceptual, logical and physical database design; data integrity; functional dependencies and normal forms.


Learning Outcomes: On successful completion of this module, students should be able to:

  • demonstrate a working knowledge of relational database theory
  • demonstrate a detailed knowledge of the SQL language and SQL-based database management systems
  • demonstrate an understanding of the principles and practices of relational database design and administration.


Assessment: Total Marks 100: End of Year Written Examination 40 marks; Continuous Assessment 60 marks (5 x Laboratory Assignments, 8 marks each; 1 x In-Class Test, 20 marks).


Compulsory Elements: End of Year Written Examination; Continuous Assessment.


Penalties (for late submission of Course/Project Work etc.): Work which is submitted late shall be assigned a mark of zero (or a Fail Judgement in the case of Pass/Fail modules).


Pass Standard and any Special Requirements for Passing Module: 40%.


End of Year Written Examination Profile: 1 x 1 hr(s) paper(s).


Requirements for Supplemental Examination: 1 x 1 hr(s) paper(s) to be taken in Autumn. The mark for Continuous Assessment is carried forward (with the exception of failed non-laboratory elements which must be repeated as specified by the Module Coordinator).



« Previous | Next »

CS2503- Operating Systems 1

Credit Weighting: 5


Teaching Period(s): Teaching Period 1.


No. of Students: Max 120.


Pre-requisite(s): CS1101


Co-requisite(s): None


Teaching Methods: 24 x 1hr(s) Lectures; 10hr(s) Practicals.


Module Co-ordinator: Prof James Bowen, Department of Computer Science.


Lecturer(s): John Vaughan.


Module Objective: Students will learn about file system management and scripting in modern operating systems, using Unix as a case study.


Module Content: Operating Systems from an architectural perspective. The Unix Operating System. Shell scripting. Environment Variables. File protection mechanisms.


Learning Outcomes: On successful completion of this module, students should be able to:

  • Use the Unix OS (Operating System) at the shell level.
  • Know: Basic file related commands; Input and output redirection; the file protection mechanism; Commonly used Unix utilities; Shell scripting.
  • Understand: File and memory protection mechanisms.

Assessment: Total Marks 100: End of Year Written Examination 80 marks; Continuous Assessment 20 marks (2 Laboratory Assignments, 10 marks each).


Compulsory Elements: End of Year Written Examination; Continuous Assessment.


Penalties (for late submission of Course/Project Work etc.): Work which is submitted late shall be assigned a mark of zero (or a Fail Judgement in the case of Pass/Fail modules).


Pass Standard and any Special Requirements for Passing Module: 40%.


End of Year Written Examination Profile: 1 x 1 hr(s) paper(s).


Requirements for Supplemental Examination: 1 x 1 hr(s) paper(s) to be taken in Autumn.


The mark for Continuous Assessment is carried forward.



« Previous | Next »

CS2505- Network Computing

Credit Weighting: 5


Teaching Period(s): Teaching Period 2.


No. of Students: Max 120.


Pre-requisite(s): CS1109


Co-requisite(s): None


Teaching Methods: 24 x 1hr(s) Lectures; 10hr(s) Practicals.


Module Co-ordinator: Prof James Bowen, Department of Computer Science.


Lecturer(s): Staff, Department of Computer Science.


Module Objective: To introduce students to the fundamentals of internetworking, Internet services and the higher-layer Internet protocols.


Module Content: Basics of networking architecture, Application layer protocols, including HTTP. Naming, including domain name system. Transport protocols, including TCP. Network management.


Learning Outcomes: On successful completion of this module, students should be able to:

  • identify the layers and functions of network architectures
  • explain the operation of key Internet transport and application protocols
  • compare the functionality and performance of different protocols
  • implement client/server programs and simple protocols using the Socket interface.


Assessment: Total Marks 100: End of Year Written Examination 80 marks; Continuous Assessment 20 marks (5 x laboratory assignments, 4 marks each).


Compulsory Elements: End of Year Written Examination; Continuous Assessment.


Penalties (for late submission of Course/Project Work etc.): Work which is submitted late shall be assigned a mark of zero (or a Fail Judgement in the case of Pass/Fail modules).


Pass Standard and any Special Requirements for Passing Module: 40%.


End of Year Written Examination Profile: 1 x 1 hr(s) paper(s).


Requirements for Supplemental Examination: 1 x 1 hr(s) paper(s) to be taken in Autumn.


The mark for Continuous Assessment is carried forward.



« Previous | Next »

CS2506- Operating Systems 2

Credit Weighting: 5


Teaching Period(s): Teaching Period 2.


No. of Students: Max 120.


Pre-requisite(s): CS2503


Co-requisite(s): None


Teaching Methods: 24 x 1hr(s) Lectures; 10hr(s) Practicals.


Module Co-ordinator: Prof James Bowen, Department of Computer Science.


Lecturer(s): John Vaughan.


Module Objective: Students will learn about process and instruction execution and management in modern operating systems; and they will learn about systems programming.


Module Content: Systems programming: Memory management and pointer manipulation; Large-scale application organization. Libraries. Makefiles. Devices, files and IO. Processes and resources. Scheduling. Device organisation and management. Interrupts. User/system state transitions. Interprocess communication and synchronisation. Operating system threads. Operating system APIs


Learning Outcomes: On successful completion of this module, students should be able to:

  • Have a good understanding of system programming techniques, and of OS APIs (Application Programming Interfaces) for file I/O, process creation, and interprocess communication.
  • Know: Processes, exit statuses, and process control.
  • Understand: The difference between processes and threads; Critical section; Race conditions; Deadlock and starvation; Mutexes and semaphores; Virtual memory; Interrupts; The process cycle.
  • Learn to: Implement programs and libraries; Create and maintain make files; Dynamically allocate and free memory; use OS APIs for I/O, process creation, and inter-process communication.


Assessment: Total Marks 100: End of Year Written Examination 80 marks; Continuous Assessment 20 marks (5 Laboratory Assignments, 4 marks each).


Compulsory Elements: End of Year Written Examination; Continuous Assessment.


Penalties (for late submission of Course/Project Work etc.): Work which is submitted late shall be assigned a mark of zero (or a Fail Judgement in the case of Pass/Fail modules).


Pass Standard and any Special Requirements for Passing Module: 40%.


End of Year Written Examination Profile: 1 x 1 hr(s) paper(s).


Requirements for Supplemental Examination: 1 x 1 hr(s) paper(s) to be taken in Autumn. The mark for Continuous Assessment is carried forward.



« Previous | Next »

CS2507- Computer Architecture

Credit Weighting: 5


Teaching Period(s): Teaching Period 2.


No. of Students: Max 120.


Pre-requisite(s): CS1101


Co-requisite(s): None


Teaching Methods: 24 x 1hr(s) Lectures; 10hr(s) Practicals.


Module Co-ordinator: Prof James Bowen, Department of Computer Science.


Lecturer(s): Staff, Department of Computer Science.


Module Objective: To introduce the student to the taxonomies of Computer Design, the basic concerns of Computer Architecture, provide an overview of the technology trends that drive the industry and how to use this information in the art of Computer Design.


Module Content: Instruction Set Design. Case study design of the control unit and datapath of a pipeline RISC processor. Memory Hierarchy Design. Bus architecture and interconnection strategies. Tools and techniques for performance measurement. Comparison of architectures of recent processors.


Learning Outcomes: On successful completion of this module, students should be able to:

  • Appraise an instruction set architecture;
  • Distinguish between an architecture and its implementation;
  • Measure the performance of a particular implementation of an architecture;
  • Critically evaluate a memory hierarchical design using skills and toolsets acquired during the module.


Assessment: Total Marks 100: End of Year Written Examination 80 marks; Continuous Assessment 20 marks (5 Laboratory Assignments, 4 marks each).


Compulsory Elements: End of Year Written Examination; Continuous Assessment.


Penalties (for late submission of Course/Project Work etc.): Work which is submitted late shall be assigned a mark of zero (or a Fail Judgement in the case of Pass/Fail modules).


Pass Standard and any Special Requirements for Passing Module: 40%.


End of Year Written Examination Profile: 1 x 1 hr(s) paper(s).


Requirements for Supplemental Examination: 1 x 1 hr(s) paper(s) to be taken in Autumn. The mark for Continuous Assessment is carried forward.



« Previous | Next »

CS2508- Computer Animation

Credit Weighting: 5


Teaching Period(s): Teaching Period 2.


No. of Students: Max 120.


Pre-requisite(s): CS1107


Co-requisite(s): None


Teaching Methods: 24 x 1hr(s) Lectures; 10hr(s) Practicals.


Module Co-ordinator: Prof James Bowen, Department of Computer Science.


Lecturer(s): Staff, Department of Computer Science.


Module Objective: This Module will enable the students to understand the techniques used in 2D and 3D animation and to use tools to animate objects and comparatively simple characters.


Module Content: Dramaturgy and aesthetics for computer animation, 2D animation effects such as squash, stretch, anticipation and exaggeration. Building models for 3D animation. Interpolation, kinematics (forward/inverse), particle animation, deformation and morphing, rigid- and soft body animation. Motion capture.


Learning Outcomes: On successful completion of this module, students should be able to:

  • Use a representative selection of the techniques and industry-standard animation tools employed in the Digital Media Industry.
  • Determine the correct use of these techniques and tools through a comprehensive understanding of the underlying theoretical and programming principles.
  • Evaluate the effectiveness of these techniques and tools in a variety of situations.
  • Apply these techniques and tools to produce digital media projects.


Assessment: Total Marks 100: Continuous Assessment 100 marks (3 In-class Tests, 20 marks each; one project, 40 marks).


Compulsory Elements: Continuous Assessment.


Penalties (for late submission of Course/Project Work etc.): Work which is submitted late shall be assigned a mark of zero (or a Fail Judgement in the case of Pass/Fail modules).


Pass Standard and any Special Requirements for Passing Module: 40%.


End of Year Written Examination Profile: No End of Year Written Examination.


Requirements for Supplemental Examination: Marks in passed element(s) of Continuous Assessment are carried forward, Failed element(s) of Continuous Assessment must be repeated (as specified by the Module Coordinator).



« Previous | Next »

CS2509- XML and the Extended Enterprise

Credit Weighting: 5


Teaching Period(s): Teaching Period 1.


No. of Students: Max 120.


Pre-requisite(s): CS1109


Co-requisite(s): None


Teaching Methods: 24 x 1hr(s) Lectures; 10hr(s) Practicals.


Module Co-ordinator: Prof James Bowen, Department of Computer Science.


Lecturer(s): Staff, Department of Computer Science.


Module Objective: To enable students to use XML for data exchange.


Module Content: Extensible Markup Language (XML). Document Type Definitions (DTDs). Valid and well-formed documents. Programmatic generation of valid XML documents from relational databases. XML Namespaces. Extensible Stylesheet Language (XSL): XSLT, XPath


Learning Outcomes: On successful completion of this module, students should be able to:

  • develop DTDs for new XML-based languages which are intended to facilitate data exchange between an enterprise and its partners in the supply chain;
  • write programs which generate valid XML documents to represent the content of relational databases.
  • Coordinate the use of XML applications from different namespaces.
  • Transform valid XML documents using both server-side and client-side XSLT.


Assessment: Total Marks 100: End of Year Written Examination 80 marks; Continuous Assessment 20 marks (In-Class Test - December).


Compulsory Elements: End of Year Written Examination; Continuous Assessment.


Penalties (for late submission of Course/Project Work etc.): Work which is submitted late shall be assigned a mark of zero (or a Fail Judgement in the case of Pass/Fail modules).


Pass Standard and any Special Requirements for Passing Module: 40%.


End of Year Written Examination Profile: 1 x 1 hr(s) paper(s).


Requirements for Supplemental Examination: 1 x 1 hr(s) paper(s) to be taken in Autumn. The mark for Continuous Assessment is carried forward.



« Previous | Next »

CS2510- Web Servers

Credit Weighting: 5


Teaching Period(s): Teaching Period 2.


No. of Students: Max 120.


Pre-requisite(s): CS1109


Co-requisite(s): None


Teaching Methods: 24 x 1hr(s) Lectures; 10hr(s) Practicals.


Module Co-ordinator: Prof James Bowen, Department of Computer Science.


Lecturer(s): Staff, Department of Computer Science.


Module Objective: To teach students about the architecture of servers for the Hyper Text Transfer Protocol (HTTP) and to show them how to install, manage and re-configure HTTP servers.


Module Content: Web server installation and configuration. Firewalls. Proxy servers. Access controls and permissions. Application performance monitoring. Analysis and interpretation of performance logs and reports


Learning Outcomes: On successful completion of this module, students should be able to:

  • Understand the architecture of HTTP servers
  • Install a HTTP server
  • Manage a HTTP server
  • Re-configure a HTTP server.


Assessment: Total Marks 100: End of Year Written Examination 80 marks; Continuous Assessment 20 marks (In-class Test).


Compulsory Elements: End of Year Written Examination; Continuous Assessment.


Penalties (for late submission of Course/Project Work etc.): Work which is submitted late shall be assigned a mark of zero (or a Fail Judgement in the case of Pass/Fail modules).


Pass Standard and any Special Requirements for Passing Module: 40%.


End of Year Written Examination Profile: 1 x 1 hr(s) paper(s).


Requirements for Supplemental Examination: 1 x 1 hr(s) paper(s) to be taken in Autumn. Marks in passed element(s) of Continuous Assessment are carried forward, Failed element(s) of Continuous Assessment must be repeated (as specified by the Module Coordinator).



« Previous | Next »

CS2511- Usability Engineering

Credit Weighting: 5


Teaching Period(s): Teaching Period 2.


No. of Students: Max 120.


Pre-requisite(s): CS1109


Co-requisite(s): None


Teaching Methods: 24 x 1hr(s) Lectures; 10hr(s) Practicals.


Module Co-ordinator: Prof James Bowen, Department of Computer Science.


Lecturer(s): Staff, Department of Computer Science.


Module Objective: Students will appreciate the wide range of user-interface devices and style and their effect on the human user. Students will learn how to analyse, design and implement systems with proper regard to the human user.


Module Content: Human perception and human memory. User-centred design. Screen design. Dynamic interaction and dialogue design. Help systems. Accessibility. Specification and modelling; software architectures; evaluation methodologies.


Learning Outcomes: On successful completion of this module, students should be able to:

  • Understand the role of human perception and memory in human-computer interaction and be able to apply this knowledge to interface design;
  • Understand the use of Guidelines, Metrics, Modelling and User-Centered-Design in the development of user interfaces, and be able to select and employ appropriate techniques for specific purposes;
  • Design and conduct both informal and controlled user-studies, and to analyse and interpret the resulting data.


Assessment: Total Marks 100: End of Year Written Examination 80 marks; Continuous Assessment 20 marks (1 x Laboratory Assignment, 10 marks; 1 x In-Class Test 10 marks).


Compulsory Elements: End of Year Written Examination; Continuous Assessment.


Penalties (for late submission of Course/Project Work etc.): Work which is submitted late shall be assigned a mark of zero (or a Fail Judgement in the case of Pass/Fail modules).


Pass Standard and any Special Requirements for Passing Module: 40%.


End of Year Written Examination Profile: 1 x 1 hr(s) paper(s).


Requirements for Supplemental Examination: 1 x 1 hr(s) paper(s) to be taken in Autumn. The mark for Continuous Assessment is carried forward (with the exception of failed non-laboratory elements which must be repeated as specified by the Module Coordinator).



« Previous | Next »