Spring 2023 CS Course Listings

This file contains the Spring 2023 course listings for the Department of Computer Science and Engineering.

Archive of past courses


Course code: COMP5111
Course title: Fundamentals of Software Analysis
Instructor: Prof. Shing-Chi Cheung
Room: 2534
Telephone: 2358-7016
Email:
WWW Page:

Area in which course can be counted: Software Engineering and Programming Languages (SEPL)

Course description:
The goal of this course is to introduce how various analysis techniques can be used to manage software code quality. Students will acquire fundamental knowledge of fault analysis, test coverage, program instrumentation, test generation, fault localization, mutation analysis, program repair, pointer analysis, program abstraction, mining software repositories and vulnerability analysis. The course will also discuss how to carry out the empirical experimentation. Wherever applicable, concepts will be complemented by tools developed in academia and industry. This enables students to understand the maturity and limitations of various testing and analysis techniques. The course requires prior programming knowledge in Java.

Course objective:
Students will attain the following on completion of the course:
* knowledge of the software quality assurance;
* understanding of principles of software analysis and testing;
* ability to deploy software quality measures to real life projects;
* hands-on experience in applying software analysis and testing tools.

Course outline/content (by major topics):
Program Analysis, Testing, Fault Analysis, Tool Automation, Concurrency, Empirical Experimentation

Textbooks:

Reference books/materials:
* Conferences: Proceedings of ICSE, FSE, PLDI, OOPSLA, ISSTA and ASE.
* Journals: ACM TOSEM & IEEE TSE.
* Software Engineering, Ivan Marsic, Rutgers University, 2012.
* Introduction to Software Testing, Paul Ammann and Jeff Offutt, Cambridge University Press, 2008.
* Software Testing and Analysis: Process, Principles and Techniques, Mauro Pezze and Michal Young, John Wiley and Sons, 2007.
* How Google Tests Software, James A. Whittaker, Jason Arbon, Jeff Carollo, Addison-Wesley, 2012.
* Head First Java, Kathy Sierra and Bert Bates, O'Reilly Media, Inc.

Grading scheme:
Programming Assignments: 40%
Reading Assignment: Report, Presentation & Participation: 20%
Examination: 40%

Available for final year UG students to enroll: Yes

Minimum CGA required for UG students: Permission of the instructor.


Course code: COMP5212
Course title: Machine Learning
Instructor: Prof. Nevin Zhang
Room: 2541
Telephone: 2358-7015
Email:
WWW Page: https://cse.hkust.edu.hk/faculty/lzhang/

Area in which course can be counted: Artificial Intelligence (AI)

Course description:
This course covers core and recent machine learning algorithms. Topics include supervised learning algorithms (linear regression, logistic regression, generative models for classification, learning theory), deep learning algorithms (feedforward neural networks, convolutional neural networks, adversarial attacks, Explainable AI, recurrent neural networks, Transformer and BERT), unsupervised learning algorithms (variational autoencoders, generative adversarial networks), and reinforcement learning (classic RL, deep RL).

Background:
Computer science: object-oriented programming and data structures, design and analysis of algorithms; Mathematics: multivariable calculus, linear algebra and matrix analysis, probability and statistics.

Course objective:
Upon successful completion of the proposed course, students will be able to:
* Gain an overview of Machine Learning as a subject of study;
* Gain an understanding of the fundamental issues and principles in machine learning;
* Gain an understanding of core and recent machine learning algorithms;
* Gain an ability to apply core and recent machine learning algorithms to solve real-world problems.

Course outline/content (by major topics):
* Introduction to Machine Learning
* Basics of Probability/Information Theory
* Supervised Learning
    * Polynomial Regression and Basic ML Issues
    * Logistic Regression and Basic Optimization
    * Generative Models and Naive Bayes
    * The Bias-Variance Decomposition
* Deep Learning
    * Deep Feedforward Networks
    * Convolutional Neural Networks
    * Adversarial Attacks
    * Explainable AI
    * Recurrent Neural Networks
    * Transformer and BERT
* Unsupervised Learning
    * Variational autoencoders
    * Generative adversarial networks
* Reinforcement Learning
    * Introduction to RL
    * Value-Based Deep RL
    * Policy-Based Deep RL
* Deployment Issues (This part will not be included in the final exam)
    * Adversarial Attacks
    * Explainable AI

Textbooks:

