 |
 |
|
|
 |
|
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.
- 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, floorplanning,
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
-
A more in-depth treatment of computer graphics and visualisation techniques will be given.
Topics of this course include radiosity and global illumination, procedural texturing and
modelling, advanced animation, volume rendering, information visualisation, and real-time
exploratory scientific visualisation. Prerequisite: CSC3260 or its equivalent.
- 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 - the technology for secure
identification and personsal 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 flows, 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.
- 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 flow 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 realtime
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.
- CSC6010, 6020 Research Project for M.Phil. Studies
-
- CSC6030, 6040 Research Project for M.Phil. Studies
-
- 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, SLD-resolution,
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.
- 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, fluid-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 Seminar 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.)
- CSC651T-654T Seminar for M.Phil. Studies
-
- 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.
|
|
 |
 |
|