FACULTY OF ENGINEERING Computer Science and Engineering by pyz17071

VIEWS: 73 PAGES: 21

									Postgraduate Student Handbook 2009-10                   Computer Science and Engineering



FACULTY OF ENGINEERING
Computer Science and Engineering

                                        Course List
Code                             Course Title                                      Unit
I.      M.Phil.-Ph.D. Programme in Computer Science and Engineering
        (Full-time and/or Part-time)
[Notes to students: Please also refer to the Section “Main Features of the M.Phil.-
Ph.D. Programme” for more details on the general framework.]
CEG5010                          Reconfigurable Computing                               3
CEG5020                          Fault-Tolerant Computing                              3
CEG5120                          Sequential Machines and Automata Theory               3
CEG5270                          EDA for Physical Design of Digital Systems            3
CEG5271                          EDA for Logic Design of Digital Systems               3
CEG5330                          Logic Synthesis and Testing                           3
CEG6100                          Advanced Workshop in Computer Engineering             1
CSC5110                          Advanced Topics in Software Engineering               3
CSC5120                          Advanced Topics in Database Systems                   3
CSC5130                          Theory of Programming Languages                       3
CSC5140                          Advanced Topics in Operating Systems                  3
CSC5150                          Learning Theory and Computational Finance             3
CSC5160                          Topics in Algorithms                                  3
CSC5170                          Theory of Computation Complexity                      3
CSC5180                          Techniques for Data Mining                            3
CSC5190                          Artificial Intelligence Programming                    3
CSC5210                          Advanced Topics in Computer Graphics and              3
                                   Visualization
CSC5220                          Advanced Topics in Multimedia Database                3
CSC5230                          Advanced Topics in Compiler Construction              3
CSC5240                          Combinatorial Search and Optimization with            3
                                   Constraints
CSC5250                          Information Retrieval and Search Engines              3
CSC5260                          Brain Theory and Sensorimotor Processing              3
CSC5270                          Principles of Computational Learning                  3
CSC5280                          Image Processing and Computer Vision                  3
CSC5290                          Theory of Neural Computation                          3
CSC5310                          Topics in Biometrics                                  3
CSC5320                          Topics in Graph Algorithms                            3
CSC5330                          Advanced Algorithms for Bioinformatics                3
CSC5340                          Advanced Topics in Distributed Software Systems       3
CSC5350                          Game Theory in Computer Science                       3
CSC5360                          Grid Computing                                        3
CSC5370                          Quantum Computing                                     3
CSC5390                          Advanced Topics in GPU Programming                    3

                                                                         II – E – CSE – 1
Postgraduate Student Handbook 2009-10                     Computer Science and Engineering


CSC5410                          Advanced Computer Architecture                    3
CSC5420                          Computer System Performance Evaluation            3
CSC5430                          Autonomous Agents and Multiagent Systems          3
CSC5460                          Virtual and Augmented Reality                     3
CSC5470                          Computer and Network Security                     3
CSC6001-6004                     Advanced Topics in Computer Science I, II,   3 each
                                  III, IV
CSC6100                          Advanced Workshop in Computer Science             1
CSC6130                          Advanced Topics in Programming Languages          3
CSC6150                          Theoretical Foundations of Logic Programming      3
CSC6200                          Advanced Topics in Artificial Intelligence         3
CSC6210                          Advanced Multidimensional Search                  3
CSC6220                          Advanced Topics in Computer Vision                3
CSC6230                          Logic in Computer Science                         3
CSC6240                          Semantic Web                                      3
CSC6270                          Advanced Topics in Distributed Systems            3
CSC6480                          Distributed Multimedia and Networks               3
CSC6500                          Seminar for M.Phil. Studies                       1
CSC6600                          Seminar for Ph.D. Studies                         1
CSC641T, 642T                    Research for Ph.D. (Part-time)               4 each
CSC803R                          Thesis Research                                   3
CSC806R                          Thesis Research                                   6
CSC812R                          Thesis Research                                  12
II.     Ph.D. Programme in Computer Science and Engineering
        (Full-time and/or Part-time)
        (Applicable to students admitted in 2005-06 and before)
