MSc(CompSc) Courses

The courses, both in terms of range and syllabus, are updated and revised continuously.  The list of courses is also subject to change because occasionally we may decide not to offer a particular course in one year or to add some new ones, based on the findings of the annual curriculum review.  Please refer to our website for updated information.

Stream^ / Subject Group

Course List (each course carries 6 credits)#

Cyber Security

COMP7806

Topic in information security

COMP7901

Legal protection of digital property

COMP7903

Digital investigation and forensics

COMP7904

Information security: attacks and defense

COMP7905

Reverse engineering and malware analysis

COMP7906

Introduction to cyber security

FITE7410

Financial fraud analytics

Financial Computing

COMP7103

Data mining

COMP7408

Distributed ledger and blockchain technology

COMP7409

Machine learning in trading and finance

COMP7412

Banking in Web 3.0 – Metaverse, DeFi, NFTs and beyond

COMP7802

Introduction to financial computing

COMP7808

Topic in financial computing

COMP7906

Introduction to cyber security

FITE7405

Techniques in computational finance

FITE7406

Software development for quantitative finance

FITE7407

Securities transaction banking

FITE7410

Financial fraud analytics

Multimedia Computing

COMP7502

Image processing and computer vision

COMP7503

Multimedia technologies

COMP7504

Pattern recognition and applications

COMP7505

User interface design and development

COMP7506

Smart phone apps development

COMP7507

Visualization and visual analytics

COMP7508

Data-driven computer animation

COMP7604

Game design and development

COMP7807

Topic in multimedia computing

Other Courses

COMP7104

Advanced database systems

COMP7105

Advanced topics in data science

COMP7106

Big data management

COMP7107

Management of complex data types

COMP7201

Analysis and design of enterprise applications in UML

COMP7305

Cluster and cloud computing

COMP7308

Introduction to unmanned systems

COMP7309

Quantum computing and artificial intelligence

COMP7310

Artificial intelligence of things

COMP7311

Legal issues in artificial intelligence and data science

COMP7404

Computational intelligence and machine learning

COMP7602

Introduction to bioinformatics

COMP7607

Natural language processing

COMP7801

Topic in computer science

COMP7805

Topic in computer network and systems

COMP7809

Topic in artificial intelligence

DASC7606

Deep learning

FITE7411

RegTech in finance

Capstone Experience

COMP7704

Dissertation (24-credit)

COMP7705

Project (12-credit)

^ Students with focussed streams of study have to take at least 24 credits courses (equivalent to four 6-credit courses) in the corresponding subject group.

# Each course, except Capstone Experience, carries 6 credits.  COMP7704 Dissertation carries 24 credits.  COMP7705 Project carries 12 credits.

MSc(ECom&IComp) Courses

The courses in the MSc in Electronic Commerce and Internet Computing programme, which is also offered by the Department of Computer Science, are suitable for students with working experience focusing on the business exploitation of technologies rather than just studying the technologies alone.  Details of courses from MSc(ECom&IComp) can be found in this website: https://www.ecom-icom.hku.hk.

MSc(ECom&IComp) Courses

Students may select no more than 12 credits of courses (equivalent to two 6-credit courses) from the syllabuses for the MSc(ECom&IComp) curriculum, subject to the approval of the Head of the Department of Computer Science.

Course Descriptions

(Subject to University approval)

HIDE DETAILS

COMP7103. Data mining (6 credits)

Data mining is the automatic discovery of statistically interesting and potentially useful patterns from large amounts of data.  The goal of the course is to study the main methods used today for data mining and on-line analytical processing.  Topics include Data Mining Architecture; Data Preprocessing; Mining Association Rules; Classification; Clustering; On-Line Analytical Processing (OLAP); Data Mining Systems and Languages; Advanced Data Mining (Web, Spatial, and Temporal data).

COMP7104. Advanced database systems (6 credits)

