The following third year level modules are offered:


Advanced Data Structures 


Core content of the WRA301 module:

In WRA301, you will learn about data structures and algorithms at an advanced level. An algorithm is an abstract specification of a method to solve a problem, generally following a finite sequence of predictable steps and executable within a finite time interval (although this is not mandatory). The problem must be one that can be solved by means of a computer. An algorithm may produce a unique solution or one of a set of possible solutions, or multiple solutions. Solving a problem in this manner involves performing operations on data. The data are organised in data structures that may range from simple to very complex, and the steps in algorithms deal with operations on their associated data structures, creating, manipulating and destroying them to arrive at a problem solution.

Algorithms can be expressed in natural languages or programming languages, or something between these two extremes. The most useful and productive way to think about and work on algorithms is to use a programming language or some simplified form of a programming language to express them. Discussions of algorithms can be expressed in natural language or mathematics or a combination of these. It is useful to express data structures using diagrams of some kind, with explanations expressed in natural language or mathematics or a combination of these. These diagrams frequently map onto mathematical structures like queues and trees.

On completion of the WRA301 module, the student should be able to :

  1. Dictionaries
    • The dictionary interface
    • Unit cost dictionaries: hash tables
    • Ordered dictionaries and tables
  2. Graphs
    • Terminology
    • The graph interface
    • Selected graph algorithms
  3. Balanced search trees
    • 2-3 trees
    • 2-3-4 trees
    • Red-black trees
    • AVL trees
Module Code Prerequisites


WRA202, WRI202, WRC201 and
[(MATH101, MATH102 and MATH104) or (MATB101 and MATB102)]


Advanced Programming 

(WRAP301, WRAP302)

Core content of the WRAP301 & WRAP302 modules:

Advanced Programming 3 consists of two modules: WRAP301, presented during the first semester and WRAP302, which is presented during the second semester. These modules introduce you to a new programming language, namely Java, as well new programming concepts. The modules will cover the following topics:

  • Advanced object-orientated programming
  • Event-driven programming
  • Graphical User interfaces
  • Multi-threaded applications
  • Client-Server (and database) programming
Module Code Prerequisites


WRA202, WRC201, WRI202 and
[(MATH101,MATH102 and MATH104) or (MATB101 and MATB102)]




ERP Systems 

(WRER301, WRER302)

Core content of the WRER301 module:

  • Describe the functions and components provided by ERP modules.
  • Discuss the evolution of ERP systems.
  • Compare the advantages and drawbacks of ERP systems.
  • Understand the role of stakeholders in the ERP implementation process.
  • Explain issues of customization versus adoption of vendor software as is.
  • Comprehend the ethical, global and security challenges while implementing an ERP system.
  • Identify ERP system options and selection methods.
  • Identify criteria used for selecting ERP vendors and software
  • Perform hands-on exercises with an ERP system to create master and transactional data in the financial, procurement and inventory modules.

Core content of the WRER302 module:

  • Analyse an ERP development environment
  • Compare the purpose of various data dictionary components
  • Analyse and define data for and in an ERP system
  • Explain and implement a knowledge of modularization and integration in an ERP system
  • Design transactions with user data input screens
  • Be able to define user friendly selection screens for interactive reports
  • Practice drill down reporting techniques
  • Practice using ERP report components
Module Code Prerequisites


WRFC102, WRBP201, R102/RG102




Database Systems 


Core content of the WRDB301 module:

This module builds on the introductory database concepts which were introduced in second year in WRI202 and presents some advanced topics such as advanced SQL, distributed databases and data warehouses. It also explores the tools, techniques and best practices for developing modern database systems.

Module Code Prerequisites


WRI202 and (WRA202 or WRWS202)


Languages & Automata Theory 


Core content of the WRL301 module:

The primary objective of this course is to provide students with an understanding of the theory of automata, grammars and formal languages.

Course Code Prerequisites


WRA202, WRC202, WRI202 and
[(MATH101,MATH102 and MATH104) or (MATB101 and MATB102)]


Management Information Systems 

(WRB301, WRB302)

Core content of the WRB301 & WRB302 modules:

The WRB301 module will equip students with the knowledge to become an active participant in information systems decisions. Issues for understanding the links between IT and business as well as issues relating to the building of an IS strategy are discussed. Specific topics such as IS architecture, E-Commerce, IS Department organization, Knowledge management and IT governance issues are also explored.

The WRB302 module will explore issues relating to the implementation and management of a range of information systems within an organisation. Topics include approaches to building IS, IS project management, costs and benefits of IS, ethical considerations and the impact of new technology and trends.

Module Code Prerequisites


WRI202 and WRBA202 and EB101 and
[(MATH101,MATH102 and MATH104) or (MATB101 and MATB102)] 




Multimedia Systems 

(WRMS301, WRMS302)

Multimedia (MM) is an interdisciplinary field that deals with computer-based systems that create, process, store, present and communicate information digitally in multiple representations (media). WRMS301 focuses mostly on the production techniques for MM artifacts and to a lesser extent on the underlying software and hardware support for MM (operating system, database, processor, network, etc.).

WRMS302 focuses on more advanced production techniques for MM artifacts and to a lesser extent on the underlying computer hardware and software support for MM (processor, network, operating system and database, etc.).

Core content of the WRMS301 module:

  1. Introduction to MM
  2. Introduction to MM authoring paradigms, authoring systems and programming using an authoring system
  3. Principles of MM communication and human-computer interaction (HCI)
  4. Introduction to MM techniques:
    • Principles of typography
    • Introduction to graphic design (images (still pictures) and graphics (synthetic pictures))
    • Introduction to digital audio
  5. Social, cultural and legal issues of new media
  6. MM project portfolio (concurrent development with 1—5 on an individual basis, submitted for evaluation at the end of the module)

Core content of the WRMS302 module:

  1. Introduction to MM design and production
  2. Advanced MM programming using an authoring system
  3. Advanced MM techniques
    • 2-D and 3-D graphic design
    • Animation
    • Digital video production
  4. MM title project portfolio (concurrent development with 1—3 on individual basis, submitted for evaluation at end of module)
Module Code Prerequisites


WRWS202 or WRWD202






Core content of the WRR301 module:

  • Interpret usability, functional and data requirements;
  • Interpret UML models
  • Apply techniques to analyse, design and implement an information system
  • Critically analyse the design of a system
  • Document analysis, design and implementation of a project
  • Demonstrate the implementation of an information system
  • Use relational database software with relevant front-end tools
  • Use presentation tools and technology to present your final project
  • Assess the presentation of progress by peers
  • Function effectively in a team environment
Course Code Prerequisites


WRI202 and (WRA202 or WRWS202) and co-enrolment of both [WRDB301 and WRUI301]


User Interface Design 


Core content of the WRUI301 module:

This course provides an in-depth knowledge and understanding of the issues involved in the design, implementation and evaluation of user interfaces (UI) for interactive systems. These include current and next-generation interactive technologies such as the Web, mobile and wearable computing.

On successful completion of this course, the student should have gained an understanding of the issues involved in the process of user interface design, implementation and evaluation of interactive systems. As part of the interface design process, students will be required to make use of design tools, for example sketchbooks, scrapbooks, portfolios and project walls. In addition the student should have gained some experience in designing a simple UI for an interactive system with a User Interface Management System (UIMS) such as Microsoft C#, Visual Basic or FrontPage.

Module Code Prerequisites


WRI202 and (WRA202 or WRWS202)