CSC631T, 632T                    Research for Ph.D. (Full-time)                    6 each
CSC641T, 642T                    Research for Ph.D. (Part-time)                    4 each
CSC661T-666T                     Seminar for Ph.D. Studies (Full-time)             1 each
III.    M.Sc. Programme in Computer Science (Full-time and Part-time)
CSC7110                          Programming Languages: Theory and                       3
                                   Implementation
CSC7111                          Advanced Topics in Parallel/Distributed Systems         3
CSC7112                          Topics in Software Systems                              3
CSC7120                          Computational Complexity                                3
CSC7121                          Advanced Topics in Database Systems                     3
CSC7122                          Topics in Theoretical Computer Science                  3
CSC7130                          Advanced Topics in Artificial Intelligence               3
CSC7220                          Advanced Computer Architecture                          3
CSC7221                          Advanced Topics in Internet Technology                  3
CSC7230                          Object-based Distributed Systems                        3
CSC7231                          Image Processing and Computer Vision                    3
CSC7232                          Computer Models for E-Business                          3
CSC7233                          IT Project Management                                   3
CSC7240                          Multimedia Technology                                   3


                                                                           II – E – CSE – 2
Postgraduate Student Handbook 2009-10                     Computer Science and Engineering


CSC7241                          Advanced Topics in Information Systems                 3
CSC7242                          Internet-based Virtual Reality                         3
CSC7246                          Service-Oriented Computing                             3
CSC7248                          Introduction to Computational Finance                  3
CSC7250                          Seminar                                                3
CSC7251, 7260                    Project I, II                                     3 each
CSC7270                          Autonomous Agents and Multiagent Systems               3
CSC7272                          Computer Crimes and Forensics                          3
CSC7274                          Data Mining and Knowledge Discovery                    3
CSC7276                          On-demand Enterprise Computing                         3
CSC7278                          Computer and Network Security                          3
CSC7280                          Computer Game Software Production                      3
CSC7281                          Decision Analysis & Game Theory                        3


                               Course Description
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 fault-
tolerant 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 fault-
tolerant 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
EDA 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

                                                                           II – E – CSE – 3
Postgraduate Student Handbook 2009-10                       Computer Science and Engineering


Physical Design of digital systems, including circuit partitioning, FPGA technology
mapping, floorplanning, placement, routing, compaction and interconnect optimization.
Prerequisites: CSC2100 or ERG2020.

CEG5271
EDA for Logic Design of Digital Systems
The scope of this course focuses on logic design of digital systems. Fundamental
theory and techniques applied in logic synthesis of Electronic Design Automation
(VLSI CAD) process are introduced. Topics include advanced Boolean algebra, related
graph and BDD algorithms, two-level (SOP) and multi-level (Boolean networks) logic
representations and optimization, sequential logic optimization, retiming, rewiring,
FPGA design flow, etc. Hands on experience on the Berkeley ESPRESSO/SIS/ABC
platform will be learned through class exercises. Prerequisite: CSC2100 and ERG2020
(Not for students who have taken CEG5330)

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
specif ications: algebraic and model-based specif ications, 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 CSC7121 and SEG5010.)




                                                                              II – E – CSE – 4
Postgraduate Student Handbook 2009-10                       Computer Science and Engineering


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.
(Not for students who have taken CSC7110)

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 unif ied 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. (Not for students who have taken
CSC7120)

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. (Not for students who have taken CSC7274)

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



                                                                             II – E – CSE – 5
Postgraduate Student Handbook 2009-10                        Computer Science and Engineering


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, image-
based rendering, stereo imaging, real-time volume graphics and interactive visualization.
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.

CSC 5240
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.


                                                                               II – E – CSE – 6
Postgraduate Student Handbook 2009-10                         Computer Science and Engineering


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. (Not for students who have taken CSC7231)

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 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 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


                                                                                II – E – CSE – 7