The course will study some advanced topics and techniques in database systems, with a focus on the aspects of database systems design & algorithms and big data processing for structured data.  Traditional topics include query optimization, physical database design, transaction management, crash recovery, parallel databases.  The course will also survey some the recent developments in selected areas such as NoSQL databases and SQL-based big data management systems for relational (structured) data.

Prerequisites: A course of introduction to databases and basic programming skills.

COMP7105. Advanced topics in data science (6 credits)

This course will introduce selected advanced computational methods and apply them to problems in data analysis and relevant applications.

COMP7106. Big data management (6 credits)

The course will study some advanced topics and techniques in Big Data.  It will also survey the recent development and progress in specific areas in big data management and scalable data science.  Topics include but not limited to: large database management techniques, spatial data management and spatial networks, data quality and uncertain databases, top-k queries, graph and text databases, and data analytics.

Mutually exclusive with: COMP7107 Management of complex types.

COMP7107. Management of complex data types (6 credits)

The course studies the management and analysis of data types which are not simple scalars.  Such complex data types include spatial data, multidimensional data, time-series data, temporal and spatio-temporal data, sparse multidimensional vectors, set-valued data, strings and sequences, homogeneous and heterogeneous graphs, knowledge-base graphs, geo-textual and geo-social data.  For each of these data types, we will learn popular queries and analysis tasks, as well as storage and indexing methods for main memory and the disk.

Mutually exclusive with: COMP7106 Big data management.

COMP7201. Analysis and design of enterprise applications in UML (6 credits)

This course presents an industrial-strength approach to software development based on the object-oriented modelling of business entities.  Topics include: overview of software engineering and object-oriented concepts; unified process and Unified Modelling Language (UML); use-case modelling and object modelling; dynamic modelling using sequence diagrams and state machines; object-oriented design; user interface design; introducing design patterns and enterprise applications; shortcomings of UML and remedies.  Emphasis will be given on hands-on exercises with the use of CASE tools.

Prerequisites:  A course in object-oriented programming and a course in software engineering or systems analysis and design.

COMP7305. Cluster and cloud computing (6 credits)

# This course offers an overview of current cloud technologies, and discusses various issues in the design and implementation of cloud systems.  Topics include cluster systems architecture and example distributed/parallel programming paradigms; cloud delivery models (SaaS, PaaS, IaaS, and Serverless Computing) with examples from popular public cloud platforms; virtualization techniques such as hypervisor, virtual machines, and Docker; container orchestration and management tools, such as Kubernetes; distributed programming models and systems such as MapReduce and Apache Spark; and distributed file systems, such as Hadoop file system. Students will gain experience in setting up a containerised environment using Kubernetes for running distributed applications (e.g., Web applications, Spark applications) on public cloud environments (e.g., Amazon, Microsoft, Google, Alibaba).

Prerequisites: Students are expected to perform installation and administration of various open-source cloud/distributed software on their machines and the cloud.  Basic understanding of Linux OS and administration, networking concepts and setup, and programming experiences (C/C++, Java, or Python) in a Linux environment are required.

# Pending University's approval

COMP7308. Introduction to unmanned systems (6 credits)

To study the theory and algorithms in unmanned systems.  Topics include vehicle modelling, vehicle control, state estimation, perception and mapping, motion planning, and deep learning related techniques.

COMP7309. Quantum computing and artificial intelligence (6 credits)

This course offers a theoretical overview of selected topics from the interdisciplinary fields of quantum computation and quantum AI.  The scope of the lectures encompasses an accessible introduction to the fundamental concepts of quantum computation.  Importantly, the introduction does not require preliminary knowledge of quantum theory.  Detailed comparisons of computational principles and related phenomena in the classical and quantum domain outline the stark potential and challenges of quantum theory for fundamentally novel algorithms with enhanced processing power.  Thereupon, the theoretical capability of quantum computers is illustrated by analyzing a selection of milestone algorithms of quantum computation, and their potential applications to artificial intelligence.

