 |
 |
|
|
 |
|
Postgraduate Programmes
|
 |
|
Course Descriptions
- CEG5010 Reconfigurable Computing
-
This course is concerned with the design of reconfigurable computing systems using
hardware description languages. Topics covered include field programmable gate array
architectures (FPGA), computer arithmetic, high speed digital logic, interfacing and
case studies. Emphasis will be on how to design high performance digital systems at
the algorithmic, system and logic level. Each student is required to implement and test a
digital design of moderate complexity. Prerequisite: CEG3480.
- CEG5020 Fault-Tolerant Computing
-
Fault tolerance used to be a requirement of computer systems in specialized applications
such as spacecraft control and telephone switching. With the advancement of hardware
and software technology and the increasing complexity of computer systems, fault
tolerance has become a necessity for a wide range of industrial, commercial and even
personal applications. Models and methods are used in the analysis and design of faulttolerant
and highly reliable computer systems will be taught in this course. The topics
to be covered by this course include fault/error modeling, reliability analysis, various
redundancy techniques, fault-tolerant system design methods, case studies of faulttolerant
systems, and current research issues. Prerequisite: CEG3420 or CSC3420
- CEG5120 Sequential Machines and Automata Theory
-
Structure of sequential machines, linear sequential machines, state machine testing,
information losslessness of finite automata, state-identification and fault-detection
experiments, finite-state recognizers, sequential circuit retiming techniques, synthesis
for combinational and sequential circuits. Prerequisite: ERG2020 or ELE2120 or their
equivalents.
- CEG5270 CAD for Physical Design of Digital Systems
-
This course aims to present the fundamental concepts and algorithms applied in
design automation (CAD) of VLSI circuits. The scope will include various areas in
physical design of digital systems, including circuit partitioning, FPGA technology
mapping, fl oorplanning, placement, routing, compaction and interconnect optimization.
Prerequisites: CSC2100 and ERG2020.
- CEG5330 Logic Synthesis and Testing
-
This introductory course aims at building fundamental background and practical
techniques for digital logic design automation and hardware testing conscious design
issues. Some academic (Berkeley ESPRESSO/SIS) and industry tools will be introduced.
The topics range from the classic to recent techniques on representation, manipulation
and optimization of Boolean logic, minimization/manipulation of 2-level Sum-of-Product
(SOP) form, large multi-level Boolean network synthesis, technology mapping, delay
analysis, sequential logic synthesis, state minimization, retiming resynthesis, verification,
advanced applications using Ordered Binary Decision Diagrams (OBDD's), hardware
fault testing, and notions of design for testability. Prerequisites: CSC2100 and ERG2020.
- CEG6100 Advanced Workshop in Computer Engineering
-
This is an intensive course on advanced research topics in the field of Computer Engineering.
(only pass/fail grade will be given) (Students are allowed to take this course more than once
as approved by the supervisor, and gain the unit each time they pass the course.)
- CSC5110 Advanced Topics in Software Engineering
-
Formal and advanced quantitative approaches in software engineering. Formal
specifications: algebraic and model-based specifications, reasoning and proving,
formal refinements and transformations from specifications to programmes. Software
security: encryption theory and systems, viruses and other software attacks, controls and
protections. Software reliability: models, theory and applications.
- CSC5120 Advanced Topics in Database Systems
-
This course will introduce to students advanced topics in database systems including
advanced data structures, concurrency control, deadlock resolutions, recovery schemes,
distributed database systems, multimedia database indexing techniques, and data mining.
Prerequisite: CSC3170. (Not for students who have taken SEG5010.)
- CSC5130 Theory of Programming Languages
-
This course is intended to provide for senior undergraduate and beginning graduate
students a concise survey of the most important and fundamental work on semantics of
programming languages of different paradigms, together with the necessary background
material from logic, lambda calculus, type theory, domain theory, and category theory. All
of the three major approaches to semantics - denotational, operational, and axiomatic - and
the relations among them are discussed. Prerequisites: CSC2110 or 3640, and CSC3180.
- CSC5140 Advanced Topics in Operating Systems
-
This course will introduce to students advanced topics in operating systems. The detailed
contents may be changed from year to year depending on the current development and
the teacher specialty. Prerequisite: CSC3150.
- CSC5150 Learning Theory and Computational Finance
-
This course aims to introduce the computational learning theory for applications to
various areas of finance. This course consists of two parts. The first part gives an
introduction of basic mathematical methods in finance. The second part deals with
nonlinear computing models, Bayesian Ying-Yang unified learning theory, other
computational learning techniques, and their applications to FOREX or stock forecasting,
portfolio optimization and programmed trading.
- CSC5160 Topics in Algorithms
-
This course will introduce to students topics in algorithms. The detailed contents may be
changed from year to year depending on the current development and teacher specialty.
- CSC5170 Theory of Computation Complexity
-
Deterministic and non-deterministic Turing machine, Church's Thesis, uncomputability
and intractability, NP-completeness, polynomial time hierarchy, probabilistic
computation, predicate calculus and incompleteness.
- CSC5180 Techniques for Data Mining
-
Data mining provides useful tools for the analysis, understanding and extraction of
useful information from huge databases. These techniques are used in business, finance,
medicine and engineering. This course will introduce the techniques used in data mining.
Topics will include clustering, classification, estimation, forecasting, statistical analysis
and visualization tools.
- CSC5190 Artificial Intelligence Programming
-
This course examines two representational paradigms of artificial intelligence programming.
Topics in logic programming include unification, , SLD-resolution, Prolog, negation and
control, trees, list, difference list, and programming techniques. Topics in functional
programming include function definitions, recursive functions, scope, higher-order functions,
programming techniques, and basic lambda calculus. Prerequisite: CSC3180.
- CSC5210 Advanced Topics in Computer Graphics and Visualization
-
Provide in-depth treatment of the following advanced computer graphics and visualization
topics: radiosity rendering and global illumination, procedure texturing and modeling, imagebased
rendering, stereo imaging, real-time volume graphics and interactive visualization.
- CSC5220 Advanced Topics in Multimedia Database
-
This course aims at an in-depth study of various aspects in the frontier research of multimedia
database systems. These include image processing methods, indexing methods, system
design issues, and basis of multimedia data such as compression techniques and resource
management. Image processing methods for shape, color, texture manipulation, etc., will
be covered. Indexing methods of R-trees, VP-trees, X-tree, etc., will be introduced. This
course will provide the students with a theoretical background as well as a hands-on
experience in the design and implementation of a multimedia database system.
- CSC5230 Advanced Topics in Compiler Construction
-
Advanced topics in compiler construction, including code optimization, partial evaluation,
supercompilers, compilation techniques for multiparadigm languages, concurrent compilers,
etc.
- CSC5240 Combinatorial Search and Optimization with Constraints
-
Students will be exposed to various constraint-based combinatorial search and optimization
techniques that arise in artificial intelligence, operations research, etc. Topics include, but
are not limited to, local propagation, consistency algorithms, Boolean constraint solving,
numerical constraint solving, linear programming, search, and their applications.
- CSC5250 Information Retrieval and Search Engines
-
This course surveys the current research in information retrieval for the Internet and related
topics. This course will focus on the theoretical development of information retrieval systems
for multimedia contents as well as practical design and implementation issues associated
with Internet search engines. Topics include probabilistic retrieval, relevance feedback,
indexing of multimedia data, and applications in e-commerce.
- CSC5260 Brain Theory and Sensorimotor Processing
-
The main focus of the class will be to explore various aspects of biological neural network
modelling for visuomotor coordination. Topics such as visual perception of form, texture,
color, depth and motion, motor movement generation, sensorimotor interaction, neural
mechanisms for learning and memory, and applications to intelligent robots will be examined.
This will be an interdisciplinary course combining engineering, cognitive science, and
neuroscience approaches. Students are expected to have knowledge in linear algebra,
calculus, probability theory and programming.
- CSC5270 Principles of Computational Learning
-
This course aims at providing theoretical guides and useful tools for students working on
neural networks, pattern recognition, computer vision, artificial intelligence or other topics
involving learning and mathematical modelling. The first part of this course is an extensive
introduction to learning theories and techniques for neural networks or intelligent
computational machinery in general. The second half will cover the major techniques such
as supervised learning, unsupervised learning and self-organization, as well as reinforcement
learning. It would be helpful to have some previous knowledge on probability theory,
statistics, neural networks and pattern recognition.
- CSC5280 Image Processing and Computer Vision
-
Image Processing: enhancement technique, image compression, segmentation, morphology,
color image processing and restoration. Computer Vision: representation, decision models,
structural methods and image understanding.
- CSC5290 Theory of Neural Computation
-
This course introduces state-of-the-art neural network research. It covers the learning
algorithms of various neural network paradigms such as the backpropagation network, the
Boltzmann machine, the Hopfield network, bidirectional associative memory, adaptive
resonance theory, the Kohonen network, and learning vector quantizer. Techniques in the
theoretical analysis of their characteristics, limitations, storage capacity, stability and
convergence are included.
- CSC5310 Topics in Biometrics
-
This course introduces the fundamentals of biometrics ¡V the technology for secure
identification and personal verification. The course is designed with a balance between
the basic theoretical background and practical application. It examines pattern recognition,
discriminant analysis, classification methods, and other techniques used in designing and
implementing biometric systems. In particular, the course investigates several key biometric
features, e.g., face related processing, fingerprint analysis, handwriting verifications, speaker
recognition, etc.
- CSC5320 Topics in Graph Algorithms
-
A course on graph theory and graph algorithms with emphasis on the algorithmic aspects
of graph theory. The course will cover classical topics such as search techniques, connectivity,
colouring, matching and covering, network fl ows, planarity, traversability, perfect graphs,
and NP-completeness of graph problems. It will also cover recent advances in graph minors
and fixed-parameter tractability of graph problems. Prerequisite: CSC3160 or its equivalent.
- CSC5330 Advanced Algorithms for Bioinformatics
-
This course introduces the computational issues and algorithms in bioinformatics. Topics
include algorithms for pairwise sequence comparison and alignment for DNA and protein
sequences, multiple sequence alignment, analysis and prediction of protein secondary
structure, etc. Techniques such as dynamic programming, Hidden Markov models, neural
networks, and their applications in bioinformatics will also be covered.
- CSC5340 Advanced Topics in Distributed Software Systems
-
This course will provide knowledge of basic architectural features of distributed systems,
including client-server systems, network systems, middleware systems, and their main
advantages, challenges, design issues and current solutions. Current object-oriented
distributed system and software platforms (CORBA, DCOM, and Java/RMI) will be
studied in detail. Topics include: distributed systems characteristics and design issues,
distributed software engineering, communication and remote procedure calls, building
distributed systems, generosity and interoperability, naming and trading services,
concurrent processes and threads, transactions and distributed transactions, reliability and
availability, and security problems and solutions. Laboratory of a series of distributed
system projects will be assigned and conducted.
- CSC5350 Game Theory in Computer Science
-
This course aims at introducing the theory and application of Game Theory in the context
of Computer Science, in particular, decision making in multiagent systems. The course
first focuses on rational behaviour of agents in strategic games and the existence of pure
and mixed strategy Nash equilibrium. Then extensive games with and without perfect
information, including bargaining games and repeated games will be introduced. The
concepts of subgame perfect equilibrium and sequential equilibrium will be discussed.
Finally, the course covers coalitional games and the concepts of cores and kernels.
- CSC5360 Grid Computing
-
This course is designed to give a broad overview of the concepts, technologies and open
research areas of Grid computing along with the state-of-the-art in Grid software. Topics
include architecture, programming, resource management, information infrastructure,
security, data management, Grid middleware and tools, Web services, Grid services,
current applications and research.
- CSC5370 Quantum Computing
-
This course introduces various topics in quantum computing, including but
not limited to the following ones.
1.Quantum algorithms: quantum Fourier transform, amplitude amplifi cation,
quantum walk.
2.Quantum complexity: quantum structural complexity, quantum interactive
proof, quantum communication complexity, quantum query complexity.
3.Other topics such as quantum cryptography and quantum information theory.
Prerequisite: CSC2110.
- CSC5390 Advanced Topics in GPU Programming
-
The evolution of consumer graphics hardwares leads to the introduction of parallel,
programmable GPUs (Graphics Processing Units). The strong parallel computational
power of GPUs not only supports real-time and realistic rendering, but also the costeffective
platform for scientific computing, such as physical simulation, numerical
analysis, evolutionary computation, image processing, and computer vision, etc. This
course introduces the evolution of shading language and GPU, the basic concept in GPU
programming and the recent advanced usage of GPU in computer graphics and generalpurpose
computing. Topics covered include: shader programming, procedural texture
and modelling, programmable graphics pipeline, modern shading language, GPGPU
(general-purpose computing in GPU), limitations of GPU, and case studies of advanced
usages of GPU. Prerequisite: CSC3260 or equivalent
- CSC5410 Advanced Computer Architecture
-
This course is designed to present an overview of some advanced computer architectures
and their underlying design principles. Issues discussed will include scalability and
performance evaluation. The underlying technologies such as processor and memory
hierarchy, cache and shared memory, and advanced pipelining techniques will be
presented. Examples of high performance vector processors, multicomputers and massive
parallel processors will be compared. Some novel architectures such as VLIW, fault
tolerant systems and data fl ow machines will also be elaborated. Prerequisite: CSC3420.
- CSC5420 Computer System Performance Evaluation
-
Computer system performance evaluation through analytical and simulation studies.
Brief overview of queueing theory, computational algorithms, sequential and parallel
simulation techniques. Performance evaluation in distributed resource allocation, computer
interconnection architecture, multiprocessing and multithreads computation, parallel 1/O
architectures, distributed database concurrency control protocols, multiple access protocols
in communication network, and parallel programming models, etc. Students are expected to
have knowledge in probability, stochastic processes and computer architecture.
- CSC5430 Autonomous Agents and Multiagent Systems
-
Characteristics of autonomous agents. Agent architectures: BELIEF-DESIRE-INTENTION
architecture, purely reactive architectures and hybrid architecture. Multiagent systems:
speech acts theory, agent communication, and agent cooperation protocols. Agent-oriented
programming. Distributed hierarchical planning. Distributed rational decision making:
protocols and strategies, Nash equilibrium and Pareto optimality, auctions, voting, Clarke
tax, OCSM-contracts. Argumentation and negotiation. Prerequisite: CSC2110.
- CSC5460 Virtual and Augmented Reality
-
This course introduces the fundamental and advanced research topics in virtual &
augmented reality (VR/AR), including VR/AR tools & metaphors, multi-sensory
interactions, geometric and behavior modeling, touch-enabled interfaces, real-time
immersive navigation, human factors in VR/AR, augmented reality systems, internet-based
VR/AR applications. The web-based virtual reality interfaces plus other graphics engines
build up the developing tools for testing the alternative ideas/solutions for the advanced
VR/AR research and real-time applications. (Prerequisite: CSC3260 or its equivalent)
- CSC5470 Computer and Network Security
-
Issues of computer and network security. Security protocols. Firewalls. Computer
viruses. Audit trails. System security threats. Applications of cryptography.
Prerequisite: CSC4430 or IEG3310 or their equivalents. (Not for students who have taken IEG5240.)
- CSC6001-6004 Advanced Topics in Computer Science I, II, III, IV
-
These courses will introduce to students advanced topics in computer science.
The detailed contents may be changed from year to year depending on the current
development and the teacher specialty.
- CSC6100 Advanced Workshop in Computer Science
-
This is an intensive course on advanced research topics in the field of Computer Science.
(only pass/fail grade will be given) (Students are allowed to take this course more than
once as approved by the supervisor, and gain the unit each time they pass the course.)
- CSC6130 Advanced Topics in Programming Languages
-
This course will introduce to students advanced topics in programming languages.
The detailed contents may be changed from year to year depending on the current
development and the teacher specialty.
- CSC6150 Theoretical Foundations of Logic Programming
-
This is an advanced course that covers foundamental theories of logic programming.
Topics include first-order theory, interpretations and models, unification, fixpoints, SLDresolution,
negation, perpectual processes and introduction to deductive databases.
- CSC6200 Advanced Topics in Artificial Intelligence
-
Introduction to fuzzy logic and applications. Fuzzy expert systems. Fuzzy query. Fuzzy
data and knowledge engineering. Fuzzy control. Genetic algorithms and programming
and their applications. Parallel genetic algorithms. Island model and coevolution. Genetic
programming. Introduction to emergent computing.
- CSC6210 Advanced Multidimensional Search
-
This course offers an in-depth coverage of two important topics on multidimensional
data. The first one concerns advanced data R-tree, Pyramid, and iDistance. The second
topic focuses on several types of queries fundamental to data analysis. Examples
include various forms of similarity search, skyline and top-k retrieval, and distance
joins of multiple datasets. The course contents are useful for research in areas including
databases, image processing artificial intelligence, and so on.
- CSC6220 Advanced Topics in Computer Vision
-
This course will be conducted in the form of seminar to explore the advanced research
topics in computer vision theory, algorithms and their applications. The course is structured
as discussion of assigned research papers and presentations by students. Examples of
research areas explored in this course include learning in vision, computational imaging
techniques, multimodal human-computer interaction, object and scene recognition, image
parsing, representation and estimation methods used in modern computer vision.
- CSC6230 Logic in Computer Science
-
This course provides a systematic introduction to various formal logic systems used in
computer science. The course starts from a revision of propositional logic and discussion
of SAT solvers, and goes on to predicate logic and model theoretic semantics. The course
then discusses logic systems for model checking, including linear-time temporal logic and
computational tree logic. Finally, the course discusses modal logics and Kripke semantics,
and their applications in computer science (e.g., deontic logic and epistemic logic).
- CSC6240 Semantic Web
-
This course introduces semantic web technology and its theoretical foundations. Topics
include Desciption Logics, ontologies, semantic data modelling in Resource Description
Framework (RDF), Resource Description Framework Schema (RDFS), and Web
Ontology Language (OWL). Some applications will also be discussed.
- CSC6270 Advanced Topics in Distributed Systems
-
This course aims at introducing the basic concepts, development trends, and research
topics in distributed systems. Many issues will be addressed through class discussions
on current research papers. Topics includes: overview of operating systems, concurrency
control, remote procedure calls, synchronization algorithms, system protection and
security, naming schemes, and fault-tolerance computing.
- CSC631T, 632T Research for Ph.D. (Full-time)
-
- CSC641T, 642T Research for Ph.D. (Part-time)
-
- CSC6480 Distributed Multimedia and Networks
-
The purpose of this course is to introduce the recent research topics in distributed
multimedia and networking systems. Theoretical topics will be first introduced, for
example, network pricing theory, game theory, micro-economic theory, fl uid-analysis and
control theory. Selected application topics will be presented so that students can gain the
familiarity of the evaluation methodologies as well as recent topics in networking systems.
- CSC6500 Seminars for M.Phil. Studies
-
Seminars on topics in Computer Science and Engineering to be presented by experts
from academic or industry. (Only pass/fail grade will be given) (Students shall gain units
each time they pass the course.)
- CSC661T-666T Seminar for Ph.D. Studies (Full-time)
-
- CSC6600 Seminars for Ph.D. Studies
-
Seminars on topics in Computer Science and Engineering to be presented by experts from
academic or industry. (Only pass/fail grade will be given) (Students shall gain units each
time they pass the course.)
- CSC803R Thesis Research
-
In this course, a student is required to meet with his/her supervisor regularly who
provides necessary guidance and supervision to write up a thesis and monitors the
student's academic progress.
- CSC806R Thesis Research
-
In this course, a student is required to meet with his/her supervisor regularly who
provides necessary guidance and supervision to write up a thesis and monitors the
student's academic progress.
- CSC812R Thesis Research
-
In this course, a student is required to meet with his/her supervisor regularly who
provides necessary guidance and supervision to write up a thesis and monitors the
student's academic progress.
|
|
 |
 |
|