Postgraduate Student Handbook 2009-10                       Computer Science and Engineering


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. (Not for students who have taken
CSC7111 and CSC7230)

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. (Not
for students who have taken CSC7281)

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. (Not for students who have taken CSC7276)

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 amplification, 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.




                                                                             II – E – CSE – 8
Postgraduate Student Handbook 2009-10                       Computer Science and Engineering


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 cost-
effective 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 general-
purpose 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 flow machines will also be elaborated. Prerequisite: CSC3420.
(Not for students who have taken CSC7220)

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. (Not for
students who have taken CSC7270)

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

                                                                             II – E – CSE – 9
Postgraduate Student Handbook 2009-10                      Computer Science and Engineering


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)
(Not for students who have taken CSC7242)

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 CSC7278
and 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. (Not for students who have taken CSC7110)

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. (Not for students who have taken
CSC7130)

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


                                                                           II – E – CSE – 10
Postgraduate Student Handbook 2009-10                       Computer Science and Engineering


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.
Prerequisite: CSC3170 or its equivalent.

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. (Not for students who have
taken CSC7111)

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
                                                                             II – E – CSE – 11
Postgraduate Student Handbook 2009-10                      Computer Science and Engineering


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.)

CSC7110
Programming Languages: Theory and Implementation
This course focuses on the theory and implementation of modern programming languages.
Topics include: logic, lambda calculus, type theory, domain theory, category theory,
semantics, and implementation for languages of different paradigms. (Not for students
who have taken CSC5130 and CSC6130)

CSC7111
Advanced Topics in Parallel/Distributed Systems
This course covers selected topics in parallel/distributed systems. The detailed contents
may be changed from year to year depending on the current development and the teacher
specialty.
Special Topic: Internet Technologies and Programming
This course covers the Internet’s architecture, protocols and traffic characteristics, and
reviews the key issues involved in handling voice, video and multi-media. Distributed
programming in Java using different paradigms.
(Not for students who have taken CSC5340 and CSC6270)

CSC7112
Topics in Software Systems
This course will introduce to students topics in software systems. Topics will be selected
from theories, design and implementation methodologies, object technologies and
software agent technologies. The detailed contents may be changed from year to year
depending on the current development and available expertise.
Special Topic: Autonomous Agents and Multiagent Systems
Characteristics of autonomous agents. Agent architectures: BDI 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.



                                                                           II – E – CSE – 12
Postgraduate Student Handbook 2009-10                      Computer Science and Engineering


CSC7120
Computational Complexity
This course introduces advanced topics in computational complexity: relations between
complexity classes, reduction and completeness, P vs NP, NP and coNP problems,
approximability and parallel computation. (Not for students who have taken CSC5170)

CSC7121
Advanced Topics in Database Systems
This course will introduce to students advanced topics in database systems including
query languages, concurrency control, deadlock resolutions, recovery schemes,
distributed database systems, and object-oriented approach.
Special Topic: Data Mining
Data mining provides useful tools for the analysis, understanding and extraction of useful
information from huge databases. Applications range from 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.
(Not for students who have taken CSC5120 and SEG5010)

CSC7122
Topics in Theoretical Computer Science
This course will introduce to students topics in theoretical computer science. The detailed
contents may be changed from year to year depending on the current development and
available expertise.

CSC7130
Advanced Topics in Artificial Intelligence
This course will cover selected topics from: advanced pattern recognition, neural
networks, expert systems and fuzzy systems, evolutionary computing, learning theory,
constraint processing, logic programming, probabilistic reasoning, computer vision,
speech processing, and natural language processing. (Not for students who have taken
CSC6200)

CSC7220
Advanced Computer Architecture
This course explores current and future trends in the design of high-performance
computing systems. Topics to be discussed will include pipelining, branch prediction,
hardware/software techniques for exposing more parallelism, memory system design,
interconnection networks and clusters. (Not for students who have taken CSC5410)