COMP7310. Artificial intelligence of things (6 credits)

This course introduces basic concepts, technologies, and applications of the Internet of Things (IoT), with a focus on smart sensing.  The course features various topics on sensors and sensing techniques that enable ubiquitous sensing intelligence for IoT devices, and connects them to exciting applications in smart homes, healthcare, security, etc.  The lectures introduce topics like localization, mobile sensing, wireless sensing, acoustic sensing and their applications.

COMP7311. Legal issues in artificial intelligence and data science (6 credits)

This course introduces students to the growing legal, ethical and policy issues associated with artificial intelligence, data science and the related issues security and assurance.  In particular, the relationship of AI and data science to personal autonomy, information assurance and privacy are analyzed and legislative responses studied.  Class participation, research, writing, and oral/electronic presentations are integral components of the course.

The course contributes to the following goals: written communication and life-long learning.  It includes coverage of the following goals: problem analysis, problem solving and teamwork.

COMP7404. Computational intelligence and machine learning (6 credits)

This course will teach a broad set of principles and tools that will provide the mathematical, algorithmic and philosophical framework for tackling problems using Artificial Intelligence (AI) and Machine Learning (ML).  AI and ML are highly interdisciplinary fields with impact in different applications, such as, biology, robotics, language, economics, and computer science.  AI is the science and engineering of making intelligent machines, especially intelligent computer programs, while ML refers to the changes in systems that perform tasks associated with AI.  Ethical issues in advanced AI and how to prevent learning algorithms from acquiring morally undesirable biases will be covered.

Topics may include a subset of the following: problem solving by search, heuristic (informed) search, constraint satisfaction, games, knowledge-based agents, supervised learning (e.g., regression and support vector machine), unsupervised learning (e.g., clustering), dimension reduction, learning theory, reinforcement learning, transfer learning, and adaptive control and ethical challenges of AI and ML.

Pre-requisites: Nil, but knowledge of data structures and algorithms, probability, linear algebra, and programming would be an advantage.

COMP7408. Distributed ledger and blockchain technology (6 credits)

In this course, students will learn the key technical elements behind the blockchain (or in general, the distributed ledger) technology and some advanced features, such as smart contracts, of the technology.  Variations, such as permissioned versus permissionless and private blockchains, and the available blockchain platforms will be discussed.

Students will also learn the following issues: the security, efficiency, and the scalability of the technology.  Cyber-currency (e.g. Bitcoin) and other typical application examples in areas such as finance will also be introduced.

Prerequisites: COMP7906 Introduction to cyber security or ICOM6045 Fundamentals of e-commerce security and experience in programming is required.

Mutually exclusive with: FITE3011 Distributed Ledger and Blockchain

COMP7409. Machine learning in trading and finance (6 credits)

The course introduces our students to the field of Machine Learning, and help them develop skills of applying Machine Learning, or more precisely, applying supervised learning, unsupervised learning and reinforcement learning to solve problems in Trading and Finance.

This course will cover the following topics.  (1) Overview of Machine Learning and Artificial Intelligence, (2) Supervised Learning, Unsupervised Learning and Reinforcement Learning, (3) Major algorithms for Supervised Learning and Unsupervised Learning with applications to Trading and Finance, (4) Basic algorithms for Reinforcement Learning with applications to optimal trading, asset management, and portfolio optimization, (5) Advanced methods of Reinforcement Learning with applications to high-frequency trading, cryptocurrency trading and peer-to-peer lending.

COMP7412. Banking in Web 3.0 – Metaverse, DeFi, NFTs and beyond (6 credits)

The course introduces students to new concepts of Banking with Web3.0 Technologies.  Firstly, it will review the evolution from traditional banking towards decentralized finance and token economies.  It will then assess the opportunities for new customer experiences with virtual reality and in the Metaverse as well as examine the opportunities and risks of NFTs (non-fungible tokens).  The course will thoroughly examine the different types of Digital Assets, Digital Currencies and special forms like Central Bank Digital Currencies (e-CNY, e-HKD).  A critical factor in the evolution towards Web3-Finance are the required regulations, a proper risk management and compliance of products and processes.  The course will elaborate on these with the help of case studies and contemporary scenarios at the time of the lecture.

