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.

CUHK   |   Engineering Faculty   |   CSE Webmail   |   Search   |   Sitemap   |   Privacy Statement   |   Contact Us
Copyright © 2008 Department of Computer Science and Engineering, The Chinese University of Hong Kong. All rights reserved.
Email: dept@cse.cuhk.edu.hk       Tel: (852) 26098440       Fax: (852) 26035024