CSC7221
Advanced Topics in Internet Technology
This course will cover advanced topics in Internet technologies. Topics will vary from year
to year depending on current research interests. Some typical topics to be discussed will
include multimedia streaming, delivery and fault tolerance; content distribution network;
peer-to-peer network and services; network economics and incentive; network security and
distributed key management; service overlay network, routing and convergence.




                                                                           II – E – CSE – 13
Postgraduate Student Handbook 2009-10                        Computer Science and Engineering


CSC7230
Object-based Distributed Systems
This course will provide students with an understanding and awareness of the main
advantages, challenges, design issues, and current techniques in the area of distributed
systems and software, based on the object-oriented paradigm and middleware. Topics
will include: architectural models for distributed systems, examples of servers such as file
servers and name servers, remote procedure calls and multicast communication, Java RMI,
emerging standards (CORBA, DCOM) and platforms (Iona Orbix, Visigenix), the features
of Unix which are geared towards distributed working, the relevance of concurrency control
and transactions in the sharing of distributed data, reliability and security issues. (Not for
students who have taken CSC5340)

CSC7231
Image Processing and Computer Vision
This course includes fundamental topics in image processing, e.g., image enhancement
techniques, color image processing, image segmentation and image compression. In
addition, the course also focuses on topics concerning methodologies of recovering 3D
information from 2D images. Specifically, techniques for camera calibration, stereopsis,
motion analysis, pose estimation and structure from motion will be discussed. These
techniques will have practical applications to virtual reality, model reconstruction and
graphics. (Not for students who have taken CSC5280)

CSC7232
Computer Models for E-Business
This course studies the modelling for E-Business, in particular the functional models,
customer behaviour models, and resource models. These models will be used in E-Business
capacity planning and system performance evaluations. In particular, modelling of contention
for software servers and characterizing of E-Business workloads will be included. Other
topics cover quantitative analysis of authentication services and payment services.

CSC7233
IT Project Management
This course covers the key elements of the project management framework related to
information technology. Topics include the identification of elements and processes of
project management, processes involved in project integration management, project scope
management, various tools and techniques used to develop project schedules and resource
planning, processes of project quality management, project communications management,
risk management, human resource management, and project procurement management.
Experts from industry will also be invited to share their experience in the topics.

CSC7240
Multimedia Technology
This course will introduce to students advanced topics in multimedia technology:
hypermedia systems, storage technology, video technology, multimedia information
systems, distributed multimedia database, multimedia development tools and environments.




                                                                             II – E – CSE – 14
Postgraduate Student Handbook 2009-10                       Computer Science and Engineering


CSC7241
Advanced Topics in Information Systems
This course will introduce to students advanced topics in information systems.
The detailed contents may be changed from year to year depending on the current
development and the teacher specialty.

CSC7242
Internet-based Virtual Reality
This course introduces various user-computer interaction techniques and interface tools
on the Internet. It will discuss the current R&D trends in virtual reality (VR) technology,
especially Internet-based VR technology applied to various applications including
architecture modelling and navigation, virtual prototyping, 3D arts and design, multi-
user real-time VR entertainment on the Internet, virtual tourist, tele-medicine and distant
learning, and interactive visualization. (Not for students who have taken CSC5460)

CSC7246
Service-Oriented Computing
Service-oriented computing (SOC) is rapidly becoming the dominant paradigm for
building distributed applications. To help students prepare for this future development,
this course will introduce the concepts and techniques for service-oriented computing.
Key topics will include service discovery, service composition, distributed transactions,
service agents, ensuring high quality and secure services, developing trust and compliances
among service providers. The students can apply the newly gained knowledge through
various programming exercises.

CSC7248
Introduction to Computational Finance
This course introduces some basic concepts in computational finance. Topics include
risk and return, modern portfolio theory, calculating the efficient frontier, multiple factor
models, various models for portfolio optimization, utility functions and evaluation of
portfolio performance.

CSC7250
Seminar
A series of 12 seminars on current topics in computer science to be presented by experts
from academia or industry.