COMP7502. Image processing and computer vision (6 credits)

To study the theory and algorithms in image processing and computer vision.  Topics include image representation; image enhancement; image restoration; mathematical morphology; image compression; scene understanding and motion analysis.

COMP7503. Multimedia technologies (6 credits)

This course presents fundamental concepts and emerging technologies for multimedia computing. Students are expected to learn how to develop various kinds of media communication, presentation, and manipulation techniques. At the end of course, students should acquire proper skill set to utilize, integrate and synchronize different information and data from media sources for building specific multimedia applications. Topics include media data acquisition methods and techniques; nature of perceptually encoded information; processing and manipulation of media data; multimedia content organization and analysis; trending technologies for future multimedia computing.

COMP7504. Pattern recognition and applications (6 credits)

To study techniques in pattern recognition.  Topics include statistical decision theory; density estimation; dimension reduction; discriminant functions; unsupervised classification and clustering; neural network; hidden Markov model; and selected applications in pattern recognition such as characters and speech recognition.

COMP7505. User interface design and development (6 credits)

For technology products and services, the user experience is a major key to success. With advanced development of processors, sensors, and new algorithms and software tools, more powerful and expressive user interfaces can be implemented to improve human computer interaction and operation. The course will study matching input and output devices with user capabilities, software and hardware considerations, interface design methodologies, and future interface technologies. All of these topics will be supported and demonstrated with current research and actual case studies.

COMP7506. Smart phone apps development (6 credits)

Smart phones have become an essential part of our everyday lives.  The number of smart phone users worldwide today surpasses six billion and is forecast to further grow by more than one billion in the next few years.  Smart phones play an important role in mobile communication and applications.

Smart phones are powerful as they support a wide range of applications (called apps).  Most of the time, smart phone users just download their favorite apps remotely from the app stores.  There is a great potential for software developer to reach worldwide users.

This course aims at introducing the design and technical issues of smart phone apps.  For example, smart phone screens are usually smaller than computer monitors while smart phones usually possess more hardware sensors than conventional computers.  We have to pay special attention to these aspects in order to develop attractive and successful apps.  Various modern smart phone apps development environments and programming techniques (such as Java for Android phones and Swift for iPhones) will also be introduced to facilitate students to develop their own apps.

Students should have basic programming knowledge.

Mutually exclusive with: COMP3330 Interactive Mobile Application Design and Programming

COMP7507. Visualization and visual analytics (6 credits)

This course introduces the basic principles and techniques in visualization and visual analytics, and their applications. Topics include human visual perception; color; visualization techniques for spatial, geospatial and multivariate data, graphs and networks; text and document visualization; scientific visualization; interaction and visual analysis.

COMP7508. Data-driven computer animation (6 credits)

Basics of character animation, motion capture, inverse kinematics, physically based character animation, Basics of physically-based animation, rigid body dynamics, fluid simulation, hair animation, cloth simulation, facial animation, crowd simulation, kinematography, performance capture, skinning, data-driven character control, data-driven fluid animation, data-driven cloth animation, data-driven facial animation, data-driven kinematography, data-driven skinning, data-driven crowd animation, data-driven rendering, mesh-shape editing, data-driven mesh-shape editing.

COMP7602. Introduction to bioinformatics (6 credits)

The course will focus primarily on human genomics and medical applications, but the techniques will be broadly applicable across all species.  The topics will include 1) bioinformatics big data analytics and algorithms for sequence alignment and sequence assembly, 2) bioinformatics tasks such variant identification and annotation, gene expression and regulation, and 3) real-life bioinformatics applications such as personal genome analysis and cancer genomics.