Reference books/materials:
o Andrew Ng. Lecture Notes on Machine Learning. Stanford. https://cs229.stanford.edu/syllabus.html
o I Goodfellow, Y Bengio, A Courville (2016). Deep Learning. MIT Press. https://www.deeplearningbook.org/
o K. P. Murphy (2012). Machine Learning: A Probabilistic Perspective. MIT Press. (Available online via university library)
o E. Alpaydin (2014). Introduction to Machine Learning. Third Edition. MIT Press. (Available online via university library)
o C. M. Bishop (2006). Pattern Recognition and Machine Learning. Springer. (Available online via university library)
o R. Sutton and A. Barto (1998). Reinforcement Learning. MIT Press.

Workload and Grading:
o 4 Written Assignments: (4x4%)
o Projects: (30%)
o Final examination: (54%)

Available for final year UG students to enroll: PG students have higher priority to enroll in this course. UG students will be considered only if there are spare quota.

Minimum CGA required for UG students: N/A

COMP5212 is a postgraduate level course. Most of the students enrolled in the course have taken a course on Machine Learning during their undergraduate studies already. It is hence designed as a second course on Machine Learning. Here is a comment on the course by a student from last year: “The course is very up-to-date and I have learned a lot from the course as a ML major PhD student. However, some classmates may found it difficult to follow without related background.” Perspective students are advised to consider this factor when deciding whether to take the course.


Course code: COMP5214
Course title: Advanced Deep Learning Architectures
Instructor: Dr. Qifeng Chen
Room: 3519
Telephone: 2358-8838
Email:
WWW Page:

Area in which course can be counted: Artificial Intelligence (AI)

Course description:
This course focuses on advanced deep learning architectures and their applications in various areas. Specifically, the topics include various deep neural network architectures with applications in computer vision, signal processing, graph analysis, and natural language processing. Different state-of-the-art neural network models will be introduced, including graph neural networks, normalizing flows, point cloud models, sparse convolutions, and neural architecture search. The students have the opportunities to implement deep learning models for some AI-related tasks such as visual perception, image processing and generation, graph processing, speech enhancement, sentiment classification, and novel view synthesis.

Course objective:
This course aims to achieve the following objectives:
* the students can have a broad knowledge of up-to-date advanced deep learning models in different areas;
* the students can utilize the deep learning architectures and techniques to solve the given programming assignments;
* the students can understand what problems can be addressed by deep learning models and solve a practical problem with deep learning through a course project;
* and the students can work in a team on a course project and present the work together.

Course outline/content (by major topics):
* Overview of deep learning: Basic architectures (CNN, RNN), Backpropagation, Loss functions
* Neural networks for image and video recognition tasks
* Neural networks for image and video processing tasks
* Deep 3D learning for point clouds, meshes, and volumetric data
* Deep 3D learning for stereo and multi-view data
* Graph neural networks for graph processing and analysis
* Sequential modeling and signal processing
* Deep generative models: Normalizing flow, GAN, Pix2pix, and CycleGAN
* Efficient neural networks
* Neural architecture search

Textbooks:

Reference books/materials:
o Zhang, A., Lipton, Z.C., Li, M. and Smola, A.J., 2019. Dive into deep learning. https://d2l.ai.
o Goodfellow, I., Bengio, Y., Courville, A. and Bengio, Y., 2016. Deep learning (Vol. 1, No. 2). Cambridge: MIT press.

Workload and Grading:
o Presentation: 5%
o Homework: 30%
o Final project: 35%
o Midterm: 30%

Available for final year UG students to enroll: Yes

Minimum CGA required for UG students: Permission of the instructor


Course code: COMP5221
Course title: Natural Language Processing
Instructor: Dekai Wu
Room: 3556
Telephone: 2358-6989
Email:
WWW Page:

Area in which course can be counted: Artificial Intelligence (AI)

Course description:
Techniques for parsing, interpretation, context modeling, plan recognition, generation. Emphasis on statistical approaches, neuropsychological and linguistic constraints, large text corpora. Applications include machine translation, dialogue systems, cognitive modeling, and knowledge acquisition.

Background: COMP 3211

Exclusion(s): COMP 4221

Course objective:
(TBA)

Course outline/content (by major topics):
(TBA)

Textbooks:
(TBA)

Reference books/materials:
(TBA)

Grading scheme:
30% - 3 to 4 assignments
5% - participation (in class and on forum)
15% - midterm
20% - final
30% - project

Available for final year UG students to enroll: Yes

