Spring 2019 CS Course Listings

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

Archive of past courses


Course code: COMP5111
Course title: Fundamentals of Software Analysis
Instructor: Shing-Chi Cheung
Room: 2534
Email:
WWW Page:

Area in which course can be counted: ST

Course description:
The goal of this course is to introduce how various analysis techniques can be used to manage the quality of a software application. Students will acquire fundamental knowledge of program abstraction, quality assurance, testing, refactoring, concurrency, fault analysis, program repair, and vulnerability analysis. The course will also discuss how to carry out the empirical experimentation for program analysis. Wherever applicable, concepts will be complemented by tools developed in academia and industry. This enables students to understand the maturity and limitations of various analysis and testing techniques.
Course objective:
Students will attain the following on completion of the course:
*knowledge of the software quality assurance;
* understanding of principles of parallel algorithm design;
* 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.(Download here)
* 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:
Class Participation: 5%
Assignments: 40%
Reading Report, Presentation & Participation: 15%
Final Exam: 40%

Available for final year UG students to enroll: Yes

Minimum CGA required for UG students: Permission of the instructor


Course code: COMP5112
Course title: Parallel Programming
Instructor: Dr. Qiong Luo
Room: 3511
Telephone: 2358-6995
Email:
WWW Page:

Area in which course can be counted: ST

Course description:
Introduction to parallel computer architectures; principles of parallel algorithm design; shared-memory programming models; message passing programming models used for cluster computing; data-parallel programming models for GPUs; case studies of parallel algorithms, systems, and applications; hands-on experience with writing parallel programs for tasks of interest.

Exclusion(s): COMP 6111B, COMP 6511A, COMP 6611A
Background: COMP 3511 AND COMP 3711/COMP 3711H

Course objective:
Students will attain the following on completion of the course:
* knowledge of parallel computer architectures;
* understanding of principles of parallel algorithm design;
* knowledge of shared-memory and distributed-memory programming models;
* hands-on experience writing parallel programs of a task of interest.

Course outline/content (by major topics):
Introduction to parallel computer architectures;
principles of parallel algorithm design;
shared-memory programming models;
message passing programming models used for cluster computing;
data-parallel programming models for GPUs;
case studies of parallel algorithms, systems, and applications.

Reference books/materials:* Introduction to Parallel Computing, Second Edition. Ananth Grama, George Karypis, Vipin Kumar, Anshul Gupta. Addison-Wesley, 2003, ISBN: 0201648652.
* Programming Massively Parallel Processors: A Hands-on Approach. Second Edition. David B. Kirk and Wen-mei W. Hwu. Elsevier 2012. ISBN: 978-0124159921.

Grading scheme:
project 50%, final exam 50%



Course code: COMP5213
Course title: Introduction to Bayesian Networks
Instructor: Nevin L. Zhang
Room: 2404
Telephone: 2358-7014
Email:
WWW Page:
https://course.cse.ust.hk/comp5213/

Area in which course can be counted: AI

Course description:
Here is the official course description that was written some years ago: “Bayesian networks and probabilistic modeling of complex domains; conditional independence and graph separation; variable elimination, clique tree propagation, and other inference algorithms; parameter learning; structure learning; latent structure models; recent developments.”
The field of AI has undergone drastic changes in recent years. The contents of this course have also been changing over time in response. In the 2019 Spring offering, we will start with recent developments in unsupervised learning (variational autoendcoder, generative adversarial networks, deep belief networks) and in reinforcement learning (value-based and policy-based deep reinforcement learning). Then we will move to “traditional” probabilistic models for unsupervised learning (Bayesian networks, mixture models and topic models).
This course is designed to complement COMP 5212, which focuses more on supervised learning.
Course outline/content (by major topics):

• Preparation


o Introduction to course
o Multivariate Probability and Information Theory

• Part I: Deep Unsupervised Learning

o Variational Autoencoder
o Generative Adversarial Networks
o Deep belief networks

• Part II: Deep Reinforcement Learning

o Introduction to RL
o Value-Based Deep RL
o Policy-Based Deep RL

• Part III: Bayesian networks

o Basic concepts
o Inference
o Parameter learning
o Structure learning

• Part IV: Latent variable models

o Mixture models
o Latent tree models
o Topic models

Textbooks:
A fairly detailed set of lecture notes will be provided.
Reference books/materials:
• Recent developments are cited in the lecture notes.
• K. Murphy. Machine Learning: A Probabilistic Perspective. The MIT Press, 2012. (Available online via university library)
• B, D. Koller and N. Friedman. Probabilistic Graphical Models. The MIT Press, 2009. (Available online via university library)
• I Goodfellow, Y Bengio, A Courville (2016). Deep Learning. MIT Press. http://www.deeplearningbook.org/
• R. Sutton and A. Barto (1998). Reinforcement Learning. MIT Press.
• 张连文,郭海鹏. 《贝叶斯网引论》, 科学出版社,2007. Electronic version available within the hkust domain
Workload and Grading scheme:
• Homework: 10%
• Term Project: 30%
• Final Exam: 60% (Required for all PG Core courses.)
The written assignments are designed to help the students prepare for the final exam. The questions in the final exam will be similar to the homework questions. Each homework assignments will be graded on the scale of 0-3: 0 – missing or all wrong; 1 – mostly incorrect; 2 – mostly correct with major errors; 3 – mostly correct with only minor errors.
Pre-requisites:
This course is intended to complement COMP 5212: Machine Learning. Students who have not taken the course or similar courses before need to acquire a basic understanding of deep feedforward neural networks and convolutional neural networks.
Available for final year UG students to enroll: Yes.