COMP7604. Game design and development (6 credits)

The course studies the basic concepts and techniques for digital game design and development. Topics include: game history and genres, game design process, game production, 2D/3D graphics, physics, audio/visual design, artificial intelligence.

Prerequisites: Basic programming skill, e.g. C++ or Java, is required

COMP7607. Natural language processing (6 credits)

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 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.

COMP7704. Dissertation (24-credit) (24 credits)

Candidate will be required to carry out independent work on a major project that will culminate in the writing of a dissertation.

COMP7705. Project (12-credit) (12 credits)

Candidate will be required to carry out independent work on a major project under the supervision of individual staff member.  A written report is required.

COMP7801. Topic in computer science (6 credits)

Selected topics that are of current interest will be discussed.

COMP7802. Introduction to financial computing (6 credits)

This course introduces the students to different aspects of financial computing in the investment banking area. The topics include yield curve construction in practice, financial modelling and modern risk management practice, etc. Financial engineering is an area of growing demand. The course is a combination of financial product knowledge, financial mathematics and computational techniques. This course will be suitable for students who want to pursue a career in this fast growing area.

Prerequisites: This course does not require any prior knowledge in the area of finance. Basic calculus and numeric computational techniques are useful. Knowledge in Excel spreadsheet operations is required to complete the assignments and final project.

COMP7805. Topic in computer network and systems (6 credits)

Selected topics in computer network and systems that are of current interest will be discussed.

COMP7806. Topic in information security (6 credits)

Selected topics in information security that are of current interest will be discussed.

COMP7807. Topic in multimedia computing (6 credits)

Selected topics in multimedia computing that are of current interest will be discussed.

COMP7808. Topic in financial computing (6 credits)

Selected topics in financial computing that are of current interest will be discussed.

COMP7809. Topic in artificial intelligence (6 credits)

Selected topics in artificial intelligence that are of current interest will be discussed.

COMP7901. Legal protection of digital property (6 credits)

This course introduces computer professionals to the various legal means of protecting digital property including computer software, algorithms, and any work or innovation in digital form.  Focus is on the main issues in protecting digital property arising from developments in information technology, and their legal solutions.  Topics covered include, but are not limited to, the following: 1) Copyright protection of software and websites, 2) Patent protection of software and algorithms, 3) Protection of personal data.

Mutually exclusive with: COMP3311/CSIS0311 Legal aspects of computing and ECOM6004 Legal aspects of IT and e-commerce

COMP7903. Digital investigation and forensics (6 credits)

This course introduces the fundamental principles of digital investigation and forensics. The course starts with a brief introduction to common computer crimes and digital evidence, and then moves on to the computer basics and network basics pertaining to digital forensics, and finally comes to the techniques for digital investigation and forensic examination.

COMP7904. Information security: attacks and defense (6 credits)

This is an ethical hacking course.  In this course, we will teach students how to conduct ethical hacking so as to better protect a computer system in a company.  Topics include physical security, password cracking, network hacking, operating system hacking, and application hacking.  The course will also discuss R&D problems related to hacking and defense.  The course will try to strike a balance between theory and practice so that students can understand the theories behind the hacking process as well as get enough hands-on exercises to perform ethical hacking and defense.

Prerequisites: Students are expected to have knowledge in university level mathematics and systems plus experience in programming

COMP7905. Reverse engineering and malware analysis (6 credits)

This course provides students a foundational knowledge about reverse engineering and malware analysis, through the study of various cases and hand-on analysis of malware samples.  It covers fundamental concepts in malware investigations so as to equip the students with enough background knowledge in handling malicious software attacks.  Various malware incidents will be covered, such as cases in Ransomware, banking-Trojan, state-sponsored and APT attacks, cases in Stuxnet and malicious software attacks on Industrial Control System and IoT devices.  With the experience of studying these cases and analyzing selected samples, the students will be able to understand the global cyber security landscape and its future impact.  Hands-on exercises and in-depth discussion will be provided to enable students to acquire the required knowledge and skill set for defending and protecting an enterprise network environment.

