Departmental Coursework Requirement for Research Postgraduate Students

 

a) For MPhil/PhD students registered between February 2013 and January 2017, the coursework requirements are as follows:

  1. MPhil students are required to take two Graduate Courses, at least one of which must be a core course. Note 1
  2. four-year PhD students are required to take four Graduate Courses, at least two of which must be core courses.  Note 2
  3. On an exceptional basis, interdisciplinary research students may be allowed to take courses deviating from i) or ii) above as recommended by their supervisors, subject to approval of the Departmental Research Postgraduate Committee.

b) For MPhil/PhD students registered from February 2017 onwards, the coursework requirements are as follows:

  1. MPhil students are required to take two Graduate Courses, at least one of which must be a core course. Note 1
  2. four-year PhD students are required to take four Graduate Courses, at least one of which must be a core course. Note 2
  3. On an exceptional basis, interdisciplinary research students may be allowed to take courses deviating from i) or ii) above as recommended by their supervisors, subject to approval of the Departmental Research Postgraduate Committee.

Below is the list of the Graduate Courses to be offered to MPhil/PhD students in the Department of Computer Science:

Course Code Course Title

Core Courses

COMP9102 Data Management and Information Retrieval
COMP9301 Systems Design and Implementation
COMP9501 Machine Learning
COMP9601 Theory of Computation and Algorithm Design
COMP9602 Convex Optimization

Electives

COMP8101 Advanced Topics in Data Engineering
COMP8301 Advanced Topics in Computer Systems
COMP8302 Advanced Operating Systems
COMP8501 Advanced Topics in Computer Graphics
COMP8503 Advanced Topics in Visual Analytics
COMP8504 Geometric Modeling and Computing
COMP8505 Advanced Topics in Language Models
COMP8602 Bioinformatics Algorithms
COMP8603 Probabilistic Method and Randomized Algorithms
COMP8604 Algorithmic Game Theory
COMP8606 Quantum Computing: Algorithms and Implementation
COMP8802 Foundations on Digital Forensics and Security
 
Note 1 MPhil students are permitted to replace one Graduate Elective Course with two courses from the MSc(CompSc) Programme or one graduate course offered by other departments, subject to the approval of the Departmental Research Postgraduate Committee.
Note 2 PhD students are permitted to replace two Graduate Elective Courses with courses from the MSc(CompSc) Programme and/or courses from graduate course offered by other departments, at the rate of two MSc(CompSc) courses for one Graduate Elective Course and one graduate course for one Graduate Elective Course, subject to the approval of the Departmental Research Postgraduate Committee.
 
 

Course Descriptions

COMP9102. Data Management and Information Retrieval

This course presents principles of data representation, search, and information retrieval. Topics include: data types and representations; search operations; performance and correctness measures for search; similarity between entities; indexing; query evaluation and optimization; basic data mining tasks; search in multi-dimensional data; information retrieval techniques; search in large graphs; distributed and parallel data management.

COMP9301. Systems Design and Implementation

This course presents the principles behind the design and building of computer systems, in particular systems needed in the process of tackling a research problem. Some of these principles lead directly to objectives and properties that are desirable in systems of any type, including correctness, scalability, high performance, ease of use, trustworthiness and reliability. Some important implementation techniques that are applicable to a wide range of systems will be discussed. To assess a system against its objectives, rigorous testing and evaluation procedures need to be followed, which are part of the focus of the course.

COMP9501. Machine Learning

This course introduces (1) the basic concepts of machine learning and core machine learning models and methods, including supervised learning, non-supervised learning, classification, and regression; (2) the machine learning pipeline including data gathering, preprocessing, visualization; selecting machine learning models and tuning hyper-parameters; training, validation, and testing; (3) case studies of machine learning applications including handling large datasets. The course consists of several assignments as well as a final project that lets students apply machine learning to their individual/group research projects.

COMP9601. Theory of Computation and Algorithm Design

This course presents principles of theoretical computer science focusing on algorithmic design and complexity analysis. Topics include: theoretical models of computation; computational complexity; design and analysis of algorithms and data structures (possible topics: graphs, pattern matching, computational geometry); approximation and online algorithms.

Prerequisite: CSIS0250/COMP3250 Design and Analysis of Algorithms or equivalent

COMP9602. Convex Optimization

This course presents the theory, algorithms and applications of convex optimization. Main topics to be included: convex functions; linear programming; quadratic programming, semidefinite programming, geometric programming; integer programming; duality and Lagrangian relaxation; Newton’s method; Simplex algorithm; interior point method; a brief introduction to game theory. 

Prerequisite: Linear algebra

 

COMP8101. Advanced Topics in Data Engineering

This course will discuss and study research topics and current problems of interest in the field of data engineering.

COMP8301. Advanced Topics in Computer Systems

This course will discuss and study research topics and current problems of interest in the field of computer systems.

COMP8302. Advanced Operating Systems