CSC7251, 7260
Project I, II
These courses involve a significant project in any area of computer science. A project
report has to be written under the supervision of the lecturing staff.

CSC7270
Autonomous Agents and Multiagent Systems
This course covers main issues in autonomous agents and multiagent systems. Topics
include characteristics of autonomous agents; agent architectures: BDI architecture,
purely reactive architectures and hybrid architecture. Multiagent systems: speech acts
theory, agent communication, and agent cooperation protocols. Distributed rational




                                                                            II – E – CSE – 15
Postgraduate Student Handbook 2009-10                      Computer Science and Engineering


decision making: protocols and strategies, Nash equilibrium and Pareto optimality,
auctions, voting, Clarke tax. Argumentation and negotiation. (Not for students who have
taken CSC5430)

CSC7272
Computer Crimes and Forensics
This course investigates cases of computer crimes. It covers the following topics:
admissibility of electronic evidence, e-evidence collection and preservation, forensic
examination of computer and digital and electronic media, detecting intrusions, malware
and fraud-related legal, ethical topics.

CSC7274
Data Mining and Knowledge Discovery
This course introduces the techniques used in data mining. Topics include clustering,
classification, estimation, forecasting, statistical analysis and visualization. Data Mining
provides useful tools for the analysis and visualization. Data Mining provides useful
tools for the analysis, understanding and extraction of useful information from huge
databases. Applications range from business, finance, medicine and engineering. (Not
for students who have taken CSC5180)

CSC7276
On-demand Enterprise Computing
This course provides an introduction to the basic principles and practical technology in
on-demand enterprise computing. Topics of contemporary interest will be selected from
Web services and grid computing: Web services basics and technology such as XML,
SOAP, WSDL and UDDI; event notification and service-oriented architectures; service
composition and service transactions; service security and policies; service semantics;
grid concepts and architecture; OGSA and WSRF; grid security; grid monitoring; grid
scheduling and resource management; grid workflows; cloud computing; on-demand
enterprise applications. (Not for students who have taken CSC5360)

CSC7278
Computer and Network Security
Issues of computer and network security. Weaknesses of network protocols. Security
protocols. Firewalls. Computer viruses. System security threats. Applications of
Cryptography. (Not for students who have taken CSC5470 and SEG5240)

CSC7280
Computer Game Software Production
This course focuses on the programming issues in computer gaming software
production, discusses the process in developing a game application and analyzes various
considerations in technologies used. The main emphasis is on the real time performance
requirement in computer game development. Indoor/outdoor rendering, networking,
artificial intelligence, physics as well as the game design issues would be introduced.




                                                                           II – E – CSE – 16
Postgraduate Student Handbook 2009-10                     Computer Science and Engineering


CSC7281
Decision Analysis & Game Theory
This course introduces decision theory and game theory used in computer science, in
particular, artificial intelligence and multiagent systems. Topics include utility theory,
decisions under risk, decisions under uncertainty, social choices, strategic games and
Nash equilibrium, extensive games and subgame perfect equilibrium, repeated games and
folk theorems, and applications in computer science. (Not for students who have taken
CSC5350)

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.

                                   Study Scheme
I.      M.Phil.-Ph.D. Programme in Computer Science and Engineering
        (Full-time and/or Part-time)
         (Applicable to students admitted in 2006-07 and thereafter)
A.      M.Phil. Student (Full-time)
1.      Coursework Requirement
(a)     Lecture courses
        Each M.Phil. student is required to complete a minimum of 12 units of postgraduate
        courses offered by the Division or related courses as approved by the Division.
(b)     Thesis research courses
        Each M.Phil. student must register for the Thesis Research Course.
        (i)     Year One M.Phil. student :CSC806R in both terms
        (ii)    Year Two M.Phil. student :CSC812R in both terms
        (iii)   Continuing M.Phil. student :CSC803R