Minimum CGA required for UG students: Permission of instructor


Course code: COMP5311
Course title: Database Architecture and Implementation
Instructor: Prof. Dimitris Papadias
Room: 3555
Telephone: 2358-6971
Email:
WWW Page: https://cse.hkust.edu.hk/~dimitris/5311/5311.html

Area in which course can be counted: Data, Knowledge and Information Management (DB)

Course description:
The course is divided in two parts: (i) background material taught by the instructor, (ii) specialized topics presented by students. In addition to their presentation, students have to submit a survey on the topic by the end of the semester.

Exclusion(s): COMP 3311

Course objective:
Introductory database class for graduate student that includes the relational model and SQL, disk and memory management, access methods, implementation of relational operators, query processing and optimization, transaction management and recovery. Moreover, students are expected to acquire presentation and writing skills.

Course outline/content (by major topics):
* E/R Model
* Relational Model and Algebra
* SQL
* Functional Dependencies and Relational Database Design
* File Systems
* Tree and Hash Indexes
* Query Processing and Implementation of Relational Operators
* Query Optimization
* Transactions

Textbooks:
Database System Concepts, A. Silberschatz, H. Korth, and S. Sudarshan.

Reference books/materials:
* Database Management Systems, Raghu Ramakrishnan and Johannes Gehrke.

Grading scheme:
50% final exam, 20% presentation, 20% survey, 10% class participation

Available for final year UG students to enroll: No (UG students are encouraged to take COMP 3311)


Course code: COMP5421
Course title: Computer Vision
Instructor: Prof CK Tang
Room: 3538
Telephone: 2358-8775
Email:
WWW Page:

Area in which course can be counted: Vision and Graphics (VG)

Course description:
This course provides a comprehensive introduction to computer vision. Major topics include image processing, detection and recognition, geometry-based and physics-based vision and video analysis. Students will learn basic concepts of computer vision as well as hands on experience to solve real-life vision problems.

Background:
Instructor's approval is required for undergrad students to register the course for credit. We require that enrolled undergrad students should have GPA 3.7 (and grad students as well) or above because the course is programming intensive and require good mathematics skills.
Data structures and algorithms (COMP 3711)
Linear algebra (MATH 2111)
Matrix algebra and applications (MATH 2121)
A good working knowledge of Python programming

Course objective:
Same as listed in the course catalogue/academic calendar.

Course outline/content (by major topics):
1 Introduction
2 Image filtering
3 Image pyramids and (some) Fourier transform
4 Hough transform
5 Corner detection
6 Feature descriptors and matching
7 2D transformations
8 Image homographies
9 Camera models
10 Two-view geometry
11 Stereo
12 Structure from motion
13 Radiometry and reflectance
14 Radiometry continued
15 15 Photometric stereo and shape from shading
16 Image processing pipeline
17 Introduction to recognition
18 Bag of words
19 Neural networks
20 Convolutional neural network
21 Optical flow
22 Alignment and tracking
23 Correlation filters
24 Temporal models and SLAM
25 Graph-based methods

Textbooks:
Computer Vision: Algorithms and Applications, by Richard Szeliski.

Reference books/materials:
* Multiple View Geometry in Computer Vision, by Richard Hartley and Andrew Zisserman.
* Computer Vision: A Modern Approach, by David Forsyth and Jean Ponce.
* Dgital Image Processing, by Rafael Gonzalez and Richard Woods.

Grading scheme:
The breakdown is subject to change as a whole and adjustments on a per-student basis in exceptional cases. This is the general breakdown we'll be using:
Five programming assignments: 70%
Final Exam: 30%
Programming assignments are individual. Though you may discuss the problems with others, your answers must be your own.
There is no midterm. The final is comprehensive and is a closed-book-closed-notes exam.

Available for final year UG students to enroll: Yes

Minimum CGA required for UG students: A- and permission of the instructor


Course code: COMP5631
Course title: Cryptography and Security
Instructor: Prof. Cunsheng Ding
Room: 2533
Telephone: 2358-7021
Email:
WWW Page: https://cse.hkust.edu.hk/faculty/cding/

Area in which course can be counted: Software Engineering and Programming Languages (SEPL)

Course description:
This course gives an in depth coverage of the theory and applications of cryptography, and system security. In the part about cryptography, basic tools for building security systems are introduced. The system security part includes electronic mail security, IP security, Web security, VPNs, and firewalls.