Driven by the dramatically increasing computational demand and the volume of data, today’s operating systems are undergoing significant changes, including moving from single machine towards thousands of machines, and from single CPU core to many heterogeneous cores. Designing and implementing such operating systems require an intelligent, clean combination of broad techniques, including distributed systems, advanced networking, high performance computing, security, and databases. This course will discuss hot research topics and present new designs on realizing such operating systems. This course will be particularly suitable for RPg students from systems, networking, database, and security groups.

COMP8501. Advanced Topics in Computer Graphics

This course will study advanced topics in modeling, animation and rendering as well as discuss current research problems in the field of computer graphics.

COMP8503. Advanced Topics in Visual Analytics

This course presents the theory, algorithms and applications of visual analysis and information visualization. Main topics to be included: basic charts and graphs; hierarchical structure visualization; graph drawing; network visualization; focus+context; database visualization; clustering; multidimensional scaling; manifold learning; anomaly detection.

COMP8504. Geometric Modelling and Computing

This course is designed to provide the students with systematic training to understand the state-of-the-art methods in geometric modelling and computing. It covers basic theories, such as affine geometry, differential geometry, algebraic geometry, as well as applications to shape modelling and process, including shape modelling, geometric processing, and mesh generation. The students will have opportunities to present and discuss recent advances in shape modelling and geometric computing. The students are encouraged to work on course projects that apply the concepts and techniques they learn in the course to solve problems in their own fields of research.

COMP8505. Advanced Topics in Language Models

This advanced course in language models is designed to provide students with an in-depth understanding of the latest techniques and approaches used in natural language processing. The course will cover a wide range of advanced topics related to language models, covering neural architectures, training/inference algorithms, and scientific applications. Students will also explore the latest research in language modeling, including the use of pre-trained language models such as BERT, GPT, and T5. Throughout the course, students will be challenged to think critically about the advantages and limitations of different approaches to language modeling. They will be expected to develop their own research questions and apply their knowledge to independent research projects. By the end of the course, students will have a deep understanding of the latest techniques and approaches used in language modeling, and will be prepared to contribute to cutting-edge research in the field.

COMP8602. Bioinformatics Algorithms

This course presents important computational problems arising from the biology and genomics context, important algorithmic techniques and indexing data structures such as dynamic programming, graph/tree algorithms, hidden markov models, suffix tree/array, and Burrow-Wheeler transform (BWT), that are useful for solving these computational biological problems, data engineering techniques such as memory-efficient implementation of data structures and algorithms that are critical for memory and/or computational-intensive applications. Selected problems include, but not limited to: various assembling problems; biological sequence alignment; multiple sequence alignment; RNA secondary structural alignment/prediction; structural variation detection; and phylogenetic tree/network reconstruction.

COMP8603. Probabilistic Method and Randomized Algorithms

This course is designed for students who have a basic knowledge in algorithms and would like to study more advanced topics in the subject. 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. The surprising phenomenon that independent random sources can give rise to almost certain events is known as measure concentration, and this principle forms the basis of the analysis of many randomized algorithms. This course is taught in the style of a mathematics class and we put emphasis on understanding how the various techniques work. However, we explain the subject from the computer scientist’s viewpoint - our approach is rigorous, but not pedantic.

COMP8604. Algorithmic Game Theory

This course covers various topics at the interface of theoretical computer science and economics. Our main focus will be on algorithmic tools in mechanism design, price of anarchy in games, and algorithms and complexity theory for learning and computing Nash and market equilibria.

COMP8606. Quantum Computing: Algorithms and Implementation

Quantum computing is a radical new approach to computer science, with applications in a variety of areas. In this course, we will see how to build a quantum computer, and how to run faster computations with a quantum computer. The course consists of four major parts: basics of quantum computing, quantum algorithms, realization of quantum computing, and near-term applications of quantum computing. We start by a gentle introduction to the core of quantum computing and then introduce representative quantum algorithms including the quantum algorithms for factorization, for searching, and for solving linear systems. Next, we will proceed with the state-of-the-art realizations of quantum computing, discussing how to cope with noises. At last, we will introduce algorithms that can be executed on a near-term quantum computer, with applications in finance, chemistry, and machine learning. Tutorials will also be offered on how to program a quantum computer and to design quantum algorithms.

Prerequisite: Linear algebra

COMP8802. Foundations on Digital Forensics and Security

This course presents the foundations of information security and digital forensics. Topics include: cryptography, system security, software security, steganography and watermarking, network security including Web security, authentication systems and access control, computer forensics models, different digital forensics techniques including real-time forensics, file system forensics, network forensics and mobile forensics.

Prerequisites:
(1) CSIS0327/COMP3327 Computer and Network Security or equivalent
(2) CSIS0230/COMP3230 Principles of Operating Systems or equivalent

 

November 15, 2023

Department of Computer Science
Rm 301 Chow Yei Ching Building
The University of Hong Kong
Pokfulam Road, Hong Kong
香港大學計算機科學系
香港薄扶林道香港大學周亦卿樓301室

Copyright © Department of Computer Science, Faculty of Engineering, The University of Hong Kong. All rights reserved.

Privacy Policy
Don't have an account yet? Register Now!

Sign in to your account