(c)     Other courses
        Each M.Phil. student is required to take CSC6500 ‘Seminar for M.Phil. Studies’
        in every term throughout his/her normative study period.




                                                                          II – E – CSE – 17
Postgraduate Student Handbook 2009-10                     Computer Science and Engineering


2.      Other Requirements
(a)     Students are required to submit a research thesis and pass an oral examination
        for graduation.
(b)     IT Proficiency Test. (Please refer to “Student IT Competence”.)
(c)     Students are required to submit a term paper followed by an oral presentation at
        the end of each term.
(d)     Complete an Improving Postgraduate Learning (IPL) module on “Observing
        Intellectual Property and Copyright Law during Research”. This will be an
        online module and relevant information can be accessed from the website:
        www.cuhk.edu.hk/clear/programmes/programmes.htm.
3.      Remarks
Transfer of candidature to doctoral degree programme:
An M.Phil. student who wishes to transfer to the doctoral degree programme shall have
to fulfill the University’s regulation governing the transfer of candidature. In addition,
he/she will have to satisfy the following requirements:
(i)     has completed at least 4 graduate courses, with each course grade at “B-” or
        above;
(ii)    the GPA of courses taken must be at least 2.6 for each term; and
(iii)   has demonstrated his/her research ability in the opinion of the Division.
B.      Ph.D. Student (Pre-candidacy) (Full-time and/or Part-time)
         (Applicable to full-time students admitted in 2006-07 and thereafter
          and part-time students admitted in 2008-09 and thereafter)
The “candidacy requirement” composes of three major parts, namely, coursework
requirement, candidacy examination, and thesis proposal (and oral defence).
Students must complete and fulfill both parts within the “maximum period for
fulfilling candidacy requirements”. Details of the requirement are listed below:

1.      Coursework Requirement
(a)     Lecture courses
        Each Ph.D. student is required to complete a minimum of 12 units of postgraduate
        courses offered by the Division or related courses as approved by the Division.
(b)     Thesis research courses
        Each Ph.D. student must register for the relevant Thesis Research Course in
        every term throughout his/her study period.
        (i)      Full-time Ph.D. (pre-candidacy) student: CSC806R
        (ii)     Part-time Ph.D. (pre-candidacy) student: CSC803R
(c)     Other courses
        Each Ph.D. student is required to take CSC6600 ‘Seminar for Ph.D. Studies’ in
        every term throughout his/her normative study period.
2.      Candidacy Examination
(a)     Each Ph.D. student is required to pass the Candidacy Examination within the
        maximum period of his/her pre-candidacy stage for the advancement to his/her
        post-candidacy stage.



                                                                          II – E – CSE – 18
Postgraduate Student Handbook 2009-10                       Computer Science and Engineering


(b)     Obtain grade B- or above in two additional courses taken from any two of the
        following areas:
        • Algorithms & Computational Complexity
        • Artificial Intelligence
        • Database
        • Digital Circuits & VLSI Design
        • Networks
        • Programming Languages
        • Software Engineering
        • Microprocessors & Systems
(c)     No exemptions will be allowed.
3.      Thesis Proposal and Oral Defence
Each Ph.D. student is required to submit a written thesis proposal and pass an oral defence.
4.      Remarks
(a)     For the advancement to post-candidacy stage, each Ph.D. student is required to pass:
        (i)      at least 12 units of graduate courses, and
        (ii)     the candidacy examination
        (iii)    a thesis proposal followed by an oral presentation
(b)     A student is required to discontinue from study if he/she cannot fulfill the
        candidacy requirement within the maximum period.
C.      Ph.D. Student (Post-candidacy) (Full-time and/or Part-time)
1.      Coursework Requirement
(a)     Lecture courses
        There is no additional course requirement for Ph.D. candidate.
(b)     Thesis research courses
        Each Ph.D. student must register for the relevant Thesis Research Course in
        every term throughout his/her study period.
        (i)      Full-time Ph.D. (post-candidacy) student: CSC812R
        (ii)     Part-time Ph.D. (post-candidacy) student: CSC806R
        (iii)    Continuing Ph.D. (post-candidacy) student: CSC803R
