Spring 2020 CS Course Listings

This file contains the Spring 2020 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: 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 fault analysis, test coverage, program instrumentation, test generation, fault localization, mutation analysis, program repair, pointer analysis, program abstraction, program repair, 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 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 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: COMP5212
Course title: Machine Learning
Instructor: Dr. Nevin Zhang
Room: 2541
Telephone: 2358-7015
Email:
WWW Page: https://cse.hkust.edu.hk/faculty/lzhang/

Area in which course can be counted: 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, support vector machines, learning theory), deep learning algorithms (feedforward neural networks, convolutional neural networks, adversarial attacks, recurrent neural networks, Transformer and BERT), unsupervised learning algorithms (mixture models, variational autoencoders, generative adversarial networks, mixture models), 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):
* Basics of Probability/Information Theory
* Supervised Learning
    * Linear and Polynomial Regression
    * Logistic and Softmax Regression
    * Generative Models for Classification
    * Support Vector Machines
    * Learning Theory
* Deep Learning
    * Deep Feedforward Networks
    * Convolutional Neural Networks
    * Adversarial Attacks
    * Recurrent Neural Networks
    * Transformer and BERT
* Unsupervised Learning
    * Mixture Models
    * Variational autoencoders
    * Generative adversarial networks
* Reinforcement Learning
    * Introduction to RL
    * Value-Based Deep RL
    * Policy-Based Deep RL

Textbooks:

Reference books/materials:
o Andrew Ng. Lecture Notes on Machine Learning. Stanford. http://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.


Grading scheme:
o 4 Written Assignments: (4x3%)
o 2 Programming Assignments (2x4%)
o Term Project: (25%)
o Final examination: (55%)

Available for final year UG students to enroll: No

Minimum CGA required for UG students: N/A


Course code: COMP5223 (Co-list with ELEC 5670)
Course title: Robot Perception and Learning
Instructor: Dr. Ming Liu
Room: CYT 2011
Telephone: 2358-7058
Email:
WWW Page:https://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. For each knowledge point, practical examples will be discussed with guidance to selection of methods. It also covers reinforcement learning with the application in complex system control. Important libraries for hands-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:
This course is created in order to enhance students' comprehension of complex, practical information processing algorithms and their typical applications in robotics. Students will be provided basic knowledge of modern theory in machine learning; at the same time, more importantly, many concrete applications introduced by the course will help them to deeply understand how complex mathematical models and complex algorithms can be applied in real-world. Moreover, the related hands-on skills will be simultaneously enhanced, such as programming, system design, documentation. For example, from localization, mapping, decision-making to reinforcement learning-based control will be introduced given other background knowledge of this course. So far, there is no similar course being offered in Hong Kong's higher education or within HKUST. The addition of the course will definitely fill in the void of such an important subject. We want our engineering graduates to possess the skills of this extremely important subject to enhance their careers.

Course objective:
1. Generic knowledge about information processing, machine learning techniques used in robotics
2. Example of use cases for the various tools
    • What they are good for
    • When they should be avoided
3. Experience with existing ROS software tools (Ex)

Course outline/content (by major topics):
• Week 1: Introduction
• Week 2: How could a robot open a door? - Bayesian programming and probabilistic models
• Week 3: Place recognition - Graphical Model and HMM
• Week 4: Robot localization -Dynamic Bayesian Model and online filtering
• Week 5: Wifi-based localization - Kernel Methods and Computer Vision - classification
• Week 6: Pedestrian detection - Kernel Methods and Computer Vision - general methods
• Week 7: VLC indoor localization - Gaussian Process and finger-print-based modeling
• Week 8: SLAM - Sampling and filtering
• Week 9: Tracking and segmentation - Supervised and Unsupervised Learning
• Week 10: 3D mapping - Point-cloud perception and representation
• Week 11: Multi-terrain adaptation and control - Reinforcement Learning
• Week 12: Cross-season cross time-of-day - Deep Learning and convolutional networks
• Week 13: Autonomous driving - Deep Reinforcement Learning
• Week 14: Compile everything - Robotic Challenges (final project)

Reference books/materials:
1. Christopher M Bishop, Pattern Recognition and Machine Learning, Springer,2006
2. Sebastian Thrun, Wolfram Burgard, Dieter Fox, Probabilistic Robotics, 1 edition, The MIT Press, 2005

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: 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: 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: 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.
• Digital 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: COMP5622
Course title: Advanced Computer Communications and Networking
Instructor: Qian ZHANG
Room: 3533
Telephone: 2358-8766
Email:
WWW Page: https://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; advanced topics for wireless networking; IoT and mobile sensing; 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: https://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: Instructor Permission required.


Course code: COMP5713
Course title: Computational Geometry
Instructor: Prof Siu Wing Cheng
Room: 3551
Telephone: 2358-6973
Email:
WWW Page:

Area in which course can be counted: TH

Course description:
An introductory course in Computational Geometry. Algorithms for manipulating geometric objects. Topics include Convex Hulls, Voronoi Diagrams, Point Location, Triangulations, Randomized Algorithms, Point-Line Duality.

Background: COMP3711

Course objective:
To introduce postgraduate students to the area of computational geometry, the fundamental results and algorithms in the area.

Course outline/content (by major topics):
Basic problems and algorithms in the plane, convex hulls, arrangement and duality, Voronoi and Delaunay diagrams, randomized algorithms, approximation algorithms.
Grading scheme:
30% written assignment, 30% midterm, and 40% final.

Available for final year UG students to enroll: Yes

Minimum CGA required for UG students: B


Course code: COMP6211E
Course title: Optimization for Machine Learning
Instructor: Dr. Zhang Tong
Room: 3455
Telephone: 3469-2681
Email:
WWW Page: http://tongzhang-ml.org/

Area in which course can be counted: AI

Course description:
This course covers modern optimization methods for machine learning applications. We will discuss both theory and implementation of common optimization algorithms in the context of machine learning applications. The topics covered include convex optimization, stochastic optimization, nonconvex optimization, and distributed optimization.

Background:
Basic Machine Learning, Linear Algebra, Calculus and Probability

Course objective:
The students are expected to learn state of the art optimization techniques commonly used in machine learning, and how to apply these methods to various applications.

Course outline/content (by major topics):

Reference books/materials:
Convex Optimization, Stephen Boyd and Lieven Vandenberghe, Cambridge University Press
Convex Optimization: Algorithms and Complexity by Sébastien Bubeck.

Grading scheme:
Theory and programming assignments
In class midterm exam
Takehome Final Exam and Project

Available for final year UG students to enroll: YES

Minimum CGA required for UG students: 3.8


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


Archive of past courses

Last modified by Xinhuan SHU on 2019-01-14.