Minimum CGA required for UG students: A-


Course code: COMP5311
Course title: Database Architecture and Implementation
Instructor: Dr. Qiong Luo
Room: 3511
Telephone: 2358-6995
Email:
WWW Page:

Area in which course can be counted: DB

Course description:
Introduction to the relational model and SQL. System architectures and implementation techniques of database management systems: disk and memory management, access methods, implementation of relational operators, query processing and optimization, transaction management and recovery. Hands on experience with building the components of a small DBMS.
Exclusion(s): COMP 3511

Course objective:
Introductory database class for graduate students. The students are expected to learn basic concepts and implementation techniques of relational databases and advanced RDBMS applications.
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% project, 50% final exam
Available for final year UG students to enroll: YES


Course code: COMP5421
Course title: Computer Vision
Instructor: Quan Long
Room: 3506
Telephone: 2358-7018
Email:
WWW Page: http://cse.hkust.edu.hk/~quan/

Area in which course can be counted: VG

Course description:
Introduction to techniques for automatically describing visual data and tools for image analysis; perception of spatial organization; models of general purpose vision systems; computational and psychological models of perception.

Background: COMP3211 knowledge in linear algebra.

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

Course outline/content (by major topics):
1 Introduction
2 Image formation
3 Image filtering
4 Edge detection
5 Segmentation
6 Segmentation II
7 Texture
8 Projective geometry (handout)
9 Image warping
10 Stereo
11 Disparity by graph-cut
12 Surface from Stereo (Tensor voting)
13 Multiview stereo
14 Light
15 Photometric stereo
16 Optical flow
17 Structure from Motion

Textbooks:
Computer Vision : A Modern Approach, D. Forsyth and J. Ponce
Reference books/materials:
* Three-Dimensional Computer Vision, O. Faugeras, MIT Press, 1993
* Robot Vision, B.K.P. Horn, MIT Press, 1986 * A Guided Tour of Computer Vision, V. S. Nalwa, Addison Wesley, 1993
* Machine Perception, R. Nevatia, Prentice-Hall, 1982
* Computer Vision, L. G. Shapiro and G. C. Stockman, Prentice-Hall, 2001
* Machine Vision, R. Jain, R. Kasturi, and B.G. Schunck, McGraw-Hill, 1995
* Computer and Robot Vision vol. 2, R. Haralick and L. Shapiro, Addison-Wesley, 1992
* Object Recognition by Computer - The Role of Geometric Constraints, W.E.L.Grimson, MIT Press, 1990
* The Eye, the Brain and the Computer, Fischler and Firschein, Addison-Wesley, 1987
* Computer Vision, D. Ballard and C. Brown, Prentice-Hall, 1982
* Vision, David Marr, Freeman, 1982
* Digital Picture Processing, A. Rosenfeld and A. Kak, Academic Press, 1982
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 for Scheme 1:
Projects: 64%
Homeworks: 4%
Final Exam (Oral): 32%
Grading Scheme 2 targets at students in other research areas who need to fulfil the Vision/Graphics core requirement. The tentative breakdown for students signing up for Scheme 2 is as follow: Project #1 and Papers Critique: 26%
Homeworks: 4%
Final Exam (Written): 70%
The two schemes will be described during the first and/or second lecture in September. Computer projects and papers critique will be done in teams up to two students (three-student team is not permitted).
Homeworks are to be completed individually. Though you may discuss the problems with others, your answers must be your own.

Available for final year UG students to enroll: Yes

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


Course code: COMP5622
Course title: Advanced Computer Communications and Networking
Instructor: Qian ZHANG
Room: 3533
Telephone: 2358-8766
Email:
WWW Page: http://cse.hkust.edu.hk/~qianzh

Area in which course can be counted: NE

Course description:
This course discusses the advanced principles in computer and communication networking. More particularly, the following topics will be addressed during this course, including multimedia networking; P2P networking for content delivery; wireless networking and advanced topics for wireless networking; wireless sensor and senor networks; introduction to network security and wireless security; advanced topics related to congestion control.

Pre-requisites: COMP361/ELEC315/COMP561

Course objective:
Students taking this course will have a comprehensive training in all advanced and current aspects of computer networking. They will gain a thorough understanding of the theoretical issues, they will understand the basic principles behind some design choices and the will gain experience of some practical systems. They will understand the current evolution of the Internet and the future trends in the development of the field of networking, which will equip them with the necessary background to start their research in any area of networking.

Course outline/content (by major topics):

