COMP7408 Distributed ledger and blockchain technology [Section 2A, 2024]

Course category2024-25

Course Syllabus:

In this course, students will learn the key technical elements behind the blockchain (or in general, the distributed ledger) technology and some advanced features, such as smart contracts, of the technology. Variations, such as permissioned versus permissionless and private blockchains, and the available blockchain platforms will be discussed.

Students will also learn the following issues: the security, efficiency, and the scalability of the technology. Cyber-currency (e.g. Bitcoin) and other typical application examples in areas such as finance will also be introduced.

Prerequisites: COMP7906 Introduction to cyber security or ICOM6045 Fundamentals of e-commerce security and experience in programming is required.

Mutually exclusive with: FITE3011 Distributed ledger and blockchain.

Course Learning Outcomes:

CLO1. [Technical foundation]
Identify key components behind the design of a distributed ledger (and blockchain) and evaluate different designs/solutions for implementing a distributed ledger.

CLO2. [Applications and programming]
Understand the types of applications that best fit the model of distributed ledger; program applications and smart contracts on some popular platforms.

CLO3. [Cryptocurrency and other impacts]
Understand the technologies behind different cryptocurrencies, and other impacts related to distributed ledger, including its limitations, emerging directions, and related issues (e.g. Regulations).

Course Content/Topics Covered:

  • Introduction: The rationale behind the design of a distributed ledger (blockchain) and the key components in such a platform
  • Different cryptographic primitives and designs in constructing a distributed ledger
  • Applications that best fit the platform
  • Programming an application in a popular blockchain platform (e.g. smart contracts in Ethereum)
  • Cryptocurrency technology and its impact
  • The impact of distributed ledger technology, limitations of existing distributed ledger platforms, possible enhancements to existing platforms, and possibilities of having new applications

COMP7103 Data mining [Section 1A, 2024]

Course category2024-25

Data mining is the automatic discovery of statistically interesting and potentially useful patterns from large amounts of data.  The goal of the course is to study the main methods used today for data mining and on-line analytical processing.  Topics include Data Mining Architecture; Data Preprocessing; Mining Association Rules; Classification; Clustering; On-Line Analytical Processing (OLAP); Data Mining Systems and Languages; Advanced Data Mining (Web, Spatial, and Temporal data).

Teacher: Kao Chi Ming

COMP4805 Project [Section 1A, 2024]

Course category2024-25
The COMP4805 Project provides an opportunity for students to study and work independently on a substantial Computer Science project under the supervision of academics in the Department of Computer Science.
Teacher: Chim Tat Wing

COMP3357 Cryptography [Section 1A, 2024]

Course category2024-25

This course offers a gentle introduction to the field of cryptography. We will start from the basic principles of confidentiality, integrity and authentication. After that, we will go through some fundamental cryptographic primitives like hash function, symmetric key encryption, public key encryption and digital signatures. Finally, we will introduce the basics of quantum cryptography including quantum key distribution and random number generation.

COMP3355 Cyber Security [Section 1A, 2024]

Course category2024-25

This course will introduce fundamental principles to design a secure system. It covers essential topics about cyber security, including crypto, software security, network security, web security, AI security, etc. The course is lab-driven, through which students will get their hands dirty on security labs to learn real-world attacks and defenses.