Module Code
CSC1033
From driving cancer research forward to accurately predicting the weather, Computer Scientists are powering progress. In fact everything from social care to cybersecurity or even space travel, relies on the talents of Computer Science graduates. We would say the sky is the limit, but we’re already well beyond that!
A degree in Computer Science teaches you to approach technical problems creatively. It also gives you the information and understanding to find ground-breaking solutions to the world’s emerging problems. The course will also equip you with the practical skills to approach the specification, design, construction and use of computer systems.
In an ever changing technological climate, the Computer Science degree programme is constantly evolving to anticipate emerging digital breakthroughs. You will cover topics like machine learning, augmented reality and data analytics, but also receive a grounding in skills like hardware architecture, software engineering and simulation & modelling too.
Employer experience is paramount in this this course, from day one you will learn from prospective employers about ‘real world’ challenges. Industry placements, company sponsored hackathons and project based learning form a core part of the curriculum and vastly improve our graduate employability rates.
Ranked in the top 175 in the world (Times Higher Education World University Rankings 2020)
Our students are constantly given the opportunity to put theory into practice. Engagement with future employers is encouraged, from day one. For example, The School has links with over 500 IT companies both here and abroad, This benefits our students on many levels through providing industrial input into our degree content, summer and year-long placements and competitions organised by future employers.
The School has a number of very strong research groups engaged in leading edge technology. Major new research centres have been established in Secure Information Technologies (the UK Centre of Excellence), Electronics, Telecommunications and Information Technology (ECIT), e-Science and in Sonic Arts
Due to the high demand for Computer Science graduates, some 15–20 scholarships are available, including some sponsored by Civica, Citi and Liberty IT, worth up to £25k. All provide for a cash stipend each academic year, a guaranteed industrial placement, an opportunity for additional
part-time work during the academic year, plus the opportunity of a permanent position on graduation.
(For further information on these and other scholarships available, see the School Website.)
Georgia Clarke (BSc Computer Science with Year of Professional Placement)
Attraction to QUB
What attracted me to QUB in the first place was the fact that a Russell Group University was so close to home. Before coming to QUB I attended many of their open days, hearing from computer science students who were happy enough to answer all of the burning questions I had on what it was like doing computer science at QUB, it was very informative and allowed me to confidently decide that QUB was the university I wanted to go to for furthering my education.
Positive Experience during studies
What particularly was a positive experience during my studies so far has been the help received throughout my time at QUB. As someone who had no prior experience in programming, my modules taught from a point of view where it was assumed that there was no prior knowledge of programming, which was perfect for me and everyone else who might’ve had no prior experience.
Placement
As a second-year student I managed to secure my placement in November 2020 as a Technical Specialist Intern at Microsoft, Dublin, to take place from September 2021 to September 2022.
Engaging in extracurricular activities
I have previously been a member of the Queen’s Computing Society, which would hold events such as weekly “Tech-Talks”, hackathons and sometimes even game nights. Since Covid-19 has had an impact on many extracurricular activities, activities such as these have now been made remote. Although I have also been involved in AWS Educate this year to expand on my knowledge of cloud computing, which also allows me to learn at my own pace.
One piece of advice to potential EEECS applicants
One piece of advice I would give to someone looking to study at EEECS would be to just go for it! Not only is there a big job market for the IT sector, but there is a push for more women to occupy more jobs in this sector, with many opportunities, such as scholarships, being offered through QUB exclusively for female students within the school of EEECS.
Going forward
Going forward, I hope to utilize my degree not only in the world of technology but also in the world of business. In pursuing a degree such as computer science, it does not only limit you to jobs in just computers (i.e. software and/or hardware engineering), but also to jobs involving mostly computers.
If you had a time machine, and could go back to your first day at Queen’s, what would you do differently? (If anything!)
If I had a time machine to go back to my first day at QUB, I would’ve tried to have acquainted myself with many more people on my course. Seeing as there are so many EEECS students who share the same modules, particularly in first year, people you meet on the first few days of your course will most likely make continuous appearances in most of your classes! This will help you when it comes to teamworking skills and group assignments – so reach out!
NEXT
Course content
These degrees aim to teach the fundamental principles of Computer Science, together with the necessary skills, tools and techniques to enable our graduates to embark on careers as professional software engineers, or to become suitably qualified to undertake research in Computer Science. As with all of our courses, industrial engagement forms an integral part, balancing academic theory with practical learning.
Single Honours BEng/BSc students spend a year on a paid, full-time placement - the School has links with over 500 local, national and international employers, eg BT, Liberty IT, Asidua, Kainos (Belfast), IBM (England), Microsoft, Sun Microsystems (Dublin), Fujitsu (Japan) and Siemens (Germany), and students are assisted in obtaining placements.
The School has a world class reputation for research and provides excellent facilities, including access to major new research centres in Secure Information Technologies, Electronics, Communications and Information Technology and Sonic Arts. A number of modules on the course are closely linked to the research expertise of these centres and evolve and change rapidly to reflect some of the current, emerging and exciting developments in the field.
At Queen’s, we aim to deliver a high quality learning environment that embeds intellectual curiosity, innovation and best practice in learning, teaching and student support to enable student to achieve their full academic potential.
On the BEng in Computer Science we do this by providing a range of learning experiences which enable our students to engage with subject experts, develop attributes and perspectives that will equip them for life and work in a global society and make use of innovative technologies and a world class library that enhances their development as independent, lifelong learners. Examples of the opportunities provided for learning on this course are:
Students have access to a wide range of computers in world class laboratories (equipped with several hundred PCs) and specialised software packages. Networks link the School and university computers to powerful machines in Great Britain.
Details of assessments associated with this course are outlined below:
As students progress through their course at Queen’s they will receive general and specific feedback about their work from a variety of sources including lecturers, module co-ordinators, placement supervisors, personal tutors, advisers of study and peers. University students are expected to engage with reflective practice and to use this approach to improve the quality of their work. Feedback may be provided in a variety of forms including:
The information below is intended as an example only, featuring module details for the current year of study (2024/25). Modules are reviewed on an annual basis and may be subject to future changes – revised details will be published through Programme Specifications ahead of each academic year.
• Computer Abstractions and Technology
• Basic computer organisation
• Digital Design Basics
• Number Representation
• Arithmetic for Computers
• Microarchitecture Basics – Pipelining
• Instructions: Language of the CPU
• Instruction Set Architectures
• Basic Assembly Programming
• Compilation Flow (how high-level languages are operated)
• The role of the operating system
• Describe how information (e.g. numbers, characters etc.) is represented in computers.
• Describe the internal hardware organisations that form a computer.
• Describe how a high level program is executed in a computer, including the role of the operating system
• Implement basic assembly language programs
• Describe some of the fundamental differences between instruction set architectures
Application of Number, ICT, Improving Own Learning and Performance, Problem Solving, Design and Implementation of solutions, Programming
Coursework
100%
Examination
0%
Practical
0%
20
CSC1033
Autumn
12 weeks
This module introduces essential concepts and skills for developing data-driven web applications, covering relational and NoSQL databases, and client-side technologies (HTML, CSS, JAVAScript). Emphasizing best practice software design principles, development activities are underpinned by industry standard approaches to software modelling, designing methodologies, software testing principles and key security considerations. Additionally, this module fosters transversal skills such as communication, teamwork, problem-solving and agility in a team environment. Aimed at providing a strong technical and theoretical foundation, this module equips students for the dynamic field of web development and software design, blending technical competencies with essential soft skills for the software industry.
Upon successful completion of this module, students will be able to:
1. Design and implement relational and NoSQL databases, understanding their respective use-cases and benefits,
2. Develop interactive web pages using HTML, CSS and JavaScript, adhering to modern web standards .
3. Employ fundamental software design and testing principles in the development process, integrating modelling techniques, design methodologies, and ensuring code reliability and functionality.
4. Understand and apply fundamental principles of security in web development and database management, recognising common vulnerabilities and learning to implement basic protective measures.
5. Apply and evaluate the transversal skills associated with software development including effective communication, teamwork, problem-solving, and adaptability in a team environment.
Design and implementation of modern data driven systems considering technical and environmental aspects.
Coursework
60%
Examination
40%
Practical
0%
20
CSC1034
Spring
12 weeks
This module will introduce the fundamentals of maths for students studying a computing degree. As you progress through your nominated degree you will need to understand the concepts of algorithms design, logical reasoning and programming. Therefore, it is necessary to understand how to apply mathematical arguments and knowledge to model real world problems. This module will also cover key mathematical concepts for problem solving and analysis including: number theory, algebra, logic, set theory, vectors and matrices, statistics and graph theory. This will allow you to apply mathematical reasoning about problems and programs and strategies for problem solving.
Students must be able to:
• Demonstrate knowledge, understanding and the application of the principles of number theory to include:
o Number systems, arithmetic operations, prime numbers, fundamental theorem of arithmetic.
• Demonstrate knowledge, understanding and the application of the principles of algebra to include:
o Algebraic expressions and notation for the product and summation of algebraic terms.
• Demonstrate knowledge, understanding and the application of the principles of logic to include:
o Propositional logic, predicate logic and proofs.
• Demonstrate knowledge, understanding and the application of the principles of set theory to include:
o Sets, set operations, set equality, subsets, sequences and functions.
• Demonstrate knowledge, understanding and the application of the principles of vectors & matrices to include:
o Addition, multiplication, distributive and associativity, and identity matrix.
• Demonstrate knowledge, understanding and the application of the principles of statistics to include:
o Probability theory and introductory methods for data analysis.
• Demonstrate knowledge, understanding and the application of the principles of graph theory to include:
o Graph models, trees, paths, cycles, Euler's theorem.
Coursework
60%
Examination
0%
Practical
40%
20
CSC1026
Autumn
12 weeks
Introduction and Cybersecurity concepts
Access control and authentication
Risk Assessment/Management
Social Engineering
Basic Crypto Systems
Weaknesses of cryptosystems
Cryptosystems in GSM technology
Understand the core principles of secure information system design.
Identify and analyse the current threats and challenges to the security of information systems, data and services.
Evaluate system protection technologies and methods.
Apply knowledge of cryptographic algorithms to provide data confidentiality.
Improving Own Learning and Performance, Problem Solving, planning and researching assignments, design and implementation of solutions
Coursework
100%
Examination
0%
Practical
0%
20
CSC1032
Spring
12 weeks
This module introduces the fundamentals of procedural programming. Using a problem-solving approach, real-world examples are explored to promote code literacy and good algorithm design. Students are introduced to the representation and management of primitive data, structures for program control and refinement techniques, which guide the development process from problem specification to code solution.
Students must be able to:
• Demonstrate knowledge, understanding and the application of the principles of procedural programming, including:
o Primitive data types (including storage requirements)
o Program control structures: Sequencing, selection and iteration
o Functions/methods and data scope
o Simple abstract data structures, i.e. strings and arrays
o File I/O and error handling
o Pseudocode and algorithm definition/refinement
• Apply good programming standards in compliance with the relevant codes of practice e.g. naming conventions, comments and indentation
• Analyse real-world challenges in combination with programming concepts to write code in an effective way to solve the problem.
KNOWLEDGE & UNDERSTANDING: Understand fundamental theories of procedural programming
INTELLECTUAL AND PRACTICAL:
• Be able to design and develop small programs, which meet simple functional requirements expressed in English.
• Programs designed, developed and tested will contain a combination of some or all of the features as within the Knowledge and Understanding learning outcomes.
Coursework
100%
Examination
0%
Practical
0%
20
CSC1025
Autumn
12 weeks
This module introduces the fundamentals of object-oriented programming. Real-world problems and exemplar code solutions are examined to encourage effective data modelling, code reuse and good algorithm design. Fundamental OO programming concepts including abstraction, encapsulation, inheritance and polymorphism are practically reviewed through case studies, with an emphasis on testing and the use of code repositories for better management of code version control.
Students must be able to:
• Demonstrate knowledge, understanding and the application of the principles and application of object-oriented design, to include:
o Abstraction, encapsulation, inheritance and polymorphism
• Demonstrate knowledge of static data modelling techniques (through UML)
• Demonstrate knowledge, understanding and the application of the principles and application of object extensibility and object reuse.
• Demonstrate knowledge, understanding and the application of more advanced programming concepts, to include:
o Recursion
o Searching and sorting
o Basic data structures
• Demonstrate knowledge, understanding and the application of testing, in particular, unit and integration testing.
• Apply good programming standards in compliance with the relevant codes of practice and versioning tools being employed e.g. naming conventions, comments and indentation
• Analyse real-world challenges in combination with OO programming concepts to write code in an effective way to solve the problem.
KNOWLEDGE & UNDERSTANDING: Understand fundamental theories of object-oriented programming
INTELLECTUAL AND PRACTICAL:
• Be able to design, develop and test programs, which meet functional requirements expressed in English.
• Programs designed, developed and tested will contain a combination of some or all of the features as within the Knowledge and Understanding learning outcomes.
Coursework
50%
Examination
20%
Practical
30%
20
CSC1027
Autumn
12 weeks
This module introduces the fundamentals of object-oriented programming. Real-world problems and exemplar code solutions are examined to encourage effective data modelling, code reuse and good algorithm design. Fundamental OO programming concepts including abstraction, encapsulation, inheritance and polymorphism are practically reviewed through case studies, with an emphasis on testing and the use of code repositories for better management of code version control.
Students must be able to:
• Demonstrate knowledge, understanding and the application of the principles and application of object-oriented design, to include:
o Abstraction, encapsulation, inheritance and polymorphism
• Demonstrate knowledge of static data modelling techniques (through UML)
• Demonstrate knowledge, understanding and the application of the principles and application of object extensibility and object reuse.
• Demonstrate knowledge, understanding and the application of more advanced programming concepts, to include:
o Recursion
o Searching and sorting
o Basic data structures
• Demonstrate knowledge, understanding and the application of testing, in particular, unit and integration testing.
• Apply good programming standards in compliance with the relevant codes of practice and versioning tools being employed e.g. naming conventions, comments and indentation
• Analyse real-world challenges in combination with OO programming concepts to write code in an effective way to solve the problem.
KNOWLEDGE & UNDERSTANDING: Understand fundamental theories of object-oriented programming
INTELLECTUAL AND PRACTICAL:
• Be able to design, develop and test programs, which meet functional requirements expressed in English.
• Programs designed, developed and tested will contain a combination of some or all of the features as within the Knowledge and Understanding learning outcomes.
Coursework
50%
Examination
20%
Practical
30%
20
CSC1029
Spring
12 weeks
This module introduces the concepts and techniques involved in developing embedded systems including small-board computers and IoT devices. It will include an introduction to microcontroller electronics and printed circuit boards as well as an introduction to the programming of embedded systems.
On successful completion of the course the student will:
- understand the basis structure of a computer program suitable for deployment in an embedded system.
- understand the basic structure of an MCU (Microcontroller Unit).
- understand how to develop software for the MCU.
- understand how basic analogue and digital interface circuits are designed for an MCU.
- understand how to develop event-driven ISR (Interrupt Service Routines).
- understand in general how Printed Circuit Boards (PCBs) are designed and constructed.
The skills developed by the students during this course are as follows:
- How to use an IDE (Integrated Development Environment) for developing embedded software programs.
- Understand how to edit, compile and test/debug simple embedded programs.
- Design simple programming routines to carry out real-world tasks.
- Understand how to design simple embedded systems to solve real-world problems.
Coursework
100%
Examination
0%
Practical
0%
20
CSC1035
Spring
12 weeks
• Data structures: Stacks, Lists, Queues, Trees, Hash tables, Graphs, Sets and Maps
• Algorithms: Searching, Sorting, Recursion (with trees, graphs, hash tables etc.)
• Asymptotic analysis of algorithms
• Programming languages representation and implementation
• Demonstrate understanding of the operation and implementation of common data structures and algorithmic processes (including stacks, lists, queues, trees, hash tables, graphs, sets and maps, alongside searching, sorting and recursion algorithms).
• Select, implement and use data structures and searching, sorting and recursive algorithms to model and solve problems.
• Perform asymptotic analysis of simple algorithms.
• Demonstrate understanding of the fundamentals of programming languages representation, implementation and execution.
Problem solving by analysis, solution design and application of techniques (e.g. suitable data structures, algorithms, and implementation in C++). Precision and conciseness of expression. Rigour in thought.
Coursework
50%
Examination
0%
Practical
50%
20
CSC2059
Autumn
12 weeks
• Automata and Formal Languages
• Computability Theory (Turing Machines etc) and Decidability Theory (Halting Problem, etc)
• Complexity Theory
• Explain how computation can occur using automata such as finite state machines and Turing machines.
• Reason about algorithmic complexity and determine what problems can/cannot be solved by computers.
• Describe the correspondence amongst Languages and Automata etc.
• Use proof techniques to construct simple proofs.
Problem analysis, Problem solving. Precision and conciseness of expression. Rigour in thought. Constructing logical arguments and proofs.
Coursework
40%
Examination
60%
Practical
0%
20
CSC2060
Spring
12 weeks
• Software development as teamwork; roles and responsibilities within a team.
• The software engineering process: eliciting and specifying requirements – functional and non-functional; analysing, designing, implementing and testing software systems; deployment; maintenance.
• Software engineering in the context of sustainable development:
- understanding complex real-world problems from a social, economic and environmental perspective;
- designing sustainable real-world solutions that have a significant software element and that aspire to address the tensions between conflicting concerns.
• Contemporary software development methodologies – including:
- use-case-driven and model-based approaches; representing actors and aspects of system behaviour and architecture in the Unified Modelling Language (UML) ;
- agile and lean approaches; user stories, story estimation, sprints (planning, monitoring and review);
- hybrid approaches – e.g. combining use cases and stories.
• Specific software development techniques, tools and practices – including:
- version control software; automated tests and test-driven development; pair- and mob-programming; test coverage; continuous integration, delivery and deployment; DevOps.
• Specific investigative and problem-solving techniques, including:
- team-based, collaborative learning as part of a process of identifying and designing innovative sustainable solutions to problems identified from authentic case studies;
- gamification, game-based learning and simulation as means of representing key aspects of real-world problems and the steps in the process of formulating sustainable, software-supported, real-world solutions.
• Object-oriented design principles: evaluating the quality of a software design; questions of coupling and cohesion; configuring mechanisms of collaborating software objects.
• UI design principles: evaluating the quality of an interface design; usability and the user experience.
• Algorithmic design: formulating and representing stepwise solutions to a problem.
• Building security into the development process; awareness of and avoidance of vulnerabilities.
• Delivering reliable and secure working systems – from design to working software.
• work as a member of a collaborative, mutually supportive team;
• actively develop and deliver a non-trivial, well-engineered software system that meets its functional and non-functional requirements, including avoidance of software vulnerabilities – the software system may take the form of a game, based on a real-world problem and the process of designing its solution;
• demonstrate an ability to confront, manage and shape contemporary social, economic and ecological conditions as part of the process of developing software systems;
• understand key aspects of modern software development practices;
• critically evaluate development challenges and resolve them methodically using appropriate techniques and tools;
• realise object and algorithmic designs using an appropriate implementation language (e.g. Java, C#) and operating system (e.g. Windows, Android);
• plan and implement a test strategy that incorporates automated tests (e.g. JUnit, Visual Studio Test Explorer) and manual tests (e.g. user acceptance testing and evaluation);
• use appropriate version and project management software (e.g. Git, Trello, Jira).
Problem solving (including the ability to analyse and mitigate problems that are characterised by change, uncertainty, risk, and complexity), time management, communication skills, team working, practical skills (competent use of development software and project management software in the context of a software engineering project).
Coursework
100%
Examination
0%
Practical
0%
40
CSC2058
Full Year
24 weeks
This module will prepare students for employment by developing an awareness of the business environment and the issues involved in successful career management combined with the development of key transferrable skills such as problem solving, communication and team working. Students will build their professional practice and ability to critically self-reflect to improve their performance.
Key elements will explode legal, social, ethical and professional issues (LSEPIs) including intellectual property, computer-aided crime, data protection and privacy including GDPR, security, net neutrality, communication through technology, cultural sensitivity and gender neutrality. The British Computer Society (BCS) code of conduct will be exploded and understood.
To prepare students for employment in industry and research through developing an awareness of the business environment and key skills.
To develop and demonstrate a range of transferrable skills including communication skills, presentation, group working and problem solving.
To develop skills in critical reflection of self and others feeding into improvements.
To explore legal, social, ethical and professional issues (LSEPIs). Examples of areas to be explored will relate to: Intellectual Property, Computer Crime, Work Quality, Challenges of On-line content Quality, Digital Divide including Net Neutrality, Privacy including GDPR, Security, Globalisation, Communication through effective use of technology, Cultural Sensitivity, Gender Neutrality. British Computer Society (BCS) Code of Conduct will be explored covering Public Interest, Professional Competence and Integrity, Duty to Relevant Authority and Duty to the Profession.
Problem synthesis and resolution as an individual and as a team. Development and use of suitable communication mechanisms. Business and professional awareness.
Coursework
100%
Examination
0%
Practical
0%
20
CSC2065
Autumn
12 weeks
• Concepts of artificial intelligence and machine learning.
• Fundamentals of supervised and unsupervised learning
• Fundamentals of experimental settings and hypothesis evaluation
• The concept of feature selection
• Evaluation in machine learning
o Type I and Type II errors
o Confusion matrices
o ROC and CMC curves
o Cross validation
• Linear and non-linear function fitting
o Linear Regression
o Kernels
• Classification models:
o Nearest Neighbour
o Naïve Bayes
o Decision Trees
• Clustering models:
o k-Means
o hierarchical clustering
o Anomaly detection
• Knowledge and understanding of techniques and selected software relevant to the field of artificial intelligence.
• Ability to identify techniques relevant to particular problems in artificial intelligence and data analysis.
• Ability to discuss and provide reasonable argumentation using artificial intelligence and machine learning concepts.
• Ability to identify opportunities for software solutions in artificial intelligence and data analysis.
• Ability to solve specific data analysis problems using techniques of artificial intelligence and machine learning.
Problem and data analyses, design of logical and statistical models, application of computational techniques, understanding results.
Coursework
60%
Examination
0%
Practical
40%
20
CSC2062
Spring
12 weeks
This module will cover fundamental concepts in cyber security and systems security. By the end of this module students should grasp the core principles of secure information system design, be aware of the current threats and challenges to the security of information systems, data, and services, and understand the application of cryptographic algorithms for confidentiality, integrity, and authentication.
• Security and Vulnerability
• Modern cryptography concepts and application
o Confidentiality, integrity and availability
o Symmetric cryptography and Public key cryptography
o Authentication, digital signatures and access control
o Use of cryptography in information systems
• Introduction to secure information system design
• Threats and challenges in cyber security
o Human threats/social engineering
o Physical layer attacks
• System protection technologies and countermeasures
• Identify and analyse the current threats and challenges to the security of information systems, data, and services,
• Evaluate system protection technologies and methods,
• Apply knowledge of cryptographic algorithms to provide confidentiality, integrity, and authentication.
Problem solving, communication skills, time management, practical skills (including a base understanding of cryptography and challenges in cyber security).
Coursework
0%
Examination
100%
Practical
0%
20
CSC2056
Spring
12 weeks
• Networking fundamentals, classifications and protocols
• The Internet and World Wide Web including Client-Server approach
• Computer Network layers
• Routing algorithms/Scalable routing
• Local Area Network topologies and protocols
• Common Internet application protocols e.g., HTTP/HTTPS
• Software-Defined Networks
• Socket-based connections
• Selected networking topics e.g., Network Security, Wireless Networks, Network Resources
• Describe Computer Network layers and models such as OSI, TCP/IP.
• Describe common network protocols including TCP/IP suite e.g. IP/TCP/UDP.
• Demonstrate knowledge and understanding of routing algorithms and scalable routing.
• Demonstrate knowledge and understanding of common Internet application protocols as well as client-server network architectures.
• Demonstrate knowledge and understanding of software-defined networks.
• Demonstrate knowledge and understanding of security and resource consumption in networking.
Improving Own Learning and Performance, Problem Solving, planning and researching assignments, design and implementation of solutions
Coursework
100%
Examination
0%
Practical
0%
20
CSC2066
Spring
12 weeks
The Professional Experience Year is a compulsory part of the academic programme for students on seven of our degree courses:
BSc/BEng in Computer Science including Professional Experience
MEng in Computer Science including Professional Experience
BEng Software Engineering including Professional Experience
MEng Software Engineering including Professional Experience
BSc Business Information Technology including Professional Experience
BSc Computing and Information Technology including Professional Experience
The overall aim of the industrial placement period is to provide the student with experience in computing/business which complements the academic study in the University and contributes to their professional development. Precise objectives to achieve this aim vary from placement to placement.
Ideally the students should:
Understand the operation of industrial, commercial or government service organisations and the nature and importance of the business/computing dimension within them.
Understand the systems of communication, control and responsibility within the organisation.
Understand the systems of software quality control within the organisation.
Acquire experience of working with other people at all levels.
Have an appreciation of the organisational and administrative principles of running a business, particularly in the areas of financial control, costing and marketing (where appropriate and possible).
Further develop their personal communication skills; good use of language, accurate writing and appropriate style and manner are required.
Learn how they can best contribute to the organisation and develop their potential and self-management; appropriate application of initiative should be encouraged.
Gain experience in carrying out computing/business tasks and thus acquire confidence in applying their knowledge to the solution of real problems; in keeping with this, they should be given progressively increasing responsibility.
Understandably, students on placement will engage in widely differing activities. However, the great majority of placements allow achievement of the objectives above to a greater or lesser extent. Flexibility in arranging the placement programme is an essential requirement of many employers and the University recognises this, aiming for the maximum benefit to student and employer.
This module provides an opportunity to exercise aspects of the following skills: Communication, Team Work, Problem Solving, Business Awareness, Project Management and Professionalism within the Workplace.
Coursework
100%
Examination
0%
Practical
0%
120
CSC2034
Full Year
24 weeks
A project requiring the construction of a software system (specification, user interface design, system design and realization of system design).
On completion of this module, the successful student will have achieved the following learning outcomes, commensurate with module classification:
• Demonstrate competency in the techniques necessary for a rigorous and disciplined approach to software construction. As part of this students should demonstrate:
o an ability to analyse a problem area using a range of sources and to synthesise the relevant information into a proposed solution approach;
o innovation, creativity as well as practical and analytical skills in providing a software solution to a problem area;
o competency in implementing a substantial and robust software product and to self-manage the project;
o ability in critical appraisal of their own work in relation to a wider context; and
o ability in documentation and report writing.
KNOWLEDGE & UNDERSTANDING: Understand project management techniques and requirement analysis techniques.
INTELLECTUAL: Problem solving skills using IT skills and system design skills.
PRACTICAL: Selection and application of appropriate IT tools, application of system design and implementation techniques, delivery of a system on time, reliably and to specification.
Coursework
100%
Examination
0%
Practical
0%
40
CSC3002
Full Year
24 weeks
The Cloud Computing module will provide an opportunity for you to learn about and explore a wide range of concepts, technologies, providers, and applications of cloud computing. Initially the module will focus on concepts including how we design, deploy, and manage cloud software and infrastructure to ensure both high availability and elastic scaling (being able to go from thousands of users to millions of users seamlessly). You will learn in detail how software can be developed in such a way as to easily allow (or not) cloud deployment including concepts of functional and stateless programming. After covering general concepts and generic technologies such as containerisation for micro-services, virtualisation, and devops pipelines, the module moves on to look at specific modern cloud providers such as AWS, GCP, and Azure. You will examine the differences between these platforms, learn how to deploy to them, and also gain experience of meta tools which are platform-agnostic and can be used to specify and manage cloud estates covering multiple providers.
On completion of this module, students will be able to:
• Demonstrate knowledge, understanding and the application of:
o Core cloud concepts including data synchronisation, performance management, security, and infrastructure design
o Virtual machines and virtualisation stacks
o Container technology including coordinated container swarms and approaches
o Elastic scalable computing with automatic adjustment to load conditions
• Demonstrate knowledge, understanding and the application of the principles and application of appropriate software development considerations to ensure developed software is cloud-deployable
• Demonstrate knowledge and understanding of the principles of functional and stateless programming
• Demonstrate knowledge and understanding of the principles of modern devops pipelines including automated infrastructure, continuous integration, continuous deployment, and monitoring
• Demonstrate knowledge and understanding and the application of common widely used cloud hosting platforms and management tools
Coursework
60%
Examination
40%
Practical
0%
20
CSC3065
Autumn
12 weeks
• Cyber Security Overview
• Malware Analysis in Virtual Machines
• Basic dynamic analysis
• X86 Disassembly
• IDA Pro
• Recognising C Code Constructs in Assembly
• Malware Types
• Analyzing Malicious Window Programs
• Covert Malware Launching
• Malware Behaviour and Signatures
• Machine learning for malware detection
Students should be able to:
- Ability to perform advanced static analysis
- Ability to perform basic dynamic analysis
- Understand the different types of malware and understand their behaviour
- Understand how automated malware detection works
Problem analysis, Problem solving. Rigour in thought. Ability to work individually or as part of a team. Demonstrate increased communication, library, research, time management and organisational skills.
Coursework
0%
Examination
0%
Practical
100%
20
CSC3059
Spring
12 weeks
Concepts, techniques, and tools in software testing including: Unit testing, integration and system testing, acceptance testing, GUI testing, test coverage analysis, automated testing, test tools, test management, test organisation, test planning, test maturity and career paths in Software Testing.
On completion of this module, the successful student will have achieved the following learning outcomes, commensurate with module classification:
- Be able to understand and apply fundamental testing principles and techniques.
- Be able to develop an appropriate test plan alongside a relevant set of tests for a given piece of software against a set of defined test goals.
• Be able to efficiently organise, execute, report and evaluate a given test plan against a piece of software.
• Be able to effectively employ a range of test automation tools.
Understanding and applying various software testing concepts, techniques, and tools.
Coursework
0%
Examination
100%
Practical
0%
20
CSC3056
Spring
12 weeks
• Overview of generic machine learning pipelines
• Deep learning
o Feedforward neural networks
o Regularisation for deep learning
o Optimisation for training deep models
o Convolutional networks
o Auto-encoders
o Recurrent Networks
o Siamese Neural Network
• Evolving learned models
o Active Learning
o Transfer Learning
o Incremental Learning
• Applications of deep learning
Be able to:
• Explain when and how machine learning is useful in industry, public institutions and research.
• Know and apply state-of-art deep learning techniques.
• Demonstrate the ability to understand and describe the underlying mathematical framework behind these operations.
• Design and develop original deep learning pipelines applied to a variety of problems
• Formulate and evaluate novel hypothesis
• Analyse an application problem, considering its suitability for applying deep learning, and propose a sensible solution
• Evaluate the performance of proposed deep learning solutions through rigorous experimentation
• Analyse quantitative results and use them to refine initial solutions
• Communicate finding effectively and in a convincing manner based on data, and compare proposed systems against existing state-of-art solutions
Problem solving. Self and independent learning. Research. Working with others and organisational skills. Critical analysis. Quantitative evaluation. Mathematical and logical thinking.
Coursework
60%
Examination
40%
Practical
0%
20
CSC3066
Spring
12 weeks
• Overview of imaging and video systems and generic machine learning pipelines
• Pattern recognition problems: Verification, detection and identification
• Data pre-processing:
o Image enhancement: Normalisation. Point Operations, Brightness and contrast.
o Filtering and Noise reduction. Convolution
• Classification
o Support Vector Machines (SVM).
o Boosting and ensemble of classifiers
o RF
o Neural networks.
o Deep Learning.
• Vision-specific Feature extraction:
o Simple features
o Gradients and Edge extraction
o Colour Extraction and colour histograms
o SIFT
o Histogram of Gradients HoG
• Unsupervised learning:
o Clustering and Bag of Words for vision
o Self-organised maps
• Segmentation, tracking and post processing
o Brightness segmentation
o Motion detection; Background modelling and subtraction; Optical Flow
o Template Matching
o Tracking: Kalman Filter, Particle Filter and tracking by detection
o Introduction to time series analysis
• Dimensionality reduction techniques and latent spaces.
o The curse of dimensionality
o Principal component analysis (PCA).
o Linear discriminant analysis (LDA).
• Introduction to Deep Learning
• GPU acceleration for video processing.
• Applications:
o Video Surveillance
o Cyber-physical security
o Medical imaging
o Secure corridors.
o Pose estimation.
o Biometrics
o Face detection
o Human behaviour analysis.
Be able to:
• Explain when and how machine learning and computer vision is useful in industry, public institutions and research.
• Know and apply a range of basic computer vision and machine learning techniques.
• Demonstrate the ability to understand and describe the underlying mathematical framework behind these operations.
• Design and develop machine learning pipelines applied to computer vision applications
• Formulate and evaluate hypothesis
• Evaluate the performance of proposed machine learning solutions through rigorous experimentation
• Analyse quantitative results and use them to refine initial solutions
• Communicate finding effectively and in a convincing manner based on data, and compare proposed systems against existing solutions
Problem solving. Self and independent learning. Research. Working with others and organisational skills. Critical analysis. Quantitative evaluation. Mathematical and logical thinking.
Coursework
40%
Examination
60%
Practical
0%
20
CSC3067
Autumn
12 weeks
Introduction to Network Security
• Key concepts & principles
• Attack Types, Threats, Vulnerabilities in Internet Protocols.
• Firewalls, Access Control and Traffic Filtering
• Intrusion Detection and Prevention Systems
• Secure Network Architecture
• Internet Security Protocols
A successful student will:
• Know and understand the administration of network security;
• Know and understand the technologies involved in the design and deployment of secure networks;
• Be able to demonstrate the use of tools for network security analysis, Firewalls etc.
This module provides an opportunity to exercise aspects of the following QCA Key Skills (at proficiency Level 4): Communication, ICT, Improving Own Learning and Performance and Problem Solving.
Coursework
100%
Examination
0%
Practical
0%
20
CSC3064
Spring
12 weeks
Concurrent Programming Abstraction and Java Threads, the Mutual Exclusion Problem, Semaphores, Models of Concurrency, Deadlock, Safety and Liveness Properties. Notions are exemplified through a selection of concurrent objects such as Linked Lists, Queues and Hash Maps. Principles of graph analytics, experimental performance evaluation, application of concurrent programming to graph analytics.
To understand the problems that are specific to concurrent programs and the means by which such problems can be avoided or overcome.
To model and to reason rigorously about the properties of concurrent programs; to analyse and construct concurrent programs in Java; to quantitatively analyse the performance of concurrent programs.
Coursework
100%
Examination
0%
Practical
0%
20
CSC3021
Autumn
12 weeks
This course is a study of the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics may include performance issues and evaluation, instruction sets, processor micro-architecture and pipelining (basic design, hazards and speculation), caches, operating system support (virtual memory, exceptions, interrupts), in-order and out-of-order execution, parallel architectures and fault tolerance.
As computer scientists or software engineers understanding how a computer works and what techniques can be used to accelerate its performance is essential. The course will prepare students for jobs in the computer engineering industry and can act as a springboard to more advanced material in graduate-level courses
By the end of this course, a successful student should be able to:
• Describe computer architecture concepts and mechanisms related to the design of modern processors and memories and explain how these mechanisms interact;
• Apply this understanding to new computer architecture design problems, and;
• Evaluate various design alternatives and make a quantitative and/or qualitative argument for why one design or execution strategy is superior to other approaches.
Coursework
60%
Examination
0%
Practical
40%
20
CSC3058
Autumn
12 weeks
A rigorous approach to software development. Logical foundations. Specification of data types. Implicit and direct specification of functions and operations. Reasoning about specifications, refinement, axiomatic semantics.
To present a scientific approach to the construction of software systems.
Precision and conciseness of expression. Rigour in thought.
Coursework
30%
Examination
70%
Practical
0%
20
CSC3001
Spring
12 weeks
PREV
Course content
NEXT
Entry requirements
BBB including at least one preferred A-level (see list below) + GCSE Mathematics grade C/4
OR
ABB including at least one relevant A-level (see list below) + GCSE Mathematics grade C/4
A maximum of one BTEC/OCR Single Award or AQA Extended Certificate will be accepted as part of an applicant's portfolio of qualifications with a Distinction* being equated to a grade A at A-level and a Distinction being equated to a grade B at A-level.
H3H3H3H3H4H4/H3H3H3H3H3 including at least one preferred Leaving Certificate subject at grade H3 (see list below) + Ordinary Level grade O4 in Mathematics if not offered at Higher Level
OR
H3H3H3H3H3H3/H2H3H3H3H3 including at least one relevant Leaving Certificate subject at grade H3 (see list below) + Ordinary Level grade O4 in Mathematics
Successful completion of Access Course with an average of 65% in a computing or mathematical Access Course + GCSE Mathematics grade C/4 or equivalent in Access Course
OR
Successful completion of Access Course with an average of 70% in a scientific Access Course + GCSE Mathematics grade C/4 or equivalent in Access Course
32 points overall including 6,5,5 at Higher Level to include at least one preferred Higher Level subject (see list below)
OR
33 points overall including 6,5,5 at Higher Level to include at least one relevant Higher Level subject (see list below)
If not offered at Higher Level/GCSE then Standard Level grade 4 in English and Mathematics would be accepted.
A relevant computing QCF Level 3 BTEC Extended Diploma (180 credits), with DDD + GCSE Mathematics grade C/4.
OR
A relevant computing RQF Level 3 BTEC National Extended Diploma (1080 Guided Learning Hours (GLH)), with DDD + GCSE Mathematics grade C/4.
OR
A relevant engineering or scientific QCF Level 3 BTEC Extended Diploma (180 credits), with D*DD + GCSE Mathematics grade C/4.
OR
A relevant engineering or scientific RQF Level 3 BTEC National Extended Diploma (1080 Guided Learning Hours (GLH)), with D*DD + GCSE Mathematics grade C/4.
For applicants offering a relevant HNC, the current requirements are successful completion of the HNC with 2 Distinctions and remainder Merits.
Applicants are also required have GCSE English Language and Mathematics at grade C/4.
For those offering a relevant Higher National Diploma, there may be the possibility of advanced entry to Stage 2 depending on relevance of the HND. Where offers are made for entry to Stage 2 students would be required to achieve 4 Distinctions, 8 Merits and 4 Passes. Those not eligible for entry to Stage 2 would be considered for entry to Stage 1 on an individual basis.
For those offering a relevant Foundation Degree, there may be the possibility of advanced entry to Stage 2 depending on relevance of the Foundation Degree and first year results (an average of 60% with no less than 55% in any module). Where offers are made for entry to Stage 2 students would be required to achieve an average of 65% in final year modules and no less than 60% in any final year module. Those not eligible for entry to Stage 2 would be considered for entry to Stage 1 on individual basis.
Applicants are also required have GCSE English Language and Mathematics at grade C/4.
A minimum of a 2:2 Honours Degree, provided that subject specific requirements are met.
All applicants must have GCSE English Language grade C/4 or an equivalent qualification acceptable to the University.
Computer Science, Computing Information Technology and Software Engineering share a common core of modules in the first year, so students may therefore transfer between these degrees at the end of first year, subject to meeting the normal progression requirements.
Preferred subjects: Mathematics, Computing or Software Systems Development
Relevant subjects: Chemistry, Digital Technology, ICT, Physics, Technology and Design or Double Award Applied ICT
In addition, to the entrance requirements above, it is essential that you read our guidance below on 'How we choose our students' prior to submitting your UCAS application.
Applications are dealt with centrally by the Admissions and Access Service rather than by the School of Electronics, Electrical Engineering and Computer Science. Once your application has been processed by UCAS and forwarded to Queen's, an acknowledgement is normally sent within two weeks of its receipt at the University.
Selection is on the basis of the information provided on your UCAS form, which is considered by a member of administrative staff from the Admissions and Access Service and, if appropriate, the Selector from the School. Decisions are made on an ongoing basis and will be notified to you via UCAS. These decisions can only be made on the basis of the information given and applicants must show due care and diligence when completing their applications. In particular, full details must be included about qualifications completed or still to be completed.
For entry last year, applicants must have had, or been able to achieve, a minimum of five GCSE passes at grade C/4 or better (to include English Language and Mathematics), though this profile may change from year to year depending on the demand for places. The Selector also checks that any specific entry requirements in terms of GCSE and/or A-level subjects can be fulfilled.
Offers are normally made on the basis of three A-levels. Two subjects at A-level plus two at AS would also be considered.
The offer for repeat candidates is normally the same as the offer for first time applicants. For repeat applicants acceptable grades may be held from the previous year.
A-level General Studies and A-level Critical Thinking are not normally considered as part of a three A-level offer and, although they may be excluded where an applicant is taking 4 A-level subjects, the grade achieved could be taken into account if necessary in August/September.
Applicants offering other qualifications, such as BTEC National and Higher National Certificates/Diplomas, the International Baccalaureate, Irish Leaving Certificate or an Access course, will also be considered. The same GCSE profile is usually expected of those candidates offering other qualifications.
For applicants offering Irish Leaving Certificate, please note that performance at Irish Junior Certificate (IJC) is taken into account. For last year’s entry applicants for this degree must have had a minimum of 5 IJC grades C/Merit. The Selector also checks that any specific entry requirements in terms of Leaving Certificate subjects can be satisfied
The information provided in the personal statement and the academic reference together with predicted grades are noted but these are not the final deciding factors in whether or not a conditional offer can be made. However, they may be reconsidered in a tie break situation in August.
Applicants are not normally asked to attend for interview.
If you are made an offer then you may be invited to an Open Day, which is usually held during the second semester. This will allow you the opportunity to visit the University and to find out more about the degree programme of your choice; the facilities on offer. It also gives you a flavour of the academic and social life at Queen's.
If you cannot find the information you need here, please contact the University Admissions and Access Service (admissions@qub.ac.uk), giving full details of your qualifications and educational background.
Our country/region pages include information on entry requirements, tuition fees, scholarships, student profiles, upcoming events and contacts for your country/region. Use the dropdown list below for specific information for your country/region.
An IELTS score of 6.0 with a minimum of 5.5 in each test component or an equivalent acceptable qualification, details of which are available at: http://go.qub.ac.uk/EnglishLanguageReqs
If you need to improve your English language skills before you enter this degree programme, INTO Queen's University Belfast offers a range of English language courses. These intensive and flexible courses are designed to improve your English ability for admission to this degree.
INTO Queen's offers a range of academic and English language programmes to help prepare international students for undergraduate study at Queen's University. You will learn from experienced teachers in a dedicated international study centre on campus, and will have full access to the University's world-class facilities.
These programmes are designed for international students who do not meet the required academic and English language requirements for direct entry.
Studying for a Computer Science degree at Queen’s will assist you in developing the core skills and employment-related experiences that are valued by employers, professional organisations and academic institutions. Graduates from this degree at Queen’s are well regarded by employers (local, national and international).
Consultations
We regularly consult and develop links with a large number of employers including, for example, Liberty IT and Asidua who provide sponsorship for our Computer Science degree as well as Citi and Kainos who are members of the employer liaison panel for the course.
Employer Links
The School has links with over 500 IT companies both here and abroad. We benefit from the fact that there are more software companies located in N Ireland than any other part of the UK, outside of London. This offers benefits on many levels for our students, from industrial input to the content of our courses, through to year long and summer placements as well as activities such as competitions organised by the companies etc.
You should also take a look at www.prospects.ac.uk for further information concerning the types of jobs that attract Computer Science Graduates.
Further study is also an option open to Computer Science graduates. Students can choose from a wide range of Masters programmes as well as a comprehensive list of research topics, see the School website www.qub.ac.uk/eeecs for more information.
Northern Ireland has an excellent international reputation for the quality and supply of its software engineers. Indeed many companies, both national and international, have opted for Northern Ireland as a base for their computing divisions in recognition of the high quality of graduates produced by the local universities.
Given this situation, it is not surprising that our graduates have had unparalleled job opportunities over the years, both locally and internationally. Because of the achievements of Queen's graduates already in the software engineering profession, a Computer Science degree from Queen's is a highly respected qualification. A good Honours degree in Computer Science from Queen's is of great benefit in seeking the best jobs.
Employers, from large multinational firms to small local organisations, actively target our students, recognising that Queen's Computer Science graduates are equipped with the skills they need. On graduating the majority of graduates take up posts associated with software design and implementation. Opportunities exist in fields as diverse as finance, games, pharmaceuticals, healthcare, research, consumer products, and public services - virtually all areas of business. Some of the employers include BT, Liberty IT, Kainos, Accenture, Citi, Wombat Financial Software.
The types of career open to Computer Science graduates include: Software Engineer; Systems Analyst; Web Designer; Games Developer; Systems Developer; IT Consultant; Project Manager.
In addition to your degree programme, at Queen's you can have the opportunity to gain wider life, academic and employability skills. For example, placements, voluntary work, clubs, societies, sports and lots more. So not only do you graduate with a degree recognised from a world leading university, you'll have practical national and international experience plus a wider exposure to life overall. We call this Degree Plus/Future Ready Award. It's what makes studying at Queen's University Belfast special.
PREV
Entry Requirements
NEXT
Fees and Funding
Northern Ireland (NI) 1 | £4,855 |
Republic of Ireland (ROI) 2 | £4,855 |
England, Scotland or Wales (GB) 1 | £9,535 |
EU Other 3 | £25,300 |
International | £25,300 |
1EU citizens in the EU Settlement Scheme, with settled status, will be charged the NI or GB tuition fee based on where they are ordinarily resident. Students who are ROI nationals resident in GB will be charged the GB fee.
2 EU students who are ROI nationals resident in ROI are eligible for NI tuition fees.
3 EU Other students (excludes Republic of Ireland nationals living in GB, NI or ROI) are charged tuition fees in line with international fees.
The tuition fees quoted above for NI and ROI are the 2024/25 fees and will be updated when the new fees are known. In addition, all tuition fees will be subject to an annual inflationary increase in each year of the course. Fees quoted relate to a single year of study unless explicitly stated otherwise.
Tuition fee rates are calculated based on a student’s tuition fee status and generally increase annually by inflation. How tuition fees are determined is set out in the Student Finance Framework.
Depending on the programme of study, there may be extra costs which are not covered by tuition fees, which students will need to consider when planning their studies.
Students can borrow books and access online learning resources from any Queen's library. If students wish to purchase recommended texts, rather than borrow them from the University Library, prices per text can range from £30 to £100. Students should also budget between £30 to £75 per year for photocopying, memory sticks and printing charges.
Students undertaking a period of work placement or study abroad, as either a compulsory or optional part of their programme, should be aware that they will have to fund additional travel and living costs.
If a programme includes a major project or dissertation, there may be costs associated with transport, accommodation and/or materials. The amount will depend on the project chosen. There may also be additional costs for printing and binding.
Students may wish to consider purchasing an electronic device; costs will vary depending on the specification of the model chosen.
There are also additional charges for graduation ceremonies, examination resits and library fines.
There are different tuition fee and student financial support arrangements for students from Northern Ireland, those from England, Scotland and Wales (Great Britain), and those from the rest of the European Union.
Information on funding options and financial assistance for undergraduate students is available at www.qub.ac.uk/Study/Undergraduate/Fees-and-scholarships/.
Each year, we offer a range of scholarships and prizes for new students. Information on scholarships available.
Information on scholarships for international students, is available at www.qub.ac.uk/Study/international-students/international-scholarships.
Application for admission to full-time undergraduate and sandwich courses at the University should normally be made through the Universities and Colleges Admissions Service (UCAS). Full information can be obtained from the UCAS website at: www.ucas.com/students.
UCAS will start processing applications for entry in autumn 2025 from early September 2024.
The advisory closing date for the receipt of applications for entry in 2025 is still to be confirmed by UCAS but is normally in late January (18:00). This is the 'equal consideration' deadline for this course.
Applications from UK and EU (Republic of Ireland) students after this date are, in practice, considered by Queen’s for entry to this course throughout the remainder of the application cycle (30 June 2025) subject to the availability of places. If you apply for 2025 entry after this deadline, you will automatically be entered into Clearing.
Applications from International and EU (Other) students are normally considered by Queen's for entry to this course until 30 June 2025. If you apply for 2025 entry after this deadline, you will automatically be entered into Clearing.
Applicants are encouraged to apply as early as is consistent with having made a careful and considered choice of institutions and courses.
The Institution code name for Queen's is QBELF and the institution code is Q75.
Further information on applying to study at Queen's is available at: www.qub.ac.uk/Study/Undergraduate/How-to-apply/
The terms and conditions that apply when you accept an offer of a place at the University on a taught programme of study. Queen's University Belfast Terms and Conditions.
Download Undergraduate Prospectus
PREV
Fees and Funding