Module Code
CSC1025
The aim of the programme is to offer a deep and up-to-date education in data science, machine learning and artificial intelligence that prepares graduates with key knowledge, skills and competencies necessary for employment in data engineering, data analysis, data architect (as well as managerial positions on those topics), or as preparation for further research and innovation careers.
In particular the programme aims to provide students with:
Comprehensive knowledge and understanding of the fundamental principles of artificial intelligence, data science and machine learning, which will remain applicable through changes in technology.
Advanced knowledge and practical skills in the theory and practice of data analytics.
The necessary skills, tools and techniques needed to embark on careers as data scientist, or professional developers skilled in data science.
Skills in a range of practices, processes, tools and methods applicable to data science in commercial and research contexts.
Timely exposure to, and practical experience in, a range of current technologies and emerging trends at the forefront of data science, such as Deep Learning, Natural Language Processing and Trustworthy AI.
Opportunities for the development of practical skills in a commercial context.
A new Teaching Centre for Mathematics and Physics opened in September 2016. This provides a dedicated space for teaching within the School. Facilities for mathematics include new lecture and group-study rooms, a new student social area and state-of-the-art computer facilities. Computer Science teaching takes place in the Computer Science Building on the Malone Road, just a short walk from the Mathematics department. The building was recently refurbished at a cost of £14M, and is welcoming with a modern style and approach to students with spaces which include computer laboratories, lecture theatre and options of break-out areas.
Our students are constantly given the opportunity to put theory into practice. We regularly consult a large number of employers including, for example, Civica and Sensata Technologies, who provide sponsorship for our students as well as Kainos and Liberty IT who are members of the employer liaison panel for the course.
In addition, students will complete a year of professional experience on data analytics with one of our partners companies.
NEXT
Course content
Mathematics is the universal language of science while computer science is the study of the hardware and algorithms that are used in modern computer systems. Since many of the early pioneers of computer science, for instance Alan Turing, were mathematicians it is not surprising that these two subjects are closely related. This is a three-year joint degree programme between the School of Electrical and Electronic Engineering and Computer Science and the School of Maths and Physics, that combines the study of the two subjects so a holistic approach to Data Science and Machine Learning, from theory to practice, can be provided.
Themes may include:
Object Oriented programming
Databases
Procedural Programming
Computer Science Challenges
Web Technologies
Software Design Principles
Introduction to Algebra and Analysis
Introduction to Probability and Statistics
Themes may include:
Professional Practice
Transferable Skills for the IT Sector
Introduction to Artificial Intelligence and Machine Learning
Statistical Inference
Linear Algebra
Introduction to Enterprise Computing
Data Structures, Algorithms and Programming Languages
Year of Professional Experience on Data Analysis
Themes may include:
Deep learning
Video Analytics and Machine Learning
Concurrent Programming
Cloud Computing
Malware Analysis
Fairness, Interpretability and privacy in machine learning
Data Science Project
Discrete Mathematics
Stochastic Processes and Risk
Bayesian Statistics
Financial Mathematics
Mathematical Methods of Quantum Information processing
Linear models
Information Theory
In addition to some of the above modules, students are expected to complete:
Final year project on data Analysis
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.
Technologies such as Turningpoint allow interactive and active lectures, where lecturers can pool students anonymously and in real time from the slides.
Through the use of MS teams, MS Stream and Mediasite live lectures are recorded to be made available in real time or near real time. This video lectures are uploaded to Canvas learning environment, where all material, lecture content, assignment and online test are also available.
This has proved fundamental to mitigate COVID and we expect to continue in normal circumstances to allow more effective online-enhanced learning.
Details of assessments associated with this courses 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:
Students have access to a wide range of computers in world class laboratories (equipped with several hundred PCs, including powerful Alienware computers) and specialised software packages.
High performance computing facilities including a computing cluster with the following characteristics:
• 60 x 128 core Dell PowerEdge R6525 compute nodes with AMD EPYC 7702 dual 64-Core Processors (786GB RAM).
• 4 High memory nodes (2TB RAM).
• 32 x NVIDIA Tesla v100 GPUs.
• 2PB of lustre parallel file system for scratch storage.
• All compute nodes and storage are connected by EDR Infiniband fabric.
• Compute nodes run CENTOS7 operating system.
High Speed Networks link the School and university computers to powerful machines in Great Britain.
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.
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 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 is a fundamental module which provides an introduction to probability theory and the key concepts found in statistics. The topics covered include the laws of probability, discrete and continuous random variables, standard discrete and continuous distributions, bivariate distributions, statistical models, sampling, estimation, hypothesis testing and statistical quality control.
- Demonstrate an understanding of the concepts of probability, conditional probability, multiplicative law, independence, Bayes theorem and their interpretations.
- Be able to apply set theory to the proof and use of the axioms of probability.
- Understand and use combinatorial methods: counting rules; sampling with and without replacement; ordered and non-ordered samples.
- Be able to define discrete and continuous random variables and the corresponding probability distributions, probability functions, cumulative distribution functions and probability density functions.
- Understand and use transformations in the discrete and continuous variable context.
- Be able to define expectation and calculate expected values for the mean and variance of specific discrete and continuous distributions.
- Be able to define, interpret and apply the properties of the expectation and variance operators for discrete and continuous cases.
- Demonstrate an understanding of key discrete and continuous distributions including the specific circumstances when distributions may be applied.
- Demonstrate an ability to use statistical tables and deal with linear combinations of independent normal random variables.
- Be familiar with the Central limit theorem for the approximate distribution of sample mean and be able to utilise this theorem in the approximation of binomial and Poisson distributions.
- Understand and be able to define bivariate distributions, their joint probability (density) functions, cumulative distribution functions, marginal distributions, conditional distributions of discrete and continuous random variables.
- Demonstrate an understanding of independence for bivariate data.
- Be able to define expectation and to calculate expected values: means, variances and covariances, correlation coefficients for bivariate distributions and for linear combinations of random variables.
- Be able to define statistical models, experimental, systematic and random errors; precision and accuracy.
- Be able to describe and utilise the following methods of sampling: accessibility, judgement, quota, sequential, random, systematic, stratified and cluster sampling methods.
- Understand the concept of estimation, the definition of a statistic, sampling distribution, sample estimator, sample estimate and the desirable properties for an estimator.
- Be able to define and calculate an estimate of the population mean and variance from a single sample and from several samples.
- Demonstrate an understanding of and be able to implement the method of moments, maximum likelihood estimation and the method of least squares, in particular, the likelihood function, asymptotic variance, normal equations, and linear regression.
- Understand and be able to define the null and alternative hypotheses; one and two-sided tests; test statistic; critical region, P-value, significance level; type I and type II errors; power function and confidence intervals.
- Know when to apply the correct method for significance testing based on given circumstances.
- Be able to interpret results of a significance test and confidence intervals.
- Demonstrate an understanding and be able to describe non-parametric methods and their advantages and disadvantages.
- Understand, be able to carry out and interpret significance tests, in particular key parametric tests based on the Normal distribution, t-distribution, F-distribution and Chi squared distribution, and key non-parametric tests.
- Know when to apply and how to calculate nonparametric statistics and how to choose the appropriate technique to use for a practical example.
- Understanding when and how to apply probability theory and reasoning with uncertainty.
- Knowing how to apply estimation approaches and the appropriate technique to use.
- Being able to apply probability theory to a practical example.
- Understanding the principles of hypothesis testing.
- Knowing when to apply the correct method for significance testing.
- Calculating test statistics and being able to use these to draw a conclusion about a null hypothesis.
- Knowing when to apply and how to calculate nonparametric statistics and choosing the appropriate technique to use for a practical example.
Coursework
10%
Examination
90%
Practical
0%
30
SOR1020
Full Year
24 weeks
Elementary logic and set theory, number systems (including integers, rationals, reals and complex numbers), bounds, supremums and infimums, basic combinatorics, functions.
Sequences of real numbers, the notion of convergence of a sequence, completeness, the Bolzano-Weierstrass theorem, limits of series of non-negative reals and convergence tests.
Analytical definition of continuity, limits of functions and derivatives in terms of a limit of a function. Properties of continuous and differentiable functions. L'Hopital's rule, Rolle's theorem, mean-value theorem.
Matrices and systems of simultaneous linear equations, vector spaces, linear dependence, basis, dimension.
It is intended that students shall, on successful completion of the module, be able:
• to understand and to apply the basic of mathematical language;
• use the language of sets and maps and understand the basic properties of sets (finiteness) and maps (injectivity, surjectivity, bijectivity);
• demonstrate knowledge of fundamental arithmetical and algebraic properties of the integers (divisibility, prime numbers, gcd, lcm) and of the rationals;
• Solve combinatorial counting problems in a systematic manner.
• Understand the fundamental properties of the real numbers (existence of irrational numbers, density of Q, decimal expansion, completeness of R).
• Understand the notions of a sequence of real numbers, including limits, convergence and divergence.
• Define convergence of infinite series.
• Investigate the convergence of infinite series using convergence tests.
• Define limits of functions and define continuous functions.
• Prove that a function is continuous or discontinuous.
• Prove and apply basic properties of continuous functions including the intermediate value theorem and the existence of a maximum and a minimum on a compact interval.
• Define a differentiable function and a derivative.
• Prove whether a function is differentiable.
• Calculate (using analysis techniques) derivatives of many types of functions.
• Understand, apply and prove Rolle's theorem and the Mean Value Theorem.
• Prove the rules of differentiation such as the product.
• Understand and apply the theory of systems of linear equations.
• Produce and understand the definitions of vector space, subspace, linear independence of vectors, bases of vector spaces, the dimension of a vector space.
• Apply facts about these notions in particular examples and problems.
• Understand the relation between systems of linear equations and matrices.
• Understanding of part of the main body of knowledge for mathematics: analysis and linear algebra.
• Logical reasoning.
• Understanding logical arguments: identifying the assumptions made and the conclusions drawn.
• Applying fundamental rules and abstract mathematical results, equation solving and calculations; problem solving.
Coursework
10%
Examination
90%
Practical
0%
30
MTH1011
Full Year
24 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
• 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
• 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
- Recap and extend to fields such as C, the notions of abstract vector spaces and subspaces, linear independence, basis, dimension.
- Linear transformations, image, kernel and dimension formula.
- Matrix representation of linear maps, eigenvalues and eigenvectors of matrices.
- Matrix inversion, definition and computation of determinants, relation to area/volume.
- Change of basis, diagonalization, similarity transformations.
- Inner product spaces, orthogonality, Cauchy-Schwarz inequality.
- Special matrices (symmetric, hermitian, orthogonal, unitary, normal) and their properties.
- Basic computer application of linear algebra techniques.
Additional topics and applications, such as: Schur decomposition, orthogonal direct sums and geometry of orthogonal complements, Gram-Schmidt orthogonalization, adjoint maps, Jordan normal form.
It is intended that students shall, on successful completion of the module: have a good understanding and ability to use the basics of linear algebra; be able to perform computations pertaining to problems in these areas; have reached a good level of skill in manipulating basic and complex questions within this framework, and be able to reproduce, evaluate and extend logical arguments; be able to select suitable tools to solve a problem, and to communicate the mathematical reasoning accurately and confidently.
Analytic argument skills, computation, manipulation, problem solving, understanding of logical arguments.
Coursework
30%
Examination
70%
Practical
0%
20
MTH2011
Autumn
12 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
Statistical investigations. Initial data analysis. Sample diagnostics. Point estimation: maximum likelihood, least squares. Multiple linear regression. Significance tests: Neyman-Pearson approach, likelihood ratio tests. Confidence intervals. Introduction to Experimental design. Bayesian methods. Oral presentation of aspects of statistics.
On completion of the module, it is intended that students will be able to: understand how to build statistical models, know the issues involved with using real data and use sample diagnostic methods to test data for independence, normality and goodness of fit; understand the difference between estimates and estimators in terms of finding an unknown parameter and understand the assessment of an estimator's unbiasedness, relative efficiency, mean square error, sufficiency and whether a distribution belongs to the regular exponential class; understand and use the method of moments, of maximum likelihood and of least squares to provide unbiased estimates of distribution parameters; understand and use experimental design, the different forms of analysis of variance techniques and use and interpret methods of association; rates, relative risk and the odds ratio; through expanding their knowledge of significance and hypothesis tests, formulate confidence intervals and regions and use pivotal quantities; understand Bayesian inference; the prior and posterior distributions, and degree of belief; be able to carry out a statistical investigation of real data in group work using SAS and present the results in a written and oral presentation.
Statistical modelling and problem solving. Application of statistical methods in data analysis. Presentation skills.
Coursework
20%
Examination
70%
Practical
10%
20
SOR2002
Spring
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
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
• 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
• 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
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
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
PREV
Course content
NEXT
Entry requirements
A-level: A (Mathematics) AB including at least one from Computing/Software Systems Development (not both), Physics, Biology, Chemistry, Technology and Design, Electronics, Further Mathematics or Double Award Life & Health Sciences
or
A-level: A* (Mathematics) BB including at least one from Computing/Software Systems Development (not both), Physics, Biology, Chemistry, Technology and Design, Electronics, Further Mathematics or Double Award Life & Health Sciences
A maximum of one BTEC/OCR Single Award 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.
H2H3H3H3H3H3 including Higher Level grade H2 in Mathematics and H3 in at least one from Computing, Physics, Biology or Chemistry
34 points overall including 6 (Mathematics) at Higher Level plus 6,5 including at least one from Computer Science, Physics, Biology or Chemistry at Higher Level. If not offered at Higher Level/GCSE then Standard Level grade 4 in English would be accepted.
All applicants must have GCSE English Language grade C/4 or an equivalent qualification acceptable to the University.
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 Junior Certificate is taken into account. For last year’s entry applicants for this degree must have had, a minimum of 5 IJC grades C/Merit, 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 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.
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.
Student completing this degree are expected to move to a professional or a research position in data analytics and machine learning, with application to different sectors: Fintech, Health and Biomedical, Security, Agriculture, etc.
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