Course List

COMP1003 Computer Organisation


An introduction to the building blocks and organisation of modern digital computers. The course answers the question: How does a computer work? Topics include: historical development of computing and the von Neumann model; data representation in computer systems; Boolean algebra, digital logic and its application to understanding Central Processing Unit (CPU) organisation; combinational and sequential circuits; Finite State Machine (FSM); Instruction Set Architecture (ISA); Assembly Language Programming; other basic modules, such as cache memory, virtual memory, and input/output techniques.

Check Details
COMP1013 Structured Programming


This course introduces a methodical approach to program development, starting from problem formulation and specification, through design of the solution, implementation, and documentation, to evaluation of the solution. The subject matter is taught through a high-level structured programming language. At present, C is used.

Check Details
COMP2003 Data Structures and Algorithms


This course develops students’ knowledge of data structures and their associated algorithms. It introduces the concepts and techniques of structuring and operating on Abstract Data Types in problem solving. Common sorting, searching and graph algorithms will be discussed, and their complexity studied.

Check Details
COMP2013 Object-Oriented Programming


This course introduces object-oriented programming concepts, principles, and techniques, including classes, objects, inheritance, and polymorphism. All these concepts are illustrated using a contemporary object-oriented programming language. Upon completion, students should be able to use an object-oriented language to develop complex programmes.

Check Details
COMP2023 Software Development Workshop I

软件开发工作坊 I

This workshop introduces the basic concepts in network and server administration. Practical, hands-on experience of server administration will be emphasised.

Check Details
GCIT1003 IT for Success in Everyday Life and Work


This course introduces students to the fundamental concepts of Information Technology (IT), and develops students’ confidence in using computers and computer applications. Useful and practical course contents are selected for learning how to be a competitive person in this information era. Students are introduced to the background of Computer Science, and the modern IT sector. Some of the major IT organisations are introduced, and current IT issues and questions are discussed. The basic architecture and design of a computer is explained. Software applications useful for students of all majors are introduced.

Check Details
COMP3003 Data Communications and Networking


Students will learn the principles of data communications, computer networks and network programming. Topics include: Network hardware and software, Network topologies and categories, Reference models and standards, Physical layer: signal analysis, bandwidth and data rate, transmission media, encoding, transmission, Data link layer, Network layer, Ethernet, Fast Ethernet, Gigabit Ethernet, Wi-Fi, TCP/IP, Socket programming, Client and Server software.

Check Details
COMP3013 Database Management Systems


This course introduces how to represent the data in a database for a given application and how to manage and use a database management system. Topics include: conceptual modelling of a database, relational data model, relational algebra, database language SQL, relation database design, and emerging XML data models. In addition, hands-on DBMS experience is included.

Check Details
COMP3023 Design and Analysis of Algorithms


This course builds on the study of the analysis and implementation of algorithms and data structures (COMP2003). The goal is to introduce a number of important algorithms that are interesting both from a practical and theoretical point of view. Algorithm design paradigms such as divide-and-conquer and dynamic programming will be discussed, and algorithms for sorting, searching, and graph problems, etc. will be developed.

Check Details
COMP3033 Operating Systems


Introduces the fundamentals of operating system design and implementation. Topics include an overview of the components of an operating system, mutual exclusion and synchronisation, deadlocks and starvation, implementation of processes and threads, resource scheduling algorithms, memory management, and file systems.

Check Details
COMP3043 Software Development Workshop II

软件开发工作坊 II

This workshop introduces the latest multimedia software tools, and advanced network administration. Practical, hands-on experience of multimedia software tools and network administration will be emphasised.

Check Details
COMP3053 Software Development Workshop III

软件开发工作坊 III

This workshop introduces the state-of-the-art technologies in Web applications, and enhances practical, hands-on experience of Web programming.

Check Details
COMP3063 Software Engineering


This course discusses the principles and practical aspects of software development. It studies the methodology of software development as well as the organisation, planning and management of the development process so that students will appreciate the difficulties involved in a large system development project and the importance of a disciplined approach to the problem.

Check Details
COMP4004 Final Year Project I (COMP)

毕业论文 I

Students will undertake an individual project under the supervision of a faculty member and gain the practical experience of applying computer systems principles and techniques acquired from the course to the solution of real-life problems. The project demands careful planning and creative application of underlying theories and enabling technologies. A thesis and an oral presentation are required upon successful completion of the project. This course is open to Computer Science majors only

Check Details
MATH1003 Linear Algebra


This course introduces the basic techniques in matrix algebra, which is the foundation for more advanced mathematics and statistics subjects. Major emphasis will be on the system of linear equations, linearly independence, and eigenvalue problems in finite dimensional vector spaces. Basic ideas and techniques on calculus will be introduced.

Check Details