Postgraduate Courses
- COMP 5111Fundamentals of Software Testing and Analysis[3-0-0:3]Previous Course Code(s)COMP 511DescriptionThe 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, features, verification, testing, refactoring, concurrency, reliability, aspect orientation, and fault 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 techniques.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Understand the principles of software analysis and testing.
- 2.Demonstrate capability to use automated tools on real-life software applications effectively for software analysis and testing.
- 3.Develop an automated software tool applying the principles of software analysis and testing.
- 4.Demonstrate capability to interpret and communicate the research outcome of the latest development on software analysis and testing.
- COMP 5112Parallel Programming[3-0-0:3]Exclusion(s)COMP 6111B, COMP 6511A, COMP 6611A, MSBD 5009BackgroundCOMP 3511 AND COMP 3711/COMP 3711HDescriptionIntroduction 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.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate knowledge of parallel computer architectures.
- 2.Develop understanding of principles of parallel algorithm design.
- 3.Demonstrate knowledge of shared-memory and distributed-memory programming models.
- 4.Write parallel programs of a computation task using learned programming languages.
- COMP 5211Advanced Artificial Intelligence[3-0-0:3]Previous Course Code(s)COMP 521DescriptionThis advanced AI course will cover advanced concepts and techniques in AI. The major topics will be: problem solving, knowledge and reasoning, planning, uncertain knowledge and reasoning, learning, and robotics.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate a systematic overall understanding of the field of artificial intelligence.
- 2.Demonstrate systematic knowledge of artificial intelligence.
- 3.Demonstrate broad knowledge in all major areas of AI including agent design, search, machine learning and knowledge representation and reasoning.
- 4.Demonstrate an ability to combine various AI techniques in problem solving.
- COMP 5212Machine Learning[3-0-0:3]Previous Course Code(s)COMP 522Exclusion(s)CSIT 5910, MSBD 5012BackgroundCOMP 2012, probability theory and linear algebraDescriptionIntroduction to major learning paradigms and techniques, basic applied statistics and information theory, decision trees, neural networks, Bayesian classification, kernel methods, clustering, density estimation, feature selection and extraction, hidden Markov models, reinforcement learning, case-based learning, model selection and various applications.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate a systematic overall understanding of the machine learning field.
- 2.Demonstrate an in-depth understanding of the fundamental issues and principles in machine learning.
- 3.Demonstrate an in-depth understanding of core and recent machine learning algorithms.
- 4.Demonstrate an ability to comprehend and develop novel machine learning models and methods.
- 5.Demonstrate an ability to apply machine learning algorithms to solve real-world problems.
- COMP 5213Introduction to Bayesian Networks[3-0-0:3]Previous Course Code(s)COMP 538BackgroundKnowledge of probability and statisticsDescriptionBayesian 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.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate a systematic understanding of Bayesian networks and, more generally, probabilistic unsupervised learning.
- 2.Demonstrate an ability to comprehend and develop novel models and methods for probabilistic unsupervised learning.
- 3.Demonstrate an ability to apply probabilistic unsupervised learning models and methods to solve real-world problems.
- COMP 5214Advanced Deep Learning Architectures[3-0-0:3]Previous Course Code(s)COMP 6211DCo-list withELEC 5680Exclusion(s)ELEC 5680DescriptionThis 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.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate a solid understanding of scientific theory and methods relevant to ECE.
- 2.Demonstrate sound knowledge of relevant scientific literature.
- 3.Apply theories, methodologies, and knowledge to address important research questions relevant to ECE.
- 4.Demonstrate practical skills in designing or developing ECE systems.
- 5.Demonstrate the ability to independently pursue original research and innovation.
- 6.Demonstrate oral and written communication skills sufficient for a professional career in ECE disciplines.
- COMP 5221Natural Language Processing[3-0-0:3]Previous Course Code(s)COMP 526Exclusion(s)MSBD 5018BackgroundCOMP 3211DescriptionTechniques 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.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Possess holistic understanding of the fundamental concepts of natural language processing and machine translation, and grasp how it stress tests all aspects of human intelligence and language processing.
- 2.Firmly grasp multiple input-output formulations of transduction, such as alignment, chunking, classification, dependency relations, and parsing, and the relationship between noisy channel and loglinear models of string transduction, and their Bayesian interpretations.
- 3.Possess systematic understanding of the relationship between word segmentation and phrasal lexicons, the relationship to transduction and alignment, and associated algorithms; the relationship between traditional grammatical formalisms versus stochastic and weighted grammars; the strengths and weaknesses of part-of-speech models, and associated tagging algorithms; and the various fundamental approaches to parsing, and how they deal with syntactic ambiguity.
- 4.Possess advanced understanding of how bilingual models of syntax generalize upon monolingual models to improve learnability; the combinatorial and empirical trade-offs between various learning models of alignment and compositionality, and their associated algorithms; and the core methods for inducing lexicons, translation lexicons, phrasal translation lexicons, as well as permutation and reordering models.
- 5.Possess advanced understanding of the combinatorial and empirical trade-offs between various runtime models for translation and their associated algorithms, and how bilingual transduction models generalize upon monolingual parsing models.
- 6.Possess holistic understanding of lexical semantics models for word sense disambiguation, their relationship to phrasal lexicons and transduction, and associated ambiguity resolution algorithms, as well as for semantic frames (predicate-argument structures), and associated semantic role labeling algorithms.
- COMP 5222Statistical Learning Models for Text and Graph Data[3-0-0:3]Previous Course Code(s)COMP 6211BCo-list withMATH 5471Exclusion(s)COMP 4221, COMP 5221, MATH 5471DescriptionThis course will introduce a number of important statistical methods and modeling principles for analyzing large-scale data sets, with a focus on complex data structures such as text and graph data. Topics covered include sequential models, structure prediction models, deep learning attention models, reinforcement learning models etc., as well as open research problems in this area.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate machine learning algorithm design skills for data analytics tasks.
- 2.Analyze the quality of results to domain problems.
- 3.Develop a program that can handle existing real problems.
- COMP 5223Perception and Information Processing for Robotics[3-0-0:3]Previous Course Code(s)COMP 6211CCo-list withELEC 5670Exclusion(s)ELEC 5670DescriptionThis 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.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Discuss the importance and complexity of probabilistic modelling and information processing.
- 2.Develop first-hand know-how during class about modern robotic platforms, such as Turtlebot.
- 3.Demonstrate good comprehension of fundamentals of basic machine learning techniques by lecture assignments.
- 4.Demonstrate the ability to apply practical algorithms to realise basic perception for robotic systems by projects.
- 5.Apply knowledge in computer science, signal processing and practical programming.
- 6.Use the aggregate knowledge to perform robotic tasks to operate simulated robots in simulated environment scenarios.
- COMP 5311Database Architecture and Implementation[3-0-0:3]Previous Course Code(s)COMP 530BackgroundCOMP 3511DescriptionIntroduction 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.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate a deep understanding of the field of data management. Learn concepts related to data base systems, applications and algorithms.
- 2.Learn current research trends in data management research and obtain the ability to produce novel research and engineering results.
- 3.Through presentations and literature surveys, the students will improve their communication skills. They are also expected to clearly interpret research or engineering concepts to specialist and general audiences.
- 4.The students will learn research topics and techniques related to data management, which will enhance their ability as researchers in academia, or practitioners in industry.
- 5.Learn the principles of ethics, including appropriate citations of related work and repeatability of experiments.
- 6.Acquire sufficient knowledge of data management for undergraduate teaching and assessment of student learning.
- COMP 5331Knowledge Discovery in Databases[3-0-0:3]Previous Course Code(s)COMP 537Exclusion(s)CSIT 5210, MSBD 5002BackgroundCOMP 3311DescriptionAn introduction to knowledge discovery in databases. Different discovery and learning techniques are presented and compared. Automatic generation of query language expressions is discussed in depth. Potential applications are shown.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Describe basic concepts about data mining and knowledge discovery.
- 2.Apply clustering algorithms to cluster relational data.
- 3.Apply classification algorithms to relational data.
- 4.Use frequent pattern mining solutions to identify frequent patterns and association rules.
- 5.Apply outlier detection methods to detect outliers.
- COMP 5411Advanced Computer Graphics[3-0-0:3]Previous Course Code(s)COMP 541Exclusion(s)CSIT 5400BackgroundCOMP 3711, Linear Algebra, CalculusDescriptionThe first part of this course covers an introduction to mathematical tools and computational techniques for image synthesis and manipulation of 3D models. The second part covers more advanced topics which may include digital geometry processing, image processing, visualization, GPU computing, numerical optimization methods.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Understanding of algorithms and mathematics for representing, manipulating and analyzing geometric data.
- 2.Understanding how the GPU's rendering pipeline operates.
- 3.Understanding of algorithms and mathematics for advanced real-time rendering.
- 4.Ability to explain principles and different techniques used for real-time rendering and understand their trade-offs.
- 5.Ability to design and implement graphics applications for geometry processing and real-time rendering.
- COMP 5421Computer Vision[3-0-0:3]Previous Course Code(s)COMP 524BackgroundCOMP 3211; knowledge in linear algebraDescriptionIntroduction 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.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Implement practical various AI solutions by applying relevant computer vision algorithms.
- 2.Demonstrate capability of visual recognition to robotics and intelligent systems.
- 3.Identify key problems in contemporary computer visionfor further research.
- 4.Develop practical computer vision systems for various recognition tasks such as autonomous driving and video surveillance.
- COMP 5621Computer Networks[3-0-0:3]Previous Course Code(s)COMP 561Exclusion(s)COMP 4622 (prior to 2018-19)DescriptionPrinciples, design and implementation of computer communication networks; network architecture and protocols, OSI reference model and TCP/IP networking architecture; Internet applications and requirements; transport protocols, TCP and UDP; network layer protocols, IP, routing, multicasting and broadcasting; local area networks; data link and physical layer issues; TCP congestion control, quality of service, emerging trends in networking.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Understand and explain data communications networks, their components, the technologies behind them, the network organization.
- 2.Identify and classify the different functionalities necessary for building viable communication networks, and be able.
- 3.Explain the TCP/IP protocol family and how each of the TCP, UDP and IP protocols contribute to implementing the Internet.
- 4.Understand the difference between different switching techniques (packet switching vs. Circuit switching).
- 5.Understand the factors that impact network performance and how to strike a balance between complexity and performance.
- 6.Understand the basic principles behind network applications.
- 7.Understand the principles behind transport layer protocols, the services they provide, and build an understanding of basic.
- 8.Explain the differences between routing and forwarding and how a router functions.
- 9.Show an understanding of intra-domain and inter-domain routing and how these are instantiated in the Internet through protocols.
- 10.Show an understanding of the principles behind the link layer, its instantiation and implementation in various networking technologies.
- COMP 5622Advanced Computer Communications and Networking[3-0-0:3]Previous Course Code(s)COMP 562BackgroundBasic networking knowledge or first course in networking at the level of COMP 4621 OR COMP 5621 OR ELEC 3120DescriptionAdvanced principles in computer and communication networking: Internet multicast, overlay and peer-to-peer networks; wireless and mobile computing, multimedia networking, network security, selected topics of current interests: wireless protocols, wireless security, sensor networks, cloud computing, data centers, software-defined networks, network implementation, etc.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate a systematic understanding about the advanced topics in networking area.
- 2.Demonstrate knowledge and understandning of selected topics in networking areas, including p2p, overlay, multimedia networking, wireless networks, security, and IoT networking.
- 3.Demonstrate knowledge and understanding for how to conduct a networking related research.
- COMP 5631Cryptography and Security[3-0-0:3]Previous Course Code(s)COMP 581Exclusion(s)CSIT 5710BackgroundComputer networksDescriptionClassical encryption techniques, block and stream ciphers, public-key cryptography, authentication, nonrepudiation, key management, digital signatures, public key infrastructure, cryptographic protocol, secret sharing, electronic mail security, IP security, Web security, Firewalls, Intrusion detection.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate a systematic understanding of cryptography and security.
- 2.Get familiar with real-world security systems, and be able to handle real-world security events.
- 3.Establish the theory foundation for doing research in security-related topics.
- 4.Improve communication capability in writing and oral presentations.
- COMP 5711Introduction to Advanced Algorithmic Techniques[3-0-0:3]Previous Course Code(s)COMP 570BackgroundCOMP 3711, COMP 3721DescriptionThis is an introductory graduate course in algorithmic techniques. Topics include: advanced data structures; graph algorithms; amortization; approximation algorithms; on-line algorithms; randomized and probabilistic analysis.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate an understanding of the theory of advanced algorithm design and analysis techniques.
- 2.Demonstrate an ability to design algorithms using techniques such as randomization, hashing, and online algorithms.
- 3.Demonstrate an ability to analyze algorithms using parameterization, amortization, and approximation.
- COMP 5712Introduction to Combinatorial Optimization[3-0-0:3]Previous Course Code(s)COMP 572BackgroundCOMP 3711 or equivalent, linear algebraDescriptionAn introduction to the basic tools of combinatorial optimization, including network flow and the max-flow min-cut theorem, linear programming, matching, spanning trees and matroids, dynamic programming, algorithms and data structures, graph algorithms.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate an understanding of the mathematical theory underlying algorithms for combinatorial optimization.
- 2.Demonstrate an ability to use linear and integer programming to formulate different combinatorial problems.
- 3.Demonstrate an ability to apply various techniques to design approximation algorithms for hard problems.
- COMP 5713Computational Geometry[3-0-0:3]Previous Course Code(s)COMP 573BackgroundCOMP 3711DescriptionAn introductory course in Computational Geometry. Algorithms for manipulating geometric objects. Topics include Convex Hulls, Voronoi Diagrams, Point Location, Triangulations, Randomized Algorithms, Point-Line Duality.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate ability to solve basic problems in computational geometry.
- 2.Understand some fundamental algorithmic techniques in computational geometry.
- 3.Demonstrate ability to design and analyse algorithms using the fundamental techniques in computational geometry.
- COMP 6111Topics in Software Engineering[3-0-0:3]Previous Course Code(s)COMP 610DescriptionSelected topics in software engineering of current interest to the Department and not covered by existing courses.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate knowledge and understanding of selected topics in software engineering of current interest to the Department and not covered by existing courses.
- COMP 6211Advanced Topics in Artificial Intelligence[3-0-0:3]Previous Course Code(s)COMP 621BackgroundAn appropriate 500-level course.DescriptionAdvanced topics in artificial intelligence including neural networks, natural language processing, logic programming, image understanding, robotics and others.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate knowledge and understanding of advanced topics in artificial intelligence including neural networks, natural language processing, logic programming, image understanding, robotics and others.
- COMP 6311Topics in Database Systems[3-0-0:3]Previous Course Code(s)COMP 630DescriptionSelected topics in database systems of current interest to the Department and not covered by existing courses.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate knowledge and understanding of selected topics in database systems of current interest to the Department and not covered by existing courses.
- COMP 6411Topics in Graphics[3-0-0:3]Previous Course Code(s)COMP 641DescriptionSelected topics in graphics of current interest to the Department and not covered by existing courses.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate knowledge and understanding of selected topics in graphics of current interest to the Department and not covered by existing courses.
- COMP 6511Topics in Computer Systems Analysis[3-0-0:3]Previous Course Code(s)COMP 651DescriptionAdvanced topics in computer systems analysis; issues in the development and solution of system models; model parametrization, verification and validation; recent developments in techniques and tools for system evaluation.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate knowledge and understanding of advanced topics in computer systems analysis; issues in the development and solution of system models; model parametrization, verification and validation; recent developments in techniques and tools for system evaluation.
- COMP 6611Topics in Computer and Communication Networks[3-0-0:3]Previous Course Code(s)COMP 660DescriptionAdvanced topics in communication networks, including issues in high speed networking, ATM, multimedia communication, network interconnection, network management, and protocol verification and testing.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate knowledge and understanding of advanced topics in communication networks, including issues in high speed networking, ATM, multimedia communication, network interconnection, network management, and protocol verification and testing.
- COMP 6612Topics in Computer Engineering[3-0-0:3]Previous Course Code(s)COMP 680DescriptionSelected topics in computer engineering of current interest to the Department and not covered by existing courses.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate knowledge and understanding of selected topics in computer engineering of current interest to the Department and not covered by existing courses.
- COMP 6613Topics in Applications of Computer Science and Engineering[3-0-0:3]Previous Course Code(s)COMP 685DescriptionSelected topics in applications of computer science not covered by existing course. Credits earned by taking this course can only be used to satisfy the breath requirement of the research area of Software and Applications.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate knowledge and understanding of selected topics in applications of computer science not covered by existing course. Credits earned by taking this course can only be used to satisfy the breath requirement of the research area of Software and Applications.
- COMP 6711Topics in Theoretical Computer Science[3-0-0:3]Previous Course Code(s)COMP 670DescriptionSelected topics in theoretical computer science not covered by existing courses, including, but not limited to, computational complexities and computability, graph algorithms and combinatorial optimization.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate knowledge and understanding of selected topics in theoretical computer science not covered by existing courses, including, but not limited to, computational complexities and computability, graph algorithms and combinatorial optimization.
- COMP 6911Computer Science and Engineering Seminar I[0-1-0:0]Previous Course Code(s)COMP 690DescriptionA regular seminar presenting research problems currently under investigation. Students are expected to attend regularly. Graded P or F.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate a systematic understanding of the field of computer science, and wide knowledge across the three major areas including systems, applications and theory.
- 2.Communicate effectively and professionally both in writing and oral presentations using appropriate technical languages, and interpret their research outcome both to a specialist and a general audience clearly.
- 3.Follow the principles of ethics in their field and in academia.
- COMP 6912Computer Science and Engineering Seminar II[0-1-0:1]Previous Course Code(s)COMP 691Prerequisite(s)COMP 6911DescriptionContinuation of COMP 6911. Graded P or F.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate a systematic understanding of the field of computer science, and wide knowledge across the three major areas including systems, applications and theory.
- 2.Communicate effectively and professionally both in writing and oral presentations using appropriate technical languages, and interpret their research outcome both to a specialist and a general audience clearly.
- 3.Follow the principles of ethics in their field and in academia.
- COMP 6921-6922Research Project[1-3 credit(s)]Previous Course Code(s)COMP 693-694DescriptionAn independent research project carried out under the supervision of a faculty member. This course is only available for exchange, visiting and visiting internship students.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate knowledge and understanding of an independent research project carried out under the supervision of a faculty member. This course is only available for exchange, visiting and visiting internship students.
- COMP 6931-6932Independent Studies[1-3 credit(s)]Previous Course Code(s)COMP 696-697DescriptionAn independent research project carried out under the supervision of a faculty member. (Only one independent studies course may be used to satisfy the course requirements for any postgraduate program.)Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate knowledge and understanding of an independent research project carried out under the supervision of a faculty member. (Only one independent studies course may be used to satisfy the course requirements for any postgraduate program.)
- COMP 6990MPhil Thesis ResearchPrevious Course Code(s)COMP 699DescriptionMaster's thesis research supervised by a faculty member. A successful defense of the thesis leads to Pass. No course credit is assigned.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate a general understanding of the field of computer science, and knowledge in one of the three major areas including systems, applications and theory.
- 2.Make a contribution to their specific field of study through either original research or substantial engineering efforts.
- 3.Communicate effectively and professionally both in writing and oral presentations using appropriate technical languages, and interpret their research or engineering outcome both to a specialist and a general audience clearly.
- 4.Follow the principles of ethics in their field and in academia.
- 5.Demonstrate a mastery of skills and knowledge at a level required for college and university undergraduate teaching in computer science and assessment of student learning.
- COMP 7990Doctoral Thesis ResearchPrevious Course Code(s)COMP 799DescriptionOriginal and independent doctoral thesis research supervised by a faculty member. A successful defense of the thesis leads to Pass. No course credit is assigned.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Demonstrate original contributions to their specific fields of research in their doctoral thesis.