(c)     Other courses
        Each Ph.D. student is required to take CSC6600 Seminar for Ph.D. Studies in
        every term throughout his/her normative study period.
2.      Other Requirements
(a)     Students are required to submit a research thesis and pass an oral examination
        for graduation.
(b)     IT Proficiency Test. (Please refer to “Student IT Competence”.)
(c)     Each Ph.D. student is required to submit a research paper and give a presentation
        before the end of each year of attendance, exact dates to be determined by the
        Division. A student with failure grade may be required to discontinue his/her
        study.
(d)     If the Division deems necessary, students who fail CSC8xxR may be required to



                                                                            II – E – CSE – 19
Postgraduate Student Handbook 2009-10                    Computer Science and Engineering


        take course(s) or submit project report(s).
(e)     Students may be required to take any courses if deemed necessary.
(f)     Complete an Improving Postgraduate Learning (IPL) module on “Observing
        Intellectual Property and Copyright Law during Research”. This will be an
        online module and relevant information can be accessed from the website:
        www.cuhk.edu.hk/clear/programmes/programmes.htm.
II.     Ph.D. Programme in Computer Science and Engineering
        (Full-time and/or Part-time)
        (Applicable to full-time students admitted in 2005-06 and before
         and part-time students admitted in 2007-08 and before)
1.      Coursework Requirement
(a)     For Full-time Students:
        Students are required to take “Research for Ph.D. (Full-time)” and “Seminar for
        Ph.D.” each term throughout their normative study period.
        1st term: CSC631T, 661T
        2nd term: CSC632T, 662T
(b)     For Part-time Students:
        Students are required to take “Research for Ph.D. (Part-time)” each term
        throughout their normative study period.
        1st term: CSC641T
        2nd term: CSC642T
2.      Comprehensive/Qualifying Examination
Students are required to take and pass a qualifying examination which is in oral format.
Students should contact the Division for details of the examination.
3.      Other Requirements
(a)     Students are required to submit a research thesis and pass an oral examination
        for graduation.
(b)     IT Proficiency Test. (Please refer to “Student IT Competence”.)
(c)     Submit a research paper and give a presentation before the end of each year of
        attendance, exact dates to be determined by the Division. A student with failure
        grade may be required to discontinue his/her study.
(d)     If the Division deems necessary, students who fail CSC6xxT may be required to
        take course(s) or submit project report(s).
(e)     Students may be required to take any courses if deemed necessary.
(f)     Complete an Improving Postgraduate Learning (IPL) module on “Observing
        Intellectual Property and Copyright Law during Research”. This will be an
        online module and relevant information can be accessed from the website: www.
        cuhk. edu.hk/clear/programmes/programmes.htm.




                                                                         II – E – CSE – 20
Postgraduate Student Handbook 2009-10                     Computer Science and Engineering


III.    M.Sc. Programme in Computer Science (Full-time and Part-time)
1.      Coursework Requirement
Students are required to take 8 courses and complete a minimum of 24 units for graduation.

        Minimum 6 courses from
        • the M.Sc. course list and / or,
        • any CSC or CEG coded 5000-level and 6000-level courses within the
          department except courses CEG6100, CSC6001-6004, CSC6100, CSC6500,
          CSC6600, CSC631T, CSC632T, CSC641T, CSC642T, CSC661T-666T,
          CSC803R, CSC806R, CSC812R
        Maximum 2 courses from
        • any 7000-level courses of other M.Sc. programme within the Faculty of
          Engineering.
        All choices of non - M.Sc. in CS courses are subject to the approval of the
        Programme Directors concerned.
2.      Other Requirements
(a)     IT Proficiency Test. (Please refer to “Student IT Competence”.)
(b)     Minimum cumulative GPA of 2.0.
(c)     A student may fail in not more than one course and must pass eight courses in
        order to gain the 24 credit units in total.




                                                                          II – E – CSE – 21

								
To top