Students should have programming/development skills (Assembly, C, C++, Python) and knowledge in Operating System and computer network.

COMP7906. Introduction to cyber security (6 credits)

The aim of the course is to introduce different methods of protecting information and data in the cyber world, including the privacy issue. Topics include introduction to security; cyber attacks and threats; cryptographic algorithms and applications; network security and infrastructure.

DASC7606. Deep learning (6 credits)

Machine learning is a fast-growing field in computer science and deep learning is the cutting edge technology that enables machines to learn from large-scale and complex datasets.  Ethical implications of deep learning and its applications will be covered and the course will focus on how deep neural networks are applied to solve a wide range of problems in areas such as natural language processing, and image processing.  Other applications such as financial predictions, game playing and robotics may also be covered.  Topics covered include linear and logistic regression, artificial neural networks and how to train them, recurrent neural networks, convolutional neural networks, generative models, deep reinforcement learning, and unsupervised feature learning.

Prerequisites: Basic programming skills, e.g., Python is required.

FITE7405. Techniques in computational finance (6 credits)

This course introduces the major computation problems in the field of financial derivatives and various computational methods/techniques for solving these problems.  The lectures start with a short introduction on various financial derivative products, and then move to the derivation of the mathematical models employed in the valuation of these products, and finally come to the solving techniques for the models.

Pre-requisites: No prior finance knowledge is required.  Students are assumed to have basic competence in calculus and probability (up to the level of knowing the concepts of random variables, normal distributions, etc.).  Knowledge in at least one programming language is required for the assignments/final project.

FITE7406. Software development for quantitative finance (6 credits)

This course introduces the tools and technologies widely used in industry for building applications for Quantitative Finance.  From analysis and design to development and implementation, this course covers: modeling financial data and designing financial application using UML, a de facto industry standard for object oriented design and development; applying design patterns in financial application; basic skills on translating financial mathematics into spreadsheets using Microsoft Excel and VBA; developing Excel C++ add-ins for financial computation.

Pre-requisites: This course assumes basic understanding of financial concepts covered in COMP7802.  Experience in C++/C programming is required.

FITE7407. Securities transaction banking (6 credits)

The course introduces the business and technology scenarios in the field of Transaction Banking for financial markets.  It balances the economic and financial considerations for products and markets with the organizational and technological requirements to successfully implement a banking function in this scenario.  It is a crossover between studies of economics, finance and information technology, and features the concepts from basics of the underlying financial products to the latest technology of tokenization of assets on a Blockchain.

FITE7410. Financial fraud analytics (6 credits)

This course aims at introducing various analytics techniques to fight against financial fraud.  These analytics techniques include, descriptive analytics, predictive analytics, and social network learning.  Various data set will also be introduced, including labeled or unlabeled data sets, and social network data set.  Students learn the fraud patterns through applying the analytics techniques in financial frauds, such as, insurance fraud, credit card fraud, etc.

Key topics include: Handling of raw data sets for fraud detection; Applications of descriptive analytics, predictive analytics and social network analytics to construct fraud detection models; Financial Fraud Analytics challenges and issues when applied in business context.

Required to have basic knowledge about statistics concepts.

FITE7411. RegTech in finance (6 credits)

The course studies the use of regulatory technology, or RegTech, in the context of regulatory monitoring, reporting and compliance.  It demonstrates that the true potential of RegTech lies in its ability to effect a profound transition from a Know Your Customer (KYC) to a Know Your Data (KYD) approach, which relies on efficient processes for the collection, formatting and analysis of reported data.  The course covers the RegTech landscape and global challenges, the use of innovative technologies and disruption, RegTech investment, application for authorized institutions and industry adoption, illustrated with initiatives and examples in the Hong Kong context.  It also discusses social impact and regulation, and the future development of RegTech.

keyboard_arrow_up