BSc Computing Systems - Course Information

The overall aim of this part-time course is to provide a wide-ranging education in computing systems, producing graduates equipped to apply best practice in software engineering to the development of a wide range of systems in organisations.

This enables graduates to embark on a professional career in computing with specific vocational skills relevant to industry needs. The course curriculum is informed by the programme's own industrial panel.

The course helps to address industry's current shortage of high quality graduates in computing, particularly those with software development skills.

Apply online at Ulster University:

Apply Now

Module Title Module Code Semester Level
PPM Project & Process Management COM674 1 6
DA Data Analytics COM681 1 6
SS Systems Security COM399 1 5
AI Artificial Intelligence COM499 1 5
PROF Professionalism & Entrepreneurship COM188 1 4
MATH Mathematics for Computing COM115 1 4
CSP1 Computing Systems Project - Semester 2-3 COM667 2 6
WAD Web Applications Development COM549 2 6
DWA Dynamic Web Authoring COM458 2 5
SD2 Software Development 2 COM410 2 5
SD1 Software Development 1 COM161 2 4
DATA Database Systems COM116 2 4
CLOUD Cloud Native Development COM682 3 6
CSP2 Computing Systems Project - Semester 2-3 COM667 3 6
N&C Networks and Communications COM444 3 5
SD Systems Development COM397 3 5
SA Systems Architecture COM181 3 4
HCI Human Computer Interaction COM133 3 4
  • 6
  • 5
  • 4
  • Project & Process Management
    Level: 6

  • Data Analytics
    Level: 6

  • Systems Security
    Level: 5

  • Artificial Intelligence
    Level: 5

  • Professionalism & Entrepreneurship
    Level: 4

  • Mathematics for Computing
    Level: 4

  • Computing Systems Project - Semester 2-3
    Level: 6

  • Web Applications Development
    Level: 6

  • Software Development 2
    Level: 5

  • Dynamic Web Authoring
    Level: 5

  • Software Development 1
    Level: 4

  • Database Systems
    Level: 4

  • Cloud Native Development
    Level: 6

  • Computing Systems Project - Semester 2-3
    Level: 6

  • Networks and Communications
    Level: 5

  • Systems Development
    Level: 5

  • Systems Architecture
    Level: 4

  • Human Computer Interaction
    Level: 4

Computer-related professionals need to be aware of a wider range of issues that go beyond the mere technical knowledge necessary to practice their chosen discipline. They should have knowledge of government legislation affecting their work, along with a series of transferable skills that facilitate the successful completion of their course of study and the seeking of employment upon course completion.

This module is designed to make future computing professionals aware of the nature of the professional working environment, as well as to increase students’ awareness of the issues raised by the spread of computer and communication technologies into all aspects of life.

This module introduces programming to students who are assumed to have no previous experience in any aspect of software development. Students are introduced to key concepts in object-oriented programming. It begins by concentrating on the terms and techniques used in object-orientated programming. This will then be reinforced by practical use of existing pre-defined classes. The students will develop the techniques and knowledge necessary to design and write simple programs. The software engineering principles and techniques will be interwoven with the introductory topics.

This module introduces the core areas of mathematics that form the foundation of computer science. The main areas of discrete mathematics are covered including logic, numbers, set theory, relations, matrices and probability. The use of discrete mathematics within different areas of computing is introduced. Successful completion of this module provides students with the mathematical skills they require in other modules.

Fundamentally, computer systems consist of hardware which facilities the operation of software. Knowing how hardware works and what options were available to the hardware designer will enhance a student's understanding of a computer system, and influence decisions about software design. To understand how software is executed will also enhance understanding of how systems work.

Human-computer interaction is the study of how humans interact with digital technologies which can include both computer hardware and software. In recent decades, it has become evident that usability and intuitive design of user interfaces significantly influence the acceptance and adoption of digital products. As a result, this module will comprise a knowledge base in interaction design and cognitive ergonomics in order to enable students to consider the cognitive ability of humans as well as considering well established human computer interaction heuristics and design principles.

Students will also develop a good understanding of usability engineering and usability testing which is an empirical approach to measuring usability and is a key skill for user research within the industry. The module will also cover current and future user interfaces such as those that are considered natural and/or intelligent or adaptive. Many advanced user interfaces are also emerging, for example those that use brain signals, audio, eye gaze and head tracking to name but a few.

Flexible and efficient storage and retrieval of large amounts of data is central to the functioning of modern information systems. This module is devoted to the study of design, construction and use of databases systems to facilitate this.

Computing systems are ubiquitous in both our work and personal lives. Reliance in society on computing systems can only be maintained through assurance of the integrity, sustainability, resilience and confidentiality of such systems. Consequently, the area of cyber security is a critical field with great relevance in computing and engineering.

This module engages students in security concerns and challenges in computing systems; covering security threats, attacks, risks and how to mitigate them. This is supported through a review of background concepts for security and the systems required to implement such measures. Further, it covers security architecture planning so that considerations for security risk assessment is taken into account and embedded in IT projects planning and management.

Object-oriented programming (OOP) approaches are widely embedded within the IT industry and are therefore an essential skill expected of computing graduates. This module builds upon the concepts introduced in Software Development I and explores, in-depth, the fundamentals of object-oriented programming.

