Syllabus CS 21 22 4Y
Syllabus CS 21 22 4Y
SYLLABUS
The syllabus applies to students admitted in the academic year 2021-22 and thereafter under the four-
year curriculum.
Each course offered by the Department of Computer Science shall be classified as either introductory
level course or advanced level course.
A Discipline Core course is a compulsory course which a candidate must pass in the manner provided
for in the Regulations.
A Discipline Elective course refers to any technical course offered by the Department of Computer
Science for the fulfillment of the curriculum requirements of the degree of BEng in Computer Science
that are not classified as discipline core course.
Curriculum
Elective Courses
Students are required to complete 42 credits of elective course(s) offered by either the Department of
Computer Science, or other departments within or outside of the Faculty of Engineering.
University Requirements
Students are required to complete:
a) 12 credits in English language enhancement, including 6 credits in “CAES1000 Core
University English” and 6 credits in “CAES9542 Technical English for Computer Science”;
b) 6 credits in Chinese language enhancement course “CENG9001 Practical Chinese for
Engineering Students”; and
c) 36 credits of courses in the Common Core Curriculum, comprising at least one and not more
than two courses from each Area of Inquiry with not more than 24 credits of courses being
selected within one academic year except where candidates are required to make up for failed
credits.
Capstone Experience
Students are required to complete the 12-credit “COMP4801 Final year project” or “COMP4802
Extended final year project” to fulfill the capstone experience requirement for the degree of BEng in
Computer Science.
1
Internship
Students are required to complete the non-credit bearing internship “COMP3410 Internship”, which
normally takes place after their third year of study.
Degree Classification
The degree of Bachelor of Engineering shall be awarded in five divisions in accordance with EN 15 of
the Regulations for the Degree of Bachelor of Engineering and UG 9 of the Regulations for First Degree
Curricula.
The details of the distribution of the above course categories are as follows:
The curriculum of BEng (Computer Science) comprises 240 credits of courses with the following
structure:
2
Advanced Courses (36 credits)
*Internship
+
Capstone Experience
*Students who are selected to participate in the Undergraduate Research Fellowship Programme are
required to complete COMP3413 Research internship and are not required to complete COMP3410
Internship.
3
COMP3358 Distributed and parallel computing 6
COMP3360 Data-driven computer animation 6
COMP3361 Natural language processing 6
COMP3362 Hands-on AI: experimentation and applications 6
COMP3403 Implementation, testing and maintenance of software systems 6
COMP3404 Software quality and project management 6
COMP3407 Scientific computing 6
COMP3413 Research internship 6
COMP3414 Experiential learning on artificial intelligence and robotics 6
Complete at least five discipline elective courses for a total of 30 credits 30
At least 42 credits of courses offered by either the Department of Computer Science, or other
departments within or outside of the Faculty of Engineering.
Focus
A student may choose to claim any of the following five Focuses, provided that he/she must have
completed at least FOUR courses under the corresponding Focus.
4
[Theoretical Computer Science] (7 courses available)
- COMP3235 Compiling techniques
- COMP3258 Functional programming
- COMP3259 Principles of programming languages
- COMP3316 Quantum information and computation
- COMP3351 Advanced algorithm analysis
- COMP3352 Algorithmic game theory
- COMP3357 Cryptography
Remarks: In principle, double counting is not permissible. A particular elective course shall be counted
towards one Focus only.
Students may take up to two 6-credit MSc(CompSc) courses offered by the Department of Computer
Science as elective courses, subject to the approval of the Head of the Department.
FIRST YEAR
SECOND YEAR
THIRD YEAR
Internship (0 credit)
COMP3410 Internship 0
FOURTH YEAR
Prerequisite: Level 3 or above in Mathematics in the Hong Kong Diploma of Secondary Education
(HKDSE) Examination, or equivalent
Introductory Courses
Advanced Courses
7
COMP3353 Bioinformatics 6
COMP3354 Statistical learning 6
COMP3355 Cyber security 6
COMP3356 Robotics 6
COMP3357 Cryptography 6
COMP3358 Distributed and parallel computing 6
COMP3360 Data-driven computer animation 6
COMP3361 Natural language processing 6
COMP3362 Hands-on AI: experimentation and applications 6
COMP3403 Implementation, testing and maintenance of software systems 6
COMP3404 Software quality and project management 6
COMP3407 Scientific computing 6
Total for Elective Courses 48
*If students choose to complete “COMP3297 Software engineering” for fulfilling the requirement of
capstone experience, COMP3297 will not be counted towards the category of Elective Courses.
Notes:
1. In principle, double counting is not permissible.
1.1 BEng students who have completed ENGG1330 are deemed to have completed
COMP1117, they are not permitted to take COMP1117 and are required to complete
one more elective in Computer Science as replacement.
1.2 BEng students who have completed ENGG1340 are deemed to have completed
COMP2113, they are not permitted to take COMP2113 and are required to complete
one more elective in Computer Science as replacement.
1.3 Non-BEng students who have completed COMP1117 to fulfil the requirement of
their primary major are required to complete one more elective in Computer
Science.
1.4 Students who have completed MATH3600 Discrete mathematics are deemed to have
completed COMP2121, they are not permitted to take COMP2121 and are required to
complete one more elective in Computer Science as replacement.
2. Course enrollment in elective courses is subject to the approval of the Department of Computer
Science, in consideration of class quota and other academic issues.
The curriculum comprises 42 credits of courses with the following structure, in which students are
required to complete 18 credits of Core Courses and 24 credits of Elective Courses.
Prerequisite: Level 3 or above in Mathematics in the Hong Kong Diploma of Secondary Education
(HKDSE) Examination, or equivalent
8
Core Courses (18 credits)
Introductory Courses
Elective Courses (24 credits to be chosen from the following lists of Introductory Courses or Advanced
Courses)
Introductory Courses
Advanced Courses
9
COMP3355 Cyber security 6
COMP3356 Robotics 6
COMP3357 Cryptography 6
COMP3358 Distributed and parallel computing 6
COMP3360 Data-driven computer animation 6
COMP3361 Natural language processing 6
COMP3362 Hands-on AI: experimentation and applications 6
COMP3403 Implementation, testing and maintenance of software systems 6
COMP3404 Software quality and project management 6
COMP3407 Scientific computing 6
Total for Elective Courses 24
Notes:
1. In principle, double counting is not permissible.
1.1 BEng students who have completed ENGG1330 are deemed to have completed
COMP1117, they are not permitted to take COMP1117 and are required to complete
one more elective in Computer Science as replacement.
1.2 BEng students who have completed ENGG1340 are deemed to have completed
COMP2113, they are not permitted to take COMP2113 and are required to
complete one more elective in Computer Science as replacement.
1.3 Non-BEng students who have completed COMP1117 to fulfil the requirement
of their primary major are required to complete one more elective in Computer
Science.
COURSE DESCRIPTIONS
Candidates will be required to do the coursework in the respective courses selected. Not all courses
are offered every semester.
Please refer to the Engineering Core Courses in the syllabus for the degree of BEng for details.
Please refer to the University Language Enhancement Courses in the syllabus for the degree of BEng
for details.
This one-semester, 6-credit communication course is for final-year students majoring in Computer
Science / Computing and Data Analytics / Financial Technology [BASc(FinTech)]. The focus of this
course is on helping students to report on the progress of their Final Year or Capstone Project in an
effective, professional manner in both written and oral communication. Topics include accessing,
abstracting, analyzing, organizing and summarizing information; making effective grammatical and
lexical choices; technical report writing; and technical presentations. Assessment is wholly by
coursework.
Successful completion of 36 credits of courses in the Common Core Curriculum, comprising at least
one and not more than two courses from each Area of Inquiry with not more than 24 credits of courses
being selected within one academic year except where candidates are required to make up for failed
credits:
This is an introductory course in computer programming. Students will acquire basic Python
programming skills, including syntax, identifiers, control statements, functions, recursions, strings,
lists, dictionaries, tuples and files. Searching and sorting algorithms, such as sequential search, binary
search, bubble sort, insertion sort and selection sort, will also be covered.
Mutually exclusive with: ENGG1111 or ENGG1330
Assessment: 50% continuous assessment, 50% examination
__________________________________________________________________________________
This course covers intermediate to advanced computer programming topics on various technologies and
tools that are useful for software development. Topics include Linux shell commands, shell scripts,
C/C++ programming, and separate compilation techniques and version control. This is a self-learning
course; there will be no lecture and students will be provided with self-study materials. Students are
required to complete milestone-based self-assessment tasks during the course. This course is designed
for students who are interested in Computer Science / Computer Engineering.
Arrays, linked lists, trees and graphs; stacks and queues; symbol tables; priority queues, balanced trees;
sorting algorithms; complexity analysis.
Introduction to computer organization and architecture; data representations; instruction sets; machine
and assembly languages; basic logic design and integrated devices; the central processing unit and its
control; memory and caches; I/O and storage systems; computer arithmetic.
This course provides students a solid background on discrete mathematics and structures pertinent to
computer science. Topics include logic; set theory; mathematical reasoning; counting techniques;
discrete probability; trees, graphs, and related algorithms; modeling computation.
Introduction to object-oriented programming; abstract data types and classes; inheritance and
polymorphism; object-oriented program design; Java language and its program development
environment; user interfaces and GUI programming; collection class and iteration protocol; program
documentation.
The course introduces basic concepts and methodology of data science. The goal of this course is to
provide students with an overview and practical experience of the entire data analysis process. Topics
include: data source and data acquisition, data preparation and manipulation, exploratory data analysis,
statistical and predictive analysis, data visualization and communication.
Operating system structures, process and thread, CPU scheduling, process synchronization, deadlocks,
memory management, file systems, I/O systems and device driver, mass-storage structure and disk
scheduling, case studies.
Introduction to computer design process; performance and cost analysis; instruction set design; data-
path and controller design; pipelining; memory system; I/O design; GPU architecture and
programming; introduction to advanced topics.
Prerequisite: COMP2120
Assessment: 40% continuous assessment, 60% examination
Network structure and architecture; reference models; stop and wait protocol; sliding window protocols;
virtual circuits and datagrams; IP addressing and routing; flow control; congestion control; local area
networks; transport protocols and application layer; and examples of network protocols.
Lexical analysis; symbol table management; parsing techniques; error detection; error recovery; error
diagnostics; run-time memory management; optimization; code generation.
The course studies various algorithm design techniques, such as divide and conquer, and dynamic
programming. These techniques are applied to design novel algorithms from various areas of computer
science. Topics include: advanced data structures; graph algorithms; searching algorithms; geometric
algorithms; overview of NP-complete problems.
Prerequisite: COMP2119
Assessment: 50% continuous assessment, 50% examination
13
COMP3258. Functional programming (6 credits)
The course teaches the basics of functional programming using the language Haskell. The main goal is
introduce students to fundamental programming concepts such as recursion, abstraction, lambda
expressions and higher-order functions and data types. The course will also study the mathematical
reasoning involved in the design of functional programs and techniques for proving properties about
functions so defined. With the adoption of lambda expressions recent versions of Java, C++ or C#,
functional programming and related programming techniques are becoming increasingly more relevant
even for programmers of languages that are not traditionally viewed as functional. This course is
important to introduce students to such techniques.
Prerequisite: COMP2121
Assessment: 50% continuous assessment, 50% examination
Syntax and semantics specification; data types; data control and memory management; expressions,
precedence and associativity of operators; control structures; comparative study of existing programming
languages; advanced topics such as polymorphism, programming paradigms, exception handling and
concurrency.
This is an introduction course on the subject of artificial intelligence. Topics include: intelligent agents;
search techniques for problem solving; knowledge representation; logical inference; reasoning under
uncertainty; statistical models and machine learning.
Overview of graphics hardware, basic drawing algorithms, 2-D transformations, windowing and clipping,
interactive input devices, curves and surfaces, 3-D transformations and viewing, hidden-surface and
hidden-line removal, shading and colour models, modelling, illumination models, image synthesis,
computer animation.
Prerequisite: COMP2119
Assessment: 50% continuous assessment, 50% examination
This course studies the principles, design, administration, and implementation of database management
systems. Topics include: entity-relationship model, relational model, relational algebra, database
design and normalization, database query languages, indexing schemes, integrity and concurrency
14
control.
This course introduces the fundamental principles and methodologies of modern software engineering.
It covers the software process, and development activities including requirements engineering, software
design, testing, deployment and evolution. The course emphasizes the use of contemporary tools,
frameworks and techniques. It features a complete agile software development project in which students
work in teams to engineer and deploy a software application to satisfy their users’ needs.
To introduce students to the laws affecting computing and the legal issues arising from the technology.
Contents include: the legal system of Hong Kong; copyright protection for computer programs; intellectual
property issues on the Internet; data privacy; computer-related crimes; codes of professional conduct
for computer professionals.
This course introduces algorithms, tools, practices, and applications of machine learning. Topics include
core methods such as supervised learning (classification and regression), unsupervised learning
(clustering, principal component analysis), Bayesian estimation, neural networks; common practices in
data pre-processing, hyper-parameter tuning, and model evaluation; tools/libraries/APIs such as scikit-
learn, Theano/Keras, and multi/many-core CPU/GPU programming.
This course offers a gentle introduction to the interdisciplinary field of quantum information and
computation. The lectures are organized into four main parts. In the first part, we will introduce the
basic rules of quantum theory. In the second part, we will learn about quantum entanglement, a
surprising feature that is responsible for much of the magic of quantum information. We will see that
entanglement gives rise to a curious phenomenon called steering, and to advantages in a certain type of
games called nonlocal games. In the third part of the course, we will provide an overview of quantum
communication, showing that quantum resources enable new communication protocols that were
impossible in the classical world. In the fourth part of the course, we will provide an introduction to
quantum computation, showing examples of quantum algorithms that are faster that all existing
15
algorithms running on classical computers.
This course introduces the principles, mathematical models and applications of computer vision. Topics
include: image processing techniques, feature extraction techniques, imaging models and camera
calibration techniques, stereo vision, and motion analysis.
This course aims to help students to understand the technical and managerial challenges they will face
as electronic commerce becomes a new locus of economics activities. Topics include Internet and
WWW technology, information security technologies, public-key crypto-systems, public-key
infrastructure, electronic payment systems, and electronic commerce activities in different sectors.
Prerequisite: COMP3278
Assessment: 50% continuous assessment, 50% examination
Selected network protocols relevant to the World Wide Web (e.g., HTTP, DNS, IP); World Wide Web;
technologies for programming the Web (e.g, HTML, style sheets, PHP, JavaScript, Node.js.; other
topics of current interest (AJAX, HTML5, web services, cloud computing).
The course will study some advanced topics and techniques in database systems, with a focus on the
system and algorithmic aspects. It will also survey the recent development and progress in selected
areas. Topics include: query optimization, spatial-spatiotemporal data management, multimedia and
time-series data management, information retrieval and XML, data mining.
Prerequisite: COMP3278
Assessment: 50% continuous assessment, 50% examination
This course introduces the concepts and techniques for computer game design and development.
Topics include: game history and genres, game design process, game engine, audio and visual design,
2D and 3D graphics, physics, optimization, camera, network, artificial intelligence and user interface
16
design. Students participate in group projects to gain hands-on experience in using common game
engine in the market.
Prerequisite: ENGG1340 or COMP2113 or COMP2123
Assessment: 70% continuous assessment, 30% examination
This course aims at introducing the design and development issues of mobile apps. Students will learn
the basic principles, constraints and lifecycle of mobile apps. Then they will learn how to use modern
object-oriented languages for the development and different design patterns. Next they will learn
various development issues such as graphics, touch events, handling of concurrency, sensors, location
services and server connection. Students will also participate in both individual assignments and group
project to practice ideation, reading, writing, coding and presentation throughout this course.
An introduction to algorithms and applications of deep learning. The course helps students get hands-
on experience of building deep learning models to solve practical tasks including image recognition,
image generation, reinforcement learning, and language translation. Topics include: machine learning
theory; optimization in deep learning; convolutional neural networks; recurrent neural networks;
generative adversarial networks; reinforcement learning; self-driving vehicle.
This class introduces advanced mathematical techniques for analyzing the complexity and correctness
of algorithms. NP-complete problems are believed to be not solvable in polynomial time and we study
how approximation algorithms could give near optimal solutions. In particular, we will see that
probability theory gives us a very powerful tool to tackle problems that are otherwise hard to solve.
Strategic behaviors of users are of increasingly importance in today’s computational problems, from
data analysis (where a user may manipulate his data) to routing (where a user may strategically choose
a path instead of the one that the algorithm specifies). This is an undergraduate advanced algorithm
course that covers various topics at the interface of theoretical computer science and economics, seeking
to provide the basic concepts and techniques, both economic and algorithmic ones, that would allow to
students to design algorithms that achieve the desirable outcomes in the presence of strategic behaviors
of users.
17
This course focuses on three topics: 1) mechanism design, a study on incentivizing users to truthfully
report their data for a given computational task; 2) price of anarchy in games, a systematic approach to
quantify the inefficiency caused by users’ strategic behaviors; and 3) algorithms and complexity theory
for learning and computing Nash and market equilibria. The course will also cover some selected
advanced topics such as the use of data of past user behaviors in auction design, and case studies of
some important applications including online advertisement auctions and kidney exchange market.
The goal of the course is for students to be grounded in basic bioinformatics concepts, algorithms,
tools, and databases. Students will be leaving the course with hands-on bioinformatics analysis
experience and empowered to conduct independent bioinformatics analyses. We will study: 1)
algorithms, especially those for sequence alignment and assembly, which comprise the foundation of
the rapid development of bioinformatics and DNA sequencing; 2) the leading bioinformatics tools for
comparing and analyzing genomes starting from raw sequencing data; 3) the functions and
organization of a few essential bioinformatics databases and learn how they support various types of
bioinformatics analysis.
The challenges in learning from big and complicated data have led to significant advancements in the
statistical sciences. This course introduces supervised and unsupervised learning, with emphases on
the theoretical underpinnings and on applications in the statistical programming environment R.
Topics include linear methods for regression and classification, model selection, model averaging,
basic expansions and regularization, kernel smoothing methods, additive models and tree-based
methods. We will also provide an overview of neural networks and random forests.
Prerequisite: MATH1853 or MATH2101 or STAT1602 or STAT1603
Assessment: 50% continuous assessment, 50% examination
This course introduces the principles, mechanisms and implementation of cyber security and data
protection. Knowledge about the attack and defense are included. Topics include notion and terms of
cyber security; network and Internet security, introduction to encryption: classic and modern
encryption technologies; authentication methods; access control methods; cyber attacks and defenses
(e.g. malware, DDoS).
18
This course provides an introduction to mathematics and algorithms underneath state-of-the-art robotic
systems. The majority of these techniques are heavily based on probabilistic reasoning and optimization
– two areas with wide applicability in modern AI. We will also cover some basic knowledge about
robotics, namely geometry, kinematics, dynamics, control of a robot, as well as the mathematical tools
required to describe the spatial motion of a robot will be presented. In addition, we will cover perception,
planning, and learning for a robotic system, with the obstacle avoidance and robotic arm manipulation
as typical examples.
This course offers a gentle introduction to the field of cryptography. We will start from the basic
principles of confidentiality, integrity and authentication. After that, we will go through some
fundamental cryptographic primitives like hash function, symmetric key encryption, public key
encryption and digital signatures. Finally, we will introduce the basics of quantum cryptography
including quantum key distribution and random number generation.
This course introduces the basic concepts and modern software architectures on distributed and parallel
computing. Topics include: computer network primitives, distributed transactions and two-phase
commits, webservices, parallelism and scalability models, distributed consistency models, distributed
fault-tolerance, actor and monads, Facebook photo cache, Amazon key-value stores, Google Map-
reduce, Spark, and TensorFlow.
Basics of character animation, keyframe animation, motion capture, inverse kinematics, physically
based character animation, Basics of physically-based animation, rigid body dynamics, point-based
dynamics, hair animation, cloth simulation, facial animation, crowd simulation, mesh-shape editing,
performance capture, skinning, data-driven character control, data-driven cloth animation, data-driven
facial animation, data-driven skinning.
Pre-requisite: COMP2119
Assessment: 50% continuous assessment, 50% examination
Natural language processing (NLP) is the study of human language from a computational perspective.
The course will be focusing on machine learning and corpus-based methods and algorithms. We will
19
cover syntactic, semantic and discourse processing models. We will describe the use of these methods
and models in applications including syntactic parsing, information extraction, statistical machine
translation, dialogue systems, and summarization. This course starts with language models (LMs),
which are both front and center in natural language processing (NLP), and then introduces key machine
learning (ML) ideas that students should grasp (e.g. feature-based models, log-linear models and then
the neural models). We will land on modern generic meaning representation methods (e.g. BERT/GPT-
3) and the idea of pretraining / finetuning.
This course comprises two main components: students first acquire the basic know-how of the state-of-
the-art AI technologies, platforms and tools (e.g., TensorFlow, PyTorch, scikit-learn) via example-based
modules in a self-paced learning mode. Students will then identify a creative or practical data-driven
application and implement an AI-powered solution for the application as the course project. Students
will be able to experience a complete AI experimentation and evaluation cycle throughout the project.
Pre-requisite: COMP3314
Assessment: 100% continuous assessment
This course examines the theory and practice of software implementation, testing and maintenance.
Topics in implementation include: detailed design issues and implementation strategies; coding style
and standards; the review process; pattern implementation and reuse. Testing covers strategies and
techniques for unit and component testing; integration testing; system, performance and acceptance
testing; test documentation and test management. Topics in maintenance include maintenance
techniques, tools and metrics; software rejuvenation; and refactoring.
Topics in software quality include: software quality models; quality assurance; software quality metrics;
quality reviews, inspections and audits. Topics in project management include: project planning, cost
estimation and scheduling; project monitoring and control; agile, traditional and extreme process
models and their management; risk analysis; configuration management and control; software
acquisition; contract management; and process improvement.
Prerequisite: COMP3297
Mutually exclusive with: IIMT4601
Assessment: 50% continuous assessment, 50% examination
This course provides an overview and covers the fundamentals of scientific and numerical computing.
20
It focuses on topics in numerical analysis and computation, with discussions on applications of scientific
computing.
The course consists of two components: internship and professionalism. Internship requires students to
spend a minimum of four weeks employed, full-time, as IT interns or trainees. During this period, they
are engaged in work of direct relevance to their programme of study. The Internship provides students
with practical, real-world experience and represents a valuable complement to their academic training.
Professionalism exposes students to social and professional issues in computing. Students need to
understand their professional roles when working as computer professionals as well as the responsibility
that they will bear. They also need to develop the ability to ask serious questions about the social impact
of computing and to evaluate proposed answers to those questions. Topics include: intellectual property,
privacy, social context of computing, risks, safety and security concerns for computer professionals,
professional and ethical responsibilities, and continuing professional development.
The course consists of two components: internship and professionalism. Internship requires students
to spend a minimum of four weeks employed, full-time, as IT interns or trainees. During this period,
they are engaged in work of direct relevance to their programme of study. The Internship provides
students with practical, real-world experience and represents a valuable complement to their academic
training. Professionalism exposes students to social and professional issues in computing. Students
need to understand their professional roles when working as computer professionals as well as the
responsibility that they will bear. They also need to develop the ability to ask serious questions about
the social impact of computing and to evaluate proposed answers to those questions. Topics include
social context of computing, risks, safety and security concerns for computer professionals, professional
and ethical responsibilities, and continuing professional development.
The student will participate in a research project under the guidance and supervision of a teacher over
a prescribed period of time; the results will be presented in an oral and a written report.
This is a multidisciplinary experiential learning course designed for engineering students to learn about
artificial intelligence (AI) and robotics. Students will learn AI and robot related technical disciplines
(such as machine vision, embedded system design, mechanical control, inertial navigation, human-
computer interaction, etc.) through designing and building intelligent robots, and forming teams to
participate in robotics competitions such as RoboMaster Robotics Competition and AI Driving
21
Olympics (AI-DO), etc.
Student individuals or groups, during the final year of their studies, undertake full end-to-end
development of a substantial project, taking it from initial concept through to final delivery. Topics
range from applied software development to assignments on basic research. In case of a team project,
significant contribution is required from each member and students are assessed individually, such that
each student is given a separate project title. Strict standards of quality will be enforced throughout the
project development.
In this 3-semester capstone project, students will work individually or in groups on a self-proposed
project. Students are required to initiate project ideas, devise feasible solutions, and complete a final
deliverable. Project ideas should integrate students’ knowledge and skills on computing and may
include, but not limited to innovations and practical solutions to everyday problems. Starting from the
second semester of their third year studies, students will engage in brainstorming activities for idea
incubation; they will also submit initial project proposals for approval by end of the third year. Students
will then work intensively, under the guidance of a teacher, on the development and implementation of
the project deliverables throughout the final year of their studies.
Students during the final year of their studies undertake a substantial project, taking it from initial
concept through to final delivery, and integrating their knowledge and skills on computing and data
analytics.
Students during the final year of their studies undertake a substantial project, taking it from initial
concept through to final delivery, and integrating their knowledge and skills on computing.
22