Course objective:
After completion of this course, students will display a breadth of knowledge of both the principles and practice of cryptography and systems security, and master basic tools for building security systems.

Course outline/content (by major topics):
History of cryptography, classical ciphers, design and analysis of block ciphers and stream ciphers, public-key cryptography, hash functions, digital signature, group signature, proxy signature, user and data authentication, data integrity, nonrepudiation, Key management, public key infrastructure, cryptographic protocols, email security, web security, network security, VPNs, distributed systems security.

Textbooks:
No textbook, but lecture slides will be posted online.

Reference books/materials:
* W. Stallings, Cryptography Theory and Network Security, Fourth/Fifth Edition, Pearson Education.

Grading scheme:
Assignments, course project, midterm and final examination.

Available for final year UG students to enroll: Yes

Minimum CGA required for UG students: A-


Course code: COMP5712
Course title: Introduction to Combinatorial Optimization
Instructor: Sunil Arya
Room: 3514
Telephone: 2358-8769
Email:
WWW Page: https://cse.hkust.edu.hk/~arya/

Area in which course can be counted: Theoretical Computer Science (TH)

Course description:
* An introduction to the basic tools of Combinatorial Optimization.
* Includes: Linear Programming, Matching, Network Flow, Approximation Algorithms.

Background: COMP3711 or equivalent + Linear Algebra

Course objective:
Upon completion of this course students will have been introduced to many of the most basic tools of combinatorial optimization and will be able to apply them towards designing efficient algorithms in their own research domains.

Course outline/content (by major topics):

Textbooks:

Reference books/materials:
Jiri Matousek and Bernd Gartner. Understanding and using linear programming, Springer, 2006.
Vijay Vazirani. Approximation algorithms, Springer, 2001.
David P. Williamson and David B. Shmoys. The design of approximation algorithms, Cambridge University Press, 2011
Jon Kleinberg and Eva Tardos. Algorithm design, Pearson/Addison-Wesley, 2006.

Grading scheme:
Homework, midterm and final examination.

Available for final year UG students to enroll: Yes

Minimum CGA required for UG students: Instructor Permission required.


Course code: COMP6211H
Course title: Deep Learning in Medical Image Analysis
Instructor: Dr. Hao CHEN
Room: 3524
Telephone: 2358-8346
Email:
WWW Page:

Area in which course can be counted: Artificial Intelligence (AI) or Vision and Graphics (VG)

Course description:
Nowadays medical image analysis is rapidly growing and plays an indispensable role in healthcare. Recent advances of deep learning techniques have made significant breakthroughs in medical image analysis applications. This course will cover fundamental knowledge of medical imaging and various medical image analysis tasks, including computer-aided detection, segmentation, diagnosis and prognosis. Deep learning methods for solving these tasks will be introduced and state-of-the-art methods will be discussed. The remaining significant challenges and limitations will also be presented, including limited amount of labeled data, deep learning with interpretation and generalization issues, etc. This course will equip students with practical knowledge of medical imaging and analysis with deep learning techniques.

Background:
Instructor's approval is required for undergraduate students to register the course for credits. Basic knowledge about image processing and machine learning are beneficial.

Course objective:
The objectives of the course are to help the students:
* Obtain the basic knowledge of medical imaging techniques and various medical image analysis tasks.
* Learn the fundamentals in deep learning methods for medical imaging and analysis.
* Master and apply the skills of deep learning technologies in medical image analysis tasks, including computer-aided detection, diagnosis and prognosis, etc.
* Gain the current research and development trends in both academia and industry in the domain of medical imaging and analysis.

Course outline/content (by major topics):
1. Introduction to Medical Image Analysis;
2. Fundamentals of Deep Learning;
3. Medical Image Classification;
4. Medical Image Segmentation;
5. Medical Image Registration;
6. Label-efficient Learning in MIA;
7. Anomaly Detection in MIA;
8. Attention Mechanism in MIA;
9. Interpretability in MIA;
10. Domain Generalization/Adaptation in MIA;
11. Federated Learning with Privacy-preserving;
12. Multimodal Learning in Healthcare;
13. Advances and Applications.

Reference books/materials:
Toennies, Klaus D. Guide to medical image analysis. Springer London, 2017.
Goodfellow, Ian, Yoshua Bengio, and Aaron Courville. Deep learning. MIT press, 2016.
Dhawan, Atam P. Medical image analysis. Vol. 31. John Wiley & Sons, 2011.
Zhou, S. Kevin, Hayit Greenspan, and Dinggang Shen, eds. Deep learning for medical image analysis. Academic Press, 2017.

