Computer Science and Engineering

COMP 5111 Fundamentals of Software Analysis [3-0-0:3]
[Previous Course Code(s): COMP 511] 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, 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.

COMP 5112 Parallel Programming [3-0-0:3]
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, MSBD 5009 Background: COMP 3511 AND COMP 3711/COMP 3711H

COMP 5211 Advanced Artificial Intelligence [3-0-0:3]
[Previous Course Code(s): COMP 521] This 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.

COMP 5212 Machine Learning [3-0-0:3]
[Previous Course Code(s): COMP 522] Introduction 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. Exclusion(s): MSBD 5012 Background: COMP 171 (prior to 2009 -10) or COMP 2012, probability theory and linear algebra

COMP 5213 Introduction to Bayesian Networks [3-0-0:3]
[Previous Course Code(s): COMP 538] 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. Background: Knowledge of probability and statistics

COMP 5221 Natural Language Processing [3-0-0:3]
[Previous Course Code(s): COMP 526] 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

COMP 5311 Database Architecture and Implementation [3-0-0:3]
[Previous Course Code(s): COMP 530] 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. Background: COMP 3511

COMP 5312 Introduction to Big Data [3-0-0:3]
[Previous Course Code(s): COMP 6311D] Big data foundation; big data infrastructure; cloud computing, parallel computing, and stream computing for big data; big data extraction and integration; big data management; big data mining; visual analytics of big data; big data platforms and tools; big data applications in business intelligence, smart city, and bioinformatics; hands-on experience with big data from real world. Background: COMP 3311 AND COMP 4311

COMP 5331 Knowledge Discovery in Databases [3-0-0:3]
[Previous Course Code(s): COMP 537] An 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. Background: COMP 3311

COMP 5411 Advanced Computer Graphics [3-0-0:3]
[Previous Course Code(s): COMP 541] The 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. Exclusion(s): CSIT 5400 Background: COMP 3711, Linear Algebra, Calculus

COMP 5421 Computer Vision [3-0-0:3]
[Previous Course Code(s): COMP 524] 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: COMP 3211; knowledge in linear algebra

COMP 5531 Green Computing [3-0-0:3]
[Co-List with ENEG 5450] This course will exam "Green Computing" from a system perspective, meanwhile, students will study issues related to energy saving form multiple disciplines such as mechanical engineering, industrial ecology, and economics. We will explore energy efficient system designs ranging from datacenters to embed devices, such as sensor networks and RFID devices. We will perform Life Cycle Analysis on some of these systems, evaluating the carbon footprint of manufacturing, use, and disposal of each design. Exclusion(s): ENEG 5450

COMP 5621 Computer Networks [3-0-0:3]
[Previous Course Code(s): COMP 561] Principles, 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. Exclusion(s): COMP 4622

COMP 5622 Advanced Computer Communications and Networking [3-0-0:3]
[Previous Course Code(s): COMP 562] Advanced 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. Background: Basic networking knowledge or first course in networking at the level of COMP 4621 OR COMP 5621 OR ELEC 4120

COMP 5631 Cryptography and Security [3-0-0:3]
[Previous Course Code(s): COMP 581] Classical 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. Exclusion(s): CSIT 5710 Background: Computer networks

COMP 5711 Introduction to Advanced Algorithmic Techniques [3-0-0:3]
[Previous Course Code(s): COMP 570] This 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. Background: COMP 3711, COMP 3721

COMP 5712 Introduction to Combinatorial Optimization [3-0-0:3]
[Previous Course Code(s): COMP 572] An 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. Background: COMP 3711 or equivalent, linear algebra

COMP 5713 Computational Geometry [3-0-0:3]
[Previous Course Code(s): COMP 573] 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: COMP 3711

COMP 6111 Topics in Software Engineering [3-0-0:3]
[Previous Course Code(s): COMP 610] Selected topics in software engineering of current interest to the Department and not covered by existing courses.

COMP 6211 Advanced Topics in Artificial Intelligence [3-0-0:3]
[Previous Course Code(s): COMP 621] Advanced topics in artificial intelligence including neural networks, natural language processing, logic programming, image understanding, robotics and others. Background: An appropriate 500-level course.

COMP 6311 Topics in Database Systems [3-0-0:3]
[Previous Course Code(s): COMP 630] Selected topics in database systems of current interest to the Department and not covered by existing courses.

COMP 6411 Topics in Graphics [3-0-0:3]
[Previous Course Code(s): COMP 641] Selected topics in graphics of current interest to the Department and not covered by existing courses.

COMP 6511 Topics in Computer Systems Analysis [3-0-0:3]
[Previous Course Code(s): COMP 651] 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 6611 Topics in Computer and Communication Networks [3-0-0:3]
[Previous Course Code(s): COMP 660] Advanced topics in communication networks, including issues in high speed networking, ATM, multimedia communication, network interconnection, network management, and protocol verification and testing.

COMP 6612 Topics in Computer Engineering [3-0-0:3]
[Previous Course Code(s): COMP 680] Selected topics in computer engineering of current interest to the Department and not covered by existing courses.

COMP 6613 Topics in Applications of Computer Science and Engineering [3-0-0:3]
[Previous Course Code(s): COMP 685] 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 6711 Topics in Theoretical Computer Science [3-0-0:3]
[Previous Course Code(s): COMP 670] 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 6770 Professional Development in Computer Science and Engineering [0-1-0:1]
This one-credit course aims at providing research postgraduate students with basic training in teaching skills, research management, career development, and related professional skills. This course consists of a number of mini-workshops. Some department-specific workshops will be coordinated by Department of CSE. Graded PP, P or F.

COMP 6911 Computer Science and Engineering Seminar I [0-1-0:0]
[Previous Course Code(s): COMP 690] A regular seminar presenting research problems currently under investigation. Students are expected to attend regularly. Graded P or F.

COMP 6912 Computer Science and Engineering Seminar II [0-1-0:1]
[Previous Course Code(s): COMP 691] Continuation of COMP 6911. Graded P or F. Prerequisite(s): COMP 6911

COMP 6921-6922 Research Project [1-3 credit(s)]
[Previous Course Code(s): COMP 693-694] 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-6932 Independent Studies [1-3 credit(s)]
[Previous Course Code(s): COMP 696-697] 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 6990 MPhil Thesis Research
[Previous Course Code(s): COMP 699] Master's thesis research supervised by a faculty member. A successful defense of the thesis leads to Pass. No course credit is assigned.

COMP 7990 Doctoral Thesis Research
[Previous Course Code(s): COMP 799] Original and independent doctoral thesis research supervised by a faculty member. A successful defense of the thesis leads to Pass. No course credit is assigned.