1) Review of the basic principles of computer networking
2) Multimedia Networking
3) P2P Networking
4) Advanced topics for wireless networking
5) IoT and mobile sensing
6) Network Security and Wireless Security
7) Advanced topics related to congestion control
8) Student Presentation (paper presentation and idea presentation)
Textbooks:
A collection of papers from journals, conference proceedings, and website need to be read.

Reference books/materials:
TBA
Grading scheme:
Paper Review and Presentation: 15 points
Project Proposal: 10 points
Idea Presentation: 10 points
Project Report: 30 points
Final Exam: 35 points
Available for final year UG students to enroll: Yes

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


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

Area in which course can be counted: 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:
Homeworks, midterm and final examination.

Available for final year UG students to enroll: Yes

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


Course code: COMP6211C
Course title: Robotic Perception and Learning
Instructor: Prof. Ming LIU
Room: CYT 2011
Telephone: 2358-7058
Email:
WWW Page: http://www.ram-lab.com

Area in which course can be counted: AI

Course description:
This course introduces the essential theoretical frameworks, methods, concepts, tools and techniques used to enable robotic perception and behavior, with particular emphasis on applications in autonomous mobile robots. The course starts from Bayesian programming and probabilistic methods, and then moves on to cover generic machine learning, especially deep learning. It also includes coverage of reinforcement learning. Important libraries for hand-on experiments for mobile robotic systems will be introduced. The students will have the opportunity to test their algorithms and implementations on real platforms.

Background:
Students are expected to have basic concepts in probability and linear algebra.
Course objective:
This course intends to deliver the state-of-the-art analysis and design tools for building a typical mobile robotic system. Students, after taking this course, are expected to know the basic concepts of machine learning, deep learning, sensor perception, and design tools for building a control system with desired performance and intelligence level.

Course outline/content (by major topics):
Week 1: Bayesian programming and probabilistic models
Week 2: Graphical Model and HMM
Week 3: Dynamic Bayesian Model and online filtering
Week 4: Kernel Methods and Computer Vision - classification
Week 5: Kernel Methods and Computer Vision - general methods
Week 6: Gaussian Process and finger-print-based modeling
Week 7: Sampling and filtering
Week 8: Supervised and Unsupervised Learning
Week 9: Point-cloud perception and representation
Week 10: Reinforcement Learning
Week 11: Deep Learning and convolutional networks
Week 12: Deep Reinforcement Learning
Week 13: Robotic Challenges (final project)

Reference books/materials:
J1. Sebastian Thurn, Probabilistic Robotics, Published in Communications of the ACM, Volume 45 Issue 3, 2002.
2. Christopher Bishop, Pattern Recognition and Machine Learning, Published by Springer, 2007.
3. Richard Hartley and Andrew Zisserman, Muliview Geometry in Computer Vision, Published by Cambridge University Press, 2000.

Grading scheme:
Homework: 3 sets each weights 10%
Mid-term exam: 20%
Final exam: 40%
Final project: 10%

Available for final year UG students to enroll: N/A

Minimum CGA required for UG students: N/A


Course code: COMP6211D
Course title: Deep Learning
Instructor: Dr. Qifeng Chen
Room: 3508
Telephone: 2358-8838
Email:
WWW Page: cqf.io

Area in which course can be counted: AI

Course description:
This course focuses on deep learning and its applications in various areas. The topics include the basis of deep learning and its applications in computer vision, 3D vision, sequential modelling, speech processing, graph processing, and generative models. Specifically, various forms of deep neural networks will be introduced, such as convolutional neural networks, context aggregation networks, recurrent neural networks, graph neural networks, and generative adversarial networks. The students have opportunities to implement deep learning models for some AI tasks such as image understanding, image synthesis, graph analysis, and speech enhancement.
Background: Students are expected to have probability, linear algebra, and machine learning background. Students should have taken programming courses.

Course objective:
The course aims at introducing state-of-the-art deep learning models and their applications in various areas. After taking this course, students should have a broad knowledge of deep learning and its applications in computer vision, sequential modelling, and signal processing. The students should be able to develop AI applications for solving real-world problems.

Course outline/content (by major topics):
Week 1-2: Overview of Deep Learning: Architecture, Losses, and Optimization
Week 3-4: Convolutional Neural Networks: Dilated Convolutions, ResNet, Perceptual losses
Week 5: Deep 3D Vision: PointNet++, OctNet, Tangent convolutions
Week 6-7: Graph Convolutional Networks for Graph Processing and Optimization
Week 8-9: Sequential Modelling and Signal Processing: RNN, LSTM, TCN, and WaveNet
Week 10-11: Generative Models: GAN, Pix2pix, CycleGAN, CRN, VAE
Week 12-13: Final project presentation and project report due
Reference books/materials:
JIan J. Goodfellow, Yoshua Bengio, Aaron C. Courville. Deep Learning. Adaptive computation and machine learning, MIT Press 2016
Christopher Bishop, Pattern Recognition and Machine Learning, Published by Springer, 2007.

Grading scheme:
Class participation: 10%
In-class presentation: 15%
Homework: 30%
Final project: 45%
Available for final year UG students to enroll: Yes

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


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


Archive of past courses

Last modified by Xuanwu Yue on 2019-01-12.