Grading scheme:
Assignments 40%; Final project 60%.

Available for final year UG students to enroll: Yes

Minimum CGA required for UG students: B


Course code: COMP6211I
Course title: Trustworthy Machine Learning
Instructor: Dr. Minhao Cheng
Room: 2542
Telephone: 2358-7011
Email:
WWW Page: https://cse.hkust.edu.hk/~minhaocheng/

Area in which course can be counted: Artificial Intelligence (AI)

Course description:
Deep learning models have demonstrated their effectiveness on a variety of domains and tasks. However, because of their black-box nature, deploying these models often leads to concerns as to their safety, especially in security-critical environments. This course covers different topics in emerging research areas to build a trustworthy machine learning system. Topics include Training-time integrity, Testing-time integrity, Confidentiality of model and data, Privacy, Safety and Explainablity.

Background:
Computer science: Machine learning basics, Mathematics: multivariable calculus, linear algebra and matrix analysis, probability and statistics, Python

Course objective:
Upon successful completion of the proposed course, students will be able to:
* Gain an overview of Trustworthy Machine Learning as a subject of study;
* Gain an understanding of the trustworthy issues in current machine learning;
* Familiarize themselves with the emerging research areas in trustworthy machine learning;
* Gain an understanding on the difficulty in applying recent machine learning algorithms to solve real-world problems.

Course outline/content (by major topics):
* Introduction
* Fundamentals of machine learning
* Training time integrity (Attacks & Defenses)
* Test-time integrity (Attacks & Defenses)
* Verification
* Confidentiality (Model & Data)
* Privacy(Attacks & Defenses)
* Safety
* Fairness & Ethics
* Explainable AI

Textbooks:

Reference books/materials:
o Nicolas Papernot. Lecture Notes on Trustworthy Machine Learning. U of Toronto. https://www.papernot.fr/teaching/f19-trustworthy-ml

Workload and Grading:
o Paper Presentations: (25%)
o Paper Summaries (15%)
o Class Participation: (15%)
o Term Project: (45%)

Available for final year UG students to enroll: Yes

Minimum CGA required for UG students: B and permission of the instructor


Course code: 6613D (co-list with COMP 4911/ENTR4911)
Course title: Start me up: Creating value with information technology
Instructor: Prof. Gary Chan
Room: 2539
Telephone: 2358-6990
Email:
WWW Page: https://course.cse.ust.hk/comp4911/

Area in which course can be counted: Networking and Computer Systems (NE)

Course description:
This is a "startup garage" course covering elements of founding new and innovative business ventures in information technology sector. Topics include the entrepreneurial risk-taking value-creation mindset, business models, business plan, fundraising and investment, role and protection of intellectual properties, technology and market gap, entrepreneurial technology transfer, and growth and exit strategies. Case studies of successful and failed ventures will be discussed. In-class student participation and presentation are expected. Business students and students from other schools are also welcome. Research postgraduate students are expected to develop prototypes and business plans based on their research findings and technologies.

Background:
Any postgraduate students from all schools who are interested in starting up IT-related ventures. RPGs (MPhil and PhD candidates) of any majors with research topics are especially welcome.

Course objective:
After successful completion of the course students should know what is required to start a successful IT business. They will learn how to write a business plan to attract funding, the elements to form a winning team of people, understand and follow legal requirements, the steps required to move the company from the start-up phase to operating phase, and the factors to consider to exit and reap the rewards. They will also learn how to make succinct presentations of their ideas and communicate effectively in a team setting.

Course outline/content (by major topics):
* The entrepreneurial risk-taking value-creation mindset
* Business analysis and plan
* Business model development
* The role and protection of innovations
* VC, financing, fund raising and share structuring
* From 0 to exit: Building up your company
* Pitching and marketing your products
* Case studies and discussions

Reference books/materials:
N/A

Grading scheme:
3 Group projects (50%);
Individual lecture attendance (16%);
Class participation (7%);
Peer voting (4%);
Seminar reports and/or competitions (15%);
In-class exam (8%).

Available for final year UG students to enroll: No. UG should enroll into COMP/ENTR 4911

Minimum CGA required for UG students: N/A


Please visit Class Schedule & Quota (Spring 2023) for the timetable and quota.


Archive of past courses

Last modified on 2023-01-26.