A range of both theoretical and practical competencies, required for the successful design and implementation of software, including knowledge and understanding of algorithms and data structures, are presented. These programming concepts are interwoven within the development of practical skills in good programming practice, software design and testing methodologies. Students are also introduced to best-practice approaches for maintaining software security.

Artificial intelligence (AI) is a branch of computer science that aims to understand intelligence and to make intelligent machines. The subject is divided into subfields focusing on (1) the solution of specific problem (2) one of several possible approaches (3) the use of widely differing tools and (4) the accomplishment of particular applications. The central problems of AI include such traits as knowledge, reasoning, planning, learning, communication, perception and the ability to move and manipulate objects. Currently popular approaches include statistical methods, computational intelligence and traditional symbolic AI.

There are an enormous number of tools used in AI, including versions of search and mathematical optimization, logic, methods based on probability and economics, and many others. AI has become an essential part of the technology industry, providing the heavy lifting for many of the most difficult problems in computer science. Therefore there is a need to provide students with the necessary knowledge and skills required to understand the core areas of AI, to solve real world problem more “intelligently”, and ultimately to build intelligent artefacts.

The purpose of this module is to introduce students to core areas of AI with a focus on (1) the structures, resources and processes that together make up an intelligent agent; (2) the techniques, models and tools that can be used to simulate the “intelligent” processes; and (3) the skills and capabilities necessary to critically review AI literature and/or products, to synthesise ideas, to systematically solve AI problems and to communicate effectively.

An expositional module on the topics of Networks and Communications to educate Computing students on the fundamental principles, latest trends, and commercial needs in the sector. This module is essential to understand the current industrial needs and to hone the central insight required of graduates.

NETWORKS - The ubiquitous use of LANs, the Internet and cloud computing/virtualisation requires an understanding of the underlying communication protocols and the issues involved in their management. In this module the emphasis will be on network, design, planning, and management. Issues such as performance, detection of faults and security management are emphasised.

COMMUNICATIONS - The Communications portion of the module is designed to enable the student to develop a good understanding and wide-ranging awareness of the engineering principles behind the design and key operational factors of modern wireless communication systems. The student will understand various aspects of modern communications strategies and techniques to transmit data and receive it effectively.

A proper balance of understanding and deployment of Agile development, traditional development and solution procurement is imperative for successful systems development across varying application areas. This module will focus on robust modelling, design, testing and implementation both in Agile and traditional contexts.

Computer programming is a fundamental skill expected of computing graduates. This module will introduce students to the foundational concepts of dynamic web programming that will be used as building blocks in future modules. Students will also develop and enhance their problem solving skills as an integral part of the module.

An understanding of the process perspective of problem solving is becoming increasingly important for modern systems engineers. Planning, implementing, and deploying organizational process improvements based on an understanding of strengths and weaknesses of an organization’s processes is fundamental in today’s competitive commercial environment. A significant element of such also contributes towards Project Manager career path.

Practical project management skills are essential for the information technology (IT) and information systems (IS) practitioner and are relevant to all types of IT/IS project, from individual project work through to large commercial projects. This module provides the knowledge and skills necessary to embark on organisational change and improvement, as well as presenting modern project management principles and techniques as a means to help deliver successful software development projects.

Data analytics and data science practices are fundamental to data-driven and data-informed industries. Data analytics is core to computing science and involves a programmatic approach to exploratory data analysis, statistical modelling and data mining. It is important for students to understand the types of data (structured and unstructured) and the types of variables that make up datasets. They should also appreciate descriptive and inferential statistics, probability distributions and the grammar of visual analytics in order to understand patterns and associations. Understanding the principles of data governance, handling personal data, data sharing and how data can be misused are also important topics to the ethical data scientist.

Students are required to undertake a major project during the final year of the course. This module allows a selected topic area solution to be investigated in depth. Students will have the opportunity to integrate and apply learning from other modules in the course.

The module allows students to develop a comprehensive approach to all aspects of working on a large project and exercise the stages of an entire development cycle. The project also encourages an entrepreneurial mind-set and professional approach. The module offers students an opportunity to develop a realistic and meaningful piece of work during their final year.

This module aims to explore a range of modern development and deployment concepts in the context of scalable and high-performance computing services.

Within this module concepts such as cloud architectures, hosted technologies, scalable solutions and infrastructure will be explored. Additionally, advanced programming/development concepts facilitating high-performance solution development will be examined.

Students are required to undertake a major project during the final year of the course. This module allows a selected topic area solution to be investigated in depth. Students will have the opportunity to integrate and apply learning from other modules in the course.

The module allows students to develop a comprehensive approach to all aspects of working on a large project and exercise the stages of an entire development cycle. The project also encourages an entrepreneurial mind-set and professional approach. The module offers students an opportunity to develop a realistic and meaningful piece of work during their final year.

Web applications development is a mature field within software development that has been evolving rapidly. The focus of this module is to complement the fundamental and essential learning undertaken in Database Systems and Dynamic Web Authoring through the introduction, understanding and application of fundamental server-side software development.

Students will gain understanding of theoretical concepts in conjunction with the acquisition of core software development skills through practicals. By completing this module students will be expected to become a full stack software developer in the area of web application development.