Faculty of Engineering Faculty of Science MIEG CUHK

Bachelor of Science in Mathematics & Information Engineering (MIEG)

Course Details

Quick reference for course information arranged in alphabetical order. Students should refer to CUSIS in case of any inconsistency or ambiguity.

Shortcut to: Major Required Courses | Major Electives | Faculty Foundation Courses | Other Courses

Note: Student may take the corresponding ELITE course to fulfill the requirement if the ELITE version of the course is available.

Major Required Courses

Course Code Description Unit
CSCI2100/ESTR2102 Data Structures
The concept of abstract data types and the advantages of data abstraction are introduced. Various commonly used abstract data types including vector, list, stack, queue, tree, and set and their implementations using different data structures (array, pointer based structures, linked list, 2-3 tree, B-tree, etc.) will be discussed. Sample applications such as searching, sorting, etc., will also be used to illustrate the use of data abstraction in computer programming. Analysis of the performance of searching and sorting algorithms. Application of data structure principles.
Not for students who have taken ESTR2102 or CSCI2520; Pre-requisite: CSCI1110 or 1120 or 1130 or 1510 or 1520 or 1530 or 1540 or ENGG1110 or ESTR1100 or ESTR1102 or ESTR1002 or its equivalent. For senior-year entrants, the prerequisite will be waived.
CSCI3160/ESTR3104 Design and Analysis of Algorithms
Basics of algorithm analysis: correctness and time complexity. Techniques for designing efficient algorithms: greedy method, divide and conquer, and dynamic programming. Fundamental graph algorithms: graph traversals, minimum spanning trees and shortest paths. Introduction to complexity theory: polynomial-time reductions and NP-completeness.
Not for students who have taken ESTR3104 or CSCI3190; Pre-requisite: CSCI2100 or CSCI2520 or ESTR2102, and CSCI2110 or ENGG2440 or ESTR2004.
IERG1810 Electronic Circuit Design Laboratory
Transistor and RC circuit, amplifier, oscillator, active filter, design project.
Pre-requisite/Co-requisite: IERG2060.
IERG2051/ESTR2302 Signals and Systems
Linear time-invariant systems. Fourier analysis of continuous-time and discrete-time signal and systems. Laplace transform. z-transform. Feedback systems. Applications such as processing of communication signals and images, control of disk drive systems, and analysis of the stock market.
Not for students who have taken ENGG2030 or ESTR2206 or ESTR2302. Prerequisite: MATH1510.
IERG2080/ESTR2306 Introduction to Systems Programming
This course introduces the C programming language with applications to systems programming. Topics include fundamentals of the C programming language, software development tools, and system programming principles.
Pre-requisite: ENGG1110 or ESTR1002 Not for students who have taken CSCI1140 or CSCI1510 or ESTR2306.
IERG2310/ESTR2300 Principles of Communication Systems
This is a foundation course on telecommunication and related technologies. It describes the essential elements of a modern communication system. Students will learn the basic concepts in electrical communication, the operation principles and the performance requirements for a real-world communication system. The course content include signal representation and properties, amplitude modulation, angle modulation, analogue-to-digital signal conversion, demodulation and detection, pulse modulation, multiplexing, baseband transmission, passband transmission, inter-symbol interference, system performance evaluation and other topics. The course is the basis of various advanced courses on electrical and optical communications.
Not for students who have taken ELEG2310 or ENGG2310 or ESTR2300
IERG2470/ESTR2308 Probability Models and Applications
The course introduces the fundamental principles of probability models and their engineering applications. It includes the topics in basic probability theory, random variables, common distributions and probability functions, moment generating function, inequalities, limit theorems, basic random processes, and basic Markov chains and Poisson processes. This is the foundation course to prepare the students for courses in communications and networking.
Not for students who have taken ENGG2430, ENGG2450, ENGG2460, ENGG2470, ESTR2002, ESTR2005, ESTR2010, ESTR2012 or ESTR2308
IERG2602 Engineering Practicum
Industrial and professional workshops or seminars Not for students who have taken ENGG2602.
IERG3080/ESTR3308 Information and Software Engineering Practice
Software Engineering practice such as requirement analysis and specifications, system design and integration, object-oriented designs and development, software testing and maintenance, software quality and performance metrics, documentation, CASE tools, project planning and management. Information engineering practice concerning software intellectual property rights, privacy, Internet commerce, entrepreneurship and public policies.
Not for students who have taken CSCI3100 or ENGG3820 or ESTR3308.
IERG3310/ESTR3310 Computer Networks
OSI reference model. Overview of TCP/IP. Local area networks and wide area networks. Network layer and protocols. Transport layer and protocols. Examples of application layer protocols such as HTTP. Network security: firewall, SSL, and private and public keys encryption systems. One term project on client-server programming to create a web server and proxy.
Not for students who have taken CSCI4430 or ESTR4120 or ESTR3310.
IERG3800 Information Infrastructure Design Lab
This course offers a series of hands-on laboratory exercises for students to practice the design, implementation, and testing of the networking, computing and information service infrastructures of a modern enterprise.
Pre-requisite: ENGG2600 or ENGG2602 or ESTR2008 or IERG2602 Not for students who have taken IERG3921.
IERG3820 Communications Lab
This course offers a series of laboratory experiments on electronic communication technologies. Topics include signal analysis, principles in analog and digital communications, signal modulation formats, multichannel systems, and system design of communication applications.
Corequisite(s):ENGG2310 or ESTR2300
MATH1050 Foundation of Modern Mathematics
This course introduces rigorous mathematical reasoning, proofs, and high dimensional geometry. The use of logic in mathematics and various methods of proof will be illustrated by concrete examples from a variety of topics in mathematics.
Advisory: MATH Majors should select not more than 5 MATH courses in a term.
Co-requisite: MATH1010 or MATH1030 or (Grade B or above in MATH1510 or MATH1520).
MATH2020 Advanced Calculus II
This is a continuation of MATH2010. The following topics will be discussed: multiple integrals: double integrals, areas, volumes, surface areas, change of variables; vector analysis: line integrals, surface integrals, Green theorem, divergence theorem, Stokes theorem.
Advisory: MATH Majors should select not more than 5 MATH courses in a term.
Pre-requisite: MATH2010, or [(ENGG1410 or ESTR11004) and MATH1050].
MATH2040 Linear Algebra II
This is a continuation of MATH1030. Topics include: linear transformations, matrix representation, nullity and rank; diagonalization, Cayley-Hamilton theorem; inner product spaces, normal and self-adjoint operators, quadratic forms; dual space, canonical forms, spectral theorem.
Advisory: MATH Majors should select not more than 5 MATH courses in a term.
1. Pre-requisite: MATH1030 and 1050, or 2. Pre-requisite: (ENGG1410 or ESTR1004) and MATH1050, or 3. Pre-requisite: Grade A- or above in MATH1030. Co-requisite: MATH1050.
MATH2050 Mathematical Analysis I
This course is intended to provide conceptual understanding in the theory of functions of one variable. Topics include: real numbers, real valued functions, set notations; limits of sequences, convergence, Bolzano-Weierstrass; limits of functions, continuous functions, uniform continuity.
Advisory: MATH Majors should select not more than 5 MATH courses in a term.
Not for students who have taken MATH2055. Pre-requisite: [MATH1010 (or Grade B or above in MATH1510 or MATH1520), 1030 and 1050] or [(ENGG1410 or ESTR1004) and MATH1050].
MATH2070 Algebraic Structures
This course is intended as an introduction to modern abstract algebra and the way of algebraic thinking in advanced mathematics. The course focuses on basic algebraic concepts which arise in various areas of advanced mathematics, and emphasizes on the underlying algebraic structures which are common to various concrete mathematical examples. Topics include: groups, rings, fields, polynomial rings, Boolean algebras; Permutation group, coset and factor group, normal subgroup, isomorphism theorems.
Pre-requisite: [MATH1010 (or Grade B or above in MATH1510 or MATH1520), 1030 and 1050] or [(ENGG1410 or ESTR1004) and MATH1050].
MATH2230 Complex Variables with Applications
This course is to introduce the basic properties of complex functions and analytic functions and to illustrate the important use of these theories to other branches of mathematics and sciences. Topics include: complex numbers; limits, continuity and derivatives, Cauchy-Riemann equations, analytic functions; elementary functions; mapping by elementary functions; Contours integrals, Cauchy-Goursat theorem, Cauchy integral formula, Morera’s theorem, maximum moduli of functions, the fundamental theorem of algebra; Taylor series and Laurent’s series; residues and poles, evaluation of infinite real integrals.
Advisory: MATH Majors should select not more than 5 MATH courses in a term.
Pre-requisite: MATH2020.
IERG4998 Final Year Project I
The course is designed to provide students with an opportunity to carry out, under the supervision of an academic staff, an independent project with research elements in engineering.
IERG4999 Final Year Project II
The course is designed to provide students with an opportunity to carry out, under the supervision of an academic staff, an independent project with research elements in engineering.
Pre-requisites: IERG4998.

Major Electives

Course Code Description Unit

(or MATH3250)
Discrete Mathematics
Set theory, functions, relations, combinatorics, graph theory, algebraic systems, propositional and predicate logic.
Not for students who have taken ENGG2440, ENGG2460 or ESTR2004 or ESTR2010.

Newly added
Formal Languages and Automata Theory
Deterministic and nondeterminisitic finite automata, regular expressions, context-free grammars, pushdown automata, context-sensitive grammars, parsing of LR(O) and LR(K) languages, introduction to Turing machines and computability.
Pre-requisite: CSCI2110 or ENGG2440 or ESTR2004..

Newly added
Introduction to Operating Systems
Principles of operating systems: process management, memory management, file system, protection and security. Design and implementation methodology, performance evaluation. Case studies. Concurrent Programming.
Prerequisite: ESTR2102 or CSCI2100 or 2520. For senior-year entrants, the prerequisite will be waived. Not for students who have taken ESTR3102.

Newly added
Fundamentals of Artificial Intelligence
Basic concepts and techniques of artificial intelligence. Knowledge representation: predicate logic and inference, semantic networks, scripts and frames, and object-oriented representation. Searching: such as A*, hill-climbing, minimax and alpha-beta pruning. Planning: the frame problem and the STRIPS formalism, representation schemes and planning strategies. Neural networks: learning algorithms, neural architecture and applications. Natural language processing. Knowledge acquisition and expert systems: properties, techniques and tools of expert systems.
Not for students who have taken ESTR3108. Prerequisite: CSCI2100 or 2520 or ESTR2102 or equivalent.

Newly added
Fundamentals of Machine Learning
The first part introduces basic methods, including minimum error versus maximum likelihood, parametric versus nonparametric estimation, linear regression, factor analysis, Fisher analysis, singular value decomposition, clustering analysis, Gaussian Mixture, EM algorithm, spectral clustering, nonnegative matrix factorization. The second part provides an introduction on small sample size learning, consisting of model selection criteria, RPCL learning, automatic model selection during learning, regularization and sparse learning.
Prerequisite: ENGG2040 or ENGG2430 or ESTR2002 or STAT2001.

(or MATH3260)
Topics in Graph Algorithms
This course will discuss 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. The course will also discuss FPT algorithms for solving graph problems.
Prerequisite: CSCI3160
ENGG1820 Engineering Internship
The objective of the course is to enable students to have a basic understanding of the practical aspects of the engineering profession. Prior to the enrolment of this course, students must have completed not less than 8 weeks of full-time internship approved by the Faculty of Engineering. To be qualified for award of the subject credit, the student must submit a report, within the semester of enrolment, summarizing what he or she has done and learnt during the internship, together with a testimonial from the corresponding employer. Pass or fail of the course will be determined by the professor-in-charge, based on the report and the testimonial submitted.
Student may look for internship opportunities at the Placement and Internship Program (PIP) website administered by Centre for Innovation and Technology of the Faculty, or from any other sources available to him or her. Students are recommended to seek professor-in-charge’s comment on internship undertaken before enrolling in the course.
Work-Study, the 12-month internship program organized by the Faculty, is a valid internship satisfying the requirements of ENGG1820.
Advisory: For year 2 or above Engineering Majors students. (new curriculum)
IERG3010/ESTR3300 Digital Communications
Source and channel models. Modulation and detection. Intersymbol interference and equalization coding, multipath fading, spread spectrum and synchronization.
Not for students who have taken ESTR3300. Prerequisite: ENGG2310 or ESTR2300.
IERG3050 Simulation and Statistical Analysis
System simulation, data analysis, statistical inference, regression, correlation and variance analysis, sensitivity analysis, variation reduction and importance sampling techniques for rare events. Workload representation and traffic generation. Experimental design. Basic queuing theory (Little's Law, M/M/1 and variations). Operational laws. Case studies on client-server systems.
IERG3060 Microcontrollers and Embedded Systems
To learn an advanced microcontroller platform for the implementation of an embedded system. Using ARM Cortex platform, students will study the evolution of microcontroller architecture and learn the advanced features of Cortex’s registers, memory and I/O space allocation, bit-banding, buses, instruction set, interrupt control, fault handling and operation mode. Students will learn how to program the embedded system, particular the peripheral registers, using C-language as the primary language. Assembly language will also be introduced.
Advisory: Students are advised to take ELEG2201/IERG2060/ENGG2020 before taking this course
Co-requisite: IERG3810. Not for students who have taken ELEG2401 or ELEG3230 or ELEG3701.
IERG3280/ESTR3302 Networks: Technology, Economics, and Social Interactions
This course introduces various networking technologies we use each day and the fundamental ideas behind them. Different from many "theory-based" networking courses, this course is organized around a list of intriguing questions about the technological, social, and economical aspects of modern networks. The course will broadly cover topics on wireless networks, Internet, social networks, and network economics. We will introduce various methodologies such as graph theory, optimization theory, game theory, and pricing theory. The intended audience of this course includes undergraduates with majors in Information Engineering, Computer Science and Engineering and Electronic Engineering. It is also suitable for interested undergraduate students from Mathematics, and other Social Science majors.
Advisory: Students are expected to have taken Advanced Engineering Math course covering multivariate calculus and linear algebra.
Not for students who have taken ESTR3302.

(or MATH4240)
Introduction to Stochastic Processes
This course starts with the topic of Markov chain. It includes the Chapman-Kolmogorov equations, random walk, classification of states, limiting probabilities, and time reversibility. The second topic in the course is stopping time and martingales. This includes Wald's equation, the concept of martingale, and the martingale stopping theorem. The third topic is exponential distribution, Poisson distribution, and Poisson process. This includes the unique memoryless property of the exponential distribution, combining and splitting a Poisson random variable, method of randomization, various equivalent definitions for a Poisson process, and M/M/1 queue. Throughout the course, many examples of applications are related to communications and computers.
Advisory: Students are expected to have basic background in probability.
Not for students who have taken ESTR3304 or IERG4140 or IERG5300 or ENGG5302 or MATH4240
IERG3320/ESTR3306 Social Media and Human Information Interaction
Social media is one of the main sources of big data. This course aims to enable students to understand about social media and the interaction between human and information. It (1) examines the social and human dimensions of social media; (2) introduces the theories, models, and analysis techniques related to social media and human information interaction; and (3) discusses how to integrate theories and concepts in social media and human information interaction into the analytics and visualization of big data. Topics include: foundations of social media, human cognition and information behavior, online communities and social interactions, as well as infographic and big data visualization.
Not for students who have taken ESTR3306.
IERG3810 Microcontrollers and Embedded Systems Laboratory
A companion 1-credit lab to IERG3060. Students will use a Cortex-M3 base microcontroller platform to implement an embedded system that utilizes interrupts, timers, keys, beeper, communications port, color display, and touch screen and other peripherals.
Co-requisite: IERG3060.
IERG3830 Product Design and Development
The objective of the course is for students to gain basic theoretical and hands-on experience in designing viable hardware/software products that uses selected technologies to address specific needs in an entrepreneurial setting. Students would work in teams of two or three, and each team is required to propose, specify, and document a product-design up to a stage that prototyping is possible in a hypothetical startup situation. They are also required to critically examine different engineering products in real world settings, particularly local product designs, and participate in product design role-plays. Upon successful completion of the course, students are expected to understand the basic principles of user-need analysis and overall design process, improve their presentation of technical ideas, and foster a spirit of innovation.
IERG4030 Optical Communications
Optical fiber and transmission characteristics. Optical sources (lasers and light-emitting diodes) and transmitters. Photodetectors and optical receivers. Optical passive and active components: couplers, filters, switches, modulators, amplifiers, etc. Wavelength division multiplexing. Optical system design principles and performance measures. Lightwave systems and networks: undersea systems CATV systems, optical metro/access networks.
1.Not for students who have taken ELEG3303 or ESTR3206 or IEMS5705 2.Pre-requisite(s): ENGG2310 or ESTR2300 or with the approval of the course instructor.
IERG4080/ESTR4312 Building Scalable Internet-based Services
Mobile devices has greatly increased the demand of Internet-based services. Large-scale online services such as Pinterest and Instagram must be designed in a way such that they can be scaled up and scaled out in a rapid and seamless manner. This course will teach students how to build scalable online services and applications. In particular, the design principles and engineering considerations for different core components, including the front-end system, the load-balancer, performance monitoring, content-delivery networking, fault-tolerant mega data store, distributed messaging services, backend big data processing/ analytics will be discussed. As a course project, the students will prototype a scalable Internet service by leveraging industrial-strength component offerings from leading infrastructure and platform service providers.
Advisory note: Students are expected to have background in object oriented programming.
Pre-requisite: IERG3080. Not for students who have taken ESTR4312.
IERG4090/ESTR4302 Networking Protocols and Systems
This is a second course on computer networking protocols and systems. The introductory course, IERG 3310 Computer Networks, covers the basic principles of networks, the protocol stack, and network programming. This course covers additional topics related to the operation and management of the Internet as well as new and emerging network technologies. A major topic in this course is Internet routing and traffic engineering which studies the operational model of transit ISPs and local ISPs, and their peering agreements. The course covers new technologies and protocols including, for example, support for multimedia applications, streaming, VoIP, IPTV services, and architectures for content delivery and data center networking. The emerging issues covered in this course may include the support for mobility, convergence of different types of wired and wireless networks, and the design of next generation Internet protocols as well as the issues in the transition to these protocols.
Prerequisite: IERG3310. Not for students who have taken ESTR4302.
IERG4100/ESTR4304 Wireless Communication Systems
Introduction to digital cellular systems; physical characteristics of radio channels, fading channel, advanced digital modulation, spread spectrum technology, diversity techniques, multiple access schemes, mobile network control and management, 2G and 3G standards.
Not for students who have taken ESTR4304 or IEMS5701. Prerequisite: ENGG2310 or ESTR2300 or IERG3010 or ESTR3300.
IERG4110/ESTR4314 Hands-on Wireless Communication
The focus of this course will be on the design, implementation, and evaluation of a digital wireless communication link. Software-defined wireless communication platforms, e.g., USRP (universal software radio peripheral), will be used as a teaching tool. A two-hour laboratory period will complement the usual two-hour lecture period each week.
The students will learn how to transmit, receive, analyze, and process RF wireless signals. The main topics may include: Introduction to SDR, USRP, and common programming software (GNU Radio and NI LabVIEW); Baseband QAM Modulation and Demodulation; Channel Estimation; Synchronization; Frequency Offset Estimation and Correction; OFDM Modulator and Demodulator; OFDM Synchronization, Frequency Offset Compensation, Channel Tracking, and etc.
Advisory note: It is advisable for students to have had digital communications background or take digital communications course (IERG3010) at the same time as this course.
Pre-requisites: ENGG2310 or ESTR2300 and ENGG2030 or ESTR2302 or IERG2051. Not for students who have taken ESTR4314.
IERG4130/ESTR4306 Introduction to Cyber Security
Cyber Security is an important topic in modern information and communication technology. This course introduces students to major areas of Cyber Security, including introductions to cryptography, network security, computer security, and web security.
Pre-requisite: CSCI4430 or ESTR4120 or IERG3310 Not for students who have taken ESTR4306 or IEMS5710
IERG4160 Image and Video Processing
Two-dimensional signal processing, image enhancement, image restoration, image and video coding. Image and video content recognition and analysis, with introduction to texture image analysis, general two-dimensional shape recognition, Chinese character recognition, and human face recognition.
Advisory: Background knowledge on signal processing and programming is preferred.
Not for students who have taken ELEG4502 or ELEG4512.
IERG4180/ESTR4308 Network Software Design and Programming
This is a project-oriented course that teaches the development of network applications. Subject areas include object-oriented programming (C++ and Java); message-driven programming (windows); client-server systems design; interprocess communication; sockets: blocking and nonblocking I/O; multithreaded process; iterative and concurrent server designs; system-throughput bottlenecks; multimedia over network. Case studies: FTP, RPC, Web.
Not for students who have taken ESTR4308.
IERG4190 Multimedia Coding and Processing
Theory of data compression. Lossless coding including Huffman code. Speech coding. Audio coding including MP3 and AC3. Image compression including JPEG. Video compression, including H.26X and MPEG. Multimedia applications. Introduction to topics in audio and image processing..
Not for students who have taken IEMS5707.
IERG4210 Web Programming and Security
The web programming paradigm is gaining importance. Security is among its central issues. In this course, students use programming languages such as HTML, CSS, Javascript, PHP, and the mysql database technology, to develop interactive websites with emersive user interface/ user experience. Students will also learn major web security threats and secure web programming do’s and dont’s. Projects may be used to enhance learning.
Not for students who have taken IEMS5718
IERG4220 Secure Software Engineering
This course will cover 1) common security problems, vulnerabilities and attack patterns in software and their underlying causes, for example, different types of buffer overflows, race conditions, side channels ; 2) security models and their realizations in modern desktop/mobile operating systems and applications 3) secure software engineering principles, coding techniques, guidelines and tools to prevent common vulnerabilities and pitfalls ; 4) security testing methodologies and tools in practice ; 5) risk assessment/ management and security audit.
Prerequisite: IERG4130 or ESTR4306.
IERG4230 Introduction to Internet of Things
The course introduces the principles, architectures and applications of Internet of Things (IoT) systems, which enable the networking and interaction of smart objects via various communication technologies. The design issues to be discussed include: smart object identification/positioning/tracking, smart sensors, data communication technologies for IoT, machine-to-machine communications and protocols, methodologies for large-scale sensing-data collection and analysis, system optimization and the related socio-economic impact. Emerging applications of IoT in various fields such as healthcare, energy management, transportation/ urban dynamics, inventory control, building/home automation, environmental monitoring/control, will also be studied.
Advisory: Basic knowledge on networking protocol and communication principles are required.
IERG4300/ESTR4300 Web-scale Information Analytics
The course discusses data-intensive analytics, and automated processing of very large amount of structured and unstructured information. We focus on leveraging the MapReduce paradigm to create parallel algorithms that can be scaled up to handle massive data sets such as those collected from the World Wide Web or other Internet systems and applications. We organize the course around a list of large-scale data analytic problems in practice. The required theories and methodologies for tackling each problem will be introduced. As such, the course only expects students to have solid knowledge in probability, statistics, linear algebra and computer programming skills. Topics to be covered include: the MapReduce computational model and its system architecture and realization in practice ; Finding Frequent Item-sets and Association Rules ; Finding Similar Items in high-dimensional data ; Dimensionality Reduction techniques ; Clustering ; Recommendation systems ; Analysis of Massive Graphs and its applications on the World Wide Web ; Large-scale supervised machine learning; Processing and mining of Data Streams and their applications on large-scale network/ online-activity monitoring.
Advisory: Basic hands-on operating system configuration and software installation skills covered in lab courses like IERG2602 and IERG3800 are required.
Not for students who have taken CSCI5510 or ENGG4030 or ESTR4300.
IERG4330/ESTR4316 Programming Big Data Systems
This course aims to provide students with the hands-on experience needed for a successful career in Big Data in the information technology industry. Many of the assignments will be completed on massive publicly available data sets giving them appropriate experience with the algorithms, mainstream platforms, and software tools needed to master programming for Big Data. The students will develop a solid background in provisioning, programming and applying Big Data systems and software.
Pre/Co-requisite: ENGG4030 or ESTR4300 or IERG4300. Not for students who have taken ESTR4316 or IEMS5730.
IERG4340 Emerging Technologies in Information Engineering
This course introduces emerging technologies in telecommunications and internet engineering. These new technologies are discussed and compared with conventional ones in terms of market demand, system requirements, design principles, applications, limitations and their impacts to society. The topics include telecommunication network infrastructure, advanced optical metro/access networks and wireless LTE technologies, fiber-wireless convergence, cloud/edge computing, software defined networking, network function virtualization, data center networking, smart automation systems, etc. The topics may vary. Case studies.
Not for students who have taken IEMS5717.
IERG4350 Cloud Computing Security
The course aims to address the security issues in cloud computing so as to assure a secure and efficient cloud environment for dynamic business environment. The discussion includes the basics of cloud computing environment and its common threats and attacks, analysis of security architecture in various cloud services model and deployment model, various software-based security tools to monitor and protect the flow of information into and out of the cloud, identity and access management, patch management, data security controls and requirement, etc. The lectures are supplemented by substantial practical security implementation work and application development.
Pre-requisite: IERG4130 or ESTR4306
IERG4831 Networking Laboratory I
Interconnecting and managing local area networks with switches and routers. Configurations, and deployment of dynamic switching and routing protocols.
Corequisite: IERG4090 or ESTR4302
IERG4841 Networking Laboratory II
Design and configuration of enterprise, ISP and backbone networks and Internet exchange. Two-layer firewall network infrastructure design and implementation for the deployment of various network services and applications such as network traffic monitoring, Wireless LAN and video streaming.
Pre-requisite: IERG3800
IERG5020 Telecommunication Switching and Network Systems
Basic telephony; concepts of switching, transmission, multiplexing and concentration; circuit switching, time-space-time switching; virtual-circuit/label switching; crossbar/bus/shared-memory switches; Ethernet switches at edge and metro; switching characteristics of interconnection networks; parallel switching control in sorting, concentration, multicasting and distribution.
Advisory note: Students are expected to have background in Signals and Systems
Course Exclusion: IERG4020 or ESTR4318
IERG5040/ENGG5392 Lightwave System Technologies
This course covers the design of advanced optical fiber communication systems. Topics include: optical signal characterization and spectral efficient optical modulation formats, high-speed signal transmission & multiplexing techniques, linear & nonlinear fiber effects and fiber transmission impairments, basic guided-wave optoelectronics and novel integrated optical devices (tunable lasers, planar lightwave circuits, silicon photonics), optical signal amplification, regeneration and performance monitoring techniques, coherent optical communications and enabling digital signal processing techniques, and examples of optical subsystems for optical networks.
Advisory: Knowledge of basic optical communication principles is required.
Exclusion: IERG5040
IERG5090 Advanced Networking Protocols and Systems
This is a graduate level course in computer networks. It covers advanced technologies, theory and applications of networking protocols and systems. It studies recent developments and emerging trend in various networking research areas such as: Architecture and Economic aspects of the Internet; Network management, Operation and Traffic Engineering ; Network Measurement and Monitoring ; Domain-specific networking architectures and technologies, e.g., Data-Center, Content Distribution Networks and their corresponding challenges and solutions ; Network Algorithmics and Protocol Design ; Operating Systems and Hardware Support for Networking ; Modeling and performance analysis of protocols, systems and services. Each student is expected to complete a Term-Project as part of the course assessment.
Advisory: Students are expected to have basic background in computer networks.
Exclusion: IEMS5715
IERG5100/ENGG5303 Advanced Wireless Communications
This course provides an extensive introduction to basic principles and advanced techniques in the physical layer of wireless communications. Topics to be covered include channel coding, MIMO and space-time processing, OFDM and multicarrier systems, spread spectrum and CDMA, channel capacity, opportunistic scheduling and diversity schemes.
Advisory: A prior undergraduate level course in wireless communication is highly recommended. Exclusion: IERG6270 or IERG5100
IERG5130 Probabilistic Models and Inference Algorithms for Machine Learning
This course is a graduate level introduction to probabilistic models and inference algorithms, which constitute a common foundation for many methodologies in machine learning and related fields (e.g. computer vision, natural language processing, and data mining).
The course begins with a detailed exposition of probabilistic graphical models, then proceeds with various inference methods, including variational inference, belief propagation, and Markov Chain Monte Carlo (MCMC). In the second part of the course, we then discuss the connections between probabilistic models and risk minimization, as well as how optimization-based methods can be used in large-scale model estimation. Finally, the course will briefly discuss nonparametric models, e.g. Gaussian processes, and their use in practical applications.
Advisory: Basic knowledge on linear algebra, probability theory, optimization are required.
IERG5140 Lightwave Networks
Optical networking principles and network elements: add-drop multiplexers, cross-connects. Optical signal processing techniques and enabling technologies for transport and network functions. Optical access networks: passive optical networks, radio-over-fiber networks, fiber-to-the-home/premise networks. Optical metro and core networks: SDH/SONET, GMPLS, gigabit Ethernet, optical flow/burst/label/packet switching. Optical networking operation, administration, management and planning techniques (OAM&P) including: wavelength assignment & routing, multicast, grooming, fault management, connection management, performance management and network resource optimization. All-optical networks.
Advisory: Students are expected to have background in Optical Communications.
IERG5154/ENGG5301 Information Theory
Introduction. Shannon's information measures. Entropy rate of a stationary process. The source coding theorem. Kraft inequality. Huffman code. Redundancy of a prefix code. The channel coding theorem. Rate-distortion theory. Universal data compression.
Advisory: Students are expected to have fundamental probability concepts.
Exclusion: IERG5154

(or MATH4260)
Channel Coding and Modulation
This course covers classic and new channel coding, and related modulation schemes. Topics include Reed-Solomon codes, convolutional codes, concatenated codes, low-density parity-check (LDPC) codes, and optionally, OFDM, MIMO, and network coding.
Exclusion: MATH4260 and IERG4200
IERG5230 Algorithms and Realization of Internet of Things Systems
This is a systems course that will enable students to have in-depth understanding of key information processing algorithms and their implementation for Internet of Things (IoT) systems. The topics cover 1) overview of basic signal processing algorithms such as FFT and digital filters; 2) advanced information processing algorithms such as acoustic and visual signal processing, spatial sensing, machine learning etc.; 3) their implementation on cutting-edge IoT platforms and key system issues of such as energy efficiency and real-time in the contexts of a set of key IoT applications such as smart health, environmental monitoring, smart homes/buildings, smart cities etc.
Students will work on an individual or team project to build an end-to-end IoT system. The project should have a significant information processing component and include implementation on real IoT platforms such as Raspberry Pi, Ardunio, wearable devices, smartphones etc, and. In addition to homework and lab assignments, students will also read and discuss latest publications in the areas of Internet of Things, Cyber-Physical Systems, mobile systems, and ubiquitous computing.
Students are expected to have basic understanding on signals and systems, signal processing or imaging processing and Internet of Things System.
IERG5240 (or ENGG5383) Applied Cryptography
This is a graduate-level course on cryptography. It focuses on the definitions and constructions of various cryptographic schemes and protocols, as well as their applications. Useful tools for securing practical systems and emerging techniques in the applied research community will be introduced. No prior knowledge of security, cryptography, or number theory is required.
- Introduction: a brief history, applications in distributed systems; basic number theory
- Symmetric-key encryption: definition, information-theoretic security, Entropy, PRNG
- Provable security: bounded adversary, random oracle model, basic primitives, reduction
- Public-key encryption: modelling security, Diffie-Hellman protocol, hybrid encryption
- Authentication: Hash function, collision-resistance, MAC, unforgeability
- Public-key infrastructure: certificate management, deployment, and revocation issues
- More schemes: Fiat-Shamir transformation, Cramer-Shoup encryption, identity-/attribute-based encryption, certificateless encryption, proxy re-encryption , broadcast
- Privacy-enhancing cryptography: zero-knowledge proof, anonymous credentials
- Pairing-based cryptography: elliptic curve basic, short signature, searchable encryption
Exclusion: IERG5240
IERG5280 Mobile Networking
This module introduces the principles of networking protocol design under the mobile/ wireless environment. Mobile networking protocol design for the MAC, Network, Transport, Session and Application layers will be covered. The course will follow a “problem-and-solution” approach in which key generic problems created by the mobile/ wireless environment on each protocol layer are first introduced. Alternative solutions as well as their associated trade-offs, are then illustrated via real-world examples. Specific problems and their practical solutions to be studied include: Multi Access Control in a wireless environment, Mobility Management for infrastructure-oriented wireless networks (e.g. location tracking and handover), Routing in Mobile Ad Hoc networks, Wireless Transport protocol design, Session and Service control for Multimedia Wireless networks. Emerging Mobile networking Technologies and Future Directions will also be discussed.
Advisory: Pre-requisite includes Computer Networks (IERG3310) and Digital Communications (IERG3010) OR their equivalents OR the consent of the instructor.
IERG5290 Network Coding Theory
xamples of network coding. Acyclic networks: linear network codes and desirable properties, existence and construction, static network codes. Cyclic networks: convolutional network codes. Relations between network coding and classical algebraic coding theory.
IERG5300 (or ENGG5302) Random Processes
Examples of network coding. Acyclic networks: linear network codes and desirable properties, existence and construction, static network codes. Cyclic networks: convolutional network codes. Relations between network coding and classical algebraic coding theory.
Advisory note: Students are expected to have basic background in probability.
Exclusion: IERG5300 or SEEM5580
IERG5310 Security & Privacy in Cyber Systems
This course discusses the design and realization of security and privacy services in practical large-scale systems. Topics include: Online Identity and Authentication Management ; Safe Browsing ; Geolocation privacy ; Mobile payment systems with Smartcard/ Near Field Communications (NFC) ; e-cash ; Best privacy practices for Online Social Networks and Mobile applications ; Cloud Computing security and privacy: Trustworthy Cloud Infrastructure; Secure Outsourcing of Data and Computation ; Data Provenance; Virtual Machine security. Additional cyber security services/applications such as e-voting systems, secure and anonymous routing systems, digital rights management will also be covered.
Advisory: Students are expected to have basic background in Cyber Security.
IERG5320 Digital Forensics
This course is an introduction to digital forensics and cyber crime investigation. It will discuss techniques, methods, procedures and tools for applying forensic science and practice to the acquisition and analysis of evidence existing in digital form for the purposes of cyber crime investigation. Specific topics include computer (hard disk, file-systems) forensics, network/intrusion forensics, mobile device forensics, and a brief introduction to multimedia forensics. Techniques for detecting, tracking, dissecting and analyzing malware and other malicious cyberspace activities will also be covered.
Advisory: Students are expected to have basic background in C/C++ programming skills.
IERG5330 Network Economics
This course introduces the basics of microeconomics, game theory, and mechanism design, with applications in wireless communication networks and Internet. The detailed topics include market mechanisms, consumer surpluses, profit maximization, welfare maximization, pricing, strategic form games, dominator strategy equilibria, Nash equilibrium, Bayesian games, repeated game, social choice functions, incentive compatibility, the revelation theorem, auction design, and network externality.
Advisory: Students are expected to have basic background in optimization.
Exclusion: IERG6280
IERG5340 IT Innovation and Entrepreneurship
Entrepreneur characteristics; product innovation: factors driving innovation, creation and evaluation of new product ideas, risk assessment of commercialization, critical factors for success; business planning: market assessment and strategy, business model, product planning, financial planning, cash flow; financing options, negotiation and deals; formation of a new venture: team, company and product building; execution and dealing with reality; exit strategies; case studies related to innovation and entrepreneurship in information engineering.
Exclusion: SEEM3450 or IEMS5712
IERG5590 Advanced Topics in Blockchain
This course aims to cover advanced topics on blockchain. The focus will be on advanced topics like permissionless blockchain, Ethereum, smart contract, mining pool, permissioned blockchain, anonymity, new consensus, sidechain, ripple, offchain and lightning network.
Advisory: Students are expected to have solid foundations on operating systems and database systems.
Exclusion: CSCI5590
MATH2060 Mathematical Analysis II
This is a continuation of MATH2050. Topics include: differentiability, mean-value theorem, Taylor theorem, convexity; integrability, fundamental theorem of calculus, improper integrals; power series, radius of convergence, series for elementary functions; infinite series, convergence and divergence, rearrangement; sequence and series of functions.
Not for students who have taken MATH2055. Pre-requisite: MATH2050.
MATH3010 Higher Geometry
This course is to provide prospective high school teachers in mathematics a rigorous treatment of the foundations of Euclidean geometry and an introduction to non-Euclidean geometry. Topics include: Euclid's postulates, attempts to prove the parallel postulate, Hilbert's axioms-a reformulation of the foundations of Euclidean geometry, geometry without the parallel postulate, the discovery of non-Euclidean geometry, consistency of hyperbolic geometry and models of hyperbolic geometry of Beltrami-Klein and Poincaré.
MATH3030 Abstract Algebra
This course is an introduction to modern abstract algebra, focusing on groups and rings. It is a continuation of MATH2070. Students are expected to have knowledge in MATH2070, or equivalent.
MATH3040 Fields and Galois Theory
This course is an introduction to the theory of field extensions and Galois theory. It is one of the continuations of MATH3030 (the other being MATH4080). Students are expected to have knowledge in MATH2070 and MATH3030, or equivalent.
Pre-requisite: MATH3030.
MATH3070 Introduction to Topology
Topological Space: open set, closed set, compact set, limit pint, Heine-Borel Theorem, continuous map, homeomorphism, connectedness, metric space, group action on a topological space and quotient topology. Fundamental Group: loop, space of loops, homotopy, calculation of fundamental groups of some spaces, path lifting lemma, homotopy lifting lemma, fundamental groups of quotient spaces of free discrete group actions.
MATH3080 Number Theory
This course is intended to introduce the students to the intriguing structure of integers. Topics are usually selected from: divisibility theory of the integers, primes, congruence, Fermat's little theorem, some arithmetic functions, primitive roots and indices.

Newly added
Fourier Analysis
This course is an introduction to Fourier series and Fourier transform. Topics include: Orthogonal families of functions, mean-square convergence of Fourier series and completeness, pointwise convergence of Fourier series, Gibbs's phenomenon; Fourier transform and its inversion, Plancherel formula. Further topics will be selected from: The isoperimetric inequality, Poisson summation formula Heisenberg uncertainty principle, and the notion of a wavelet.
Pre-requisite: MATH2050 & MATH2060.
MATH3215 Operations Research
Operations Research (OR) refers to the science of decision making. It uses various problem-solving techniques and methods to analyse system behavior and improve decision-making and efficiency by arriving at optimal or near optimal solutions to complex decision problems. This course provides a fundamental account of the basic results and techniques of Linear Programming (LP), network optimization and integer programming in Operations Research. There is an equal emphasis on all three aspects of theory, algorithms as well as applications, which provides essential optimization concept and background for more advanced studies in Operations Research. Students are expected to have basic knowledge in linear algebra.
Not for students who have taken MATH3210 or MATH3220. Pre-requisite: MATH1030.
MATH3230 Numerical Analysis
Floating-point numbers and roundoff errors, absolute and relative errors, stable and unstable computations, solutions of nonlinear equations, linear systems, interpolation, numerical differentiation, and numerical integration. Students taking this course are expected to have knowledge in advanced calculus and linear algebra.
MATH3270 Ordinary Differential Equations
Ordinary differential equations arise from quantitative description of natural and social phenomena. Topics are: method of explicit solution, linear equations and systems, series solutions, Sturm-Liouville boundary value problems, dynamical systems and stability, applications to mechanics, electrical networks and population of species.
MATH3290 Mathematical Modeling
This course introduces the concept of mathematical modeling. Topics include: different modeling techniques such as modeling with differential equations and modeling with linear programming, forecasting; economic models such as Markov models, network models and financial models such as input-output models and scheduling models.

Newly added
Computational and Applied Mathematics
This course introduces the general solution methods used in computational and applied mathematics. The central topics are differential equations and matrix equations. Methods include Fourier series, orthogonal expansion, conformal mapping, Fourier integrals, complex integration, LU decomposition, Newton method, semi-direct and iterative methods, the finite element methods and fast Fourier transform. Students taking this course are expected to have knowledge in advanced calculus and linear algebra.

Newly added
Foundation of Data Analytics
This course gives an introduction to computational data analytics, with emphasis on its mathematical foundations. The goal is to carefully develop and explore mathematical methods that build up the backbone of modern data analysis, such as machine learning, data mining and artificial intelligence. Topics include: Bayes rule and connection to inference, linear regression and its polynomial and high dimensional extensions, principal component analysis and dimensionality reduction, classification, clustering, deep neural network as well as dictionary learning and basis pursuit. Students taking this course are expected to have knowledge in basic linear algebra.

Newly added
Big Data Computing
This course provides students with practical experiences in using mathematical techniques for big data computing. Topics include constructing classifiers, predictive modeling, clustering, analyzing text data, speech recognition, image content analysis as well as deep neural networks. Students taking this course are expected to have knowledge in data analysis.
Pre-requisite: CSCI1540.

Newly added
Mathematical Imaging
This course gives an introducion on mathematical models and techniques for various image processing tasks. A wide array of topics will be covered, including image restoration (denoising, deblurring), image decomposition, image segmentation, image registration, feature detection, multi-scale image analysis, morphology and so on. Students will become familiar with essential mathematical techniques for imaging tasks, such as image processing in the spatial domain (using gradient, Laplacian, convolution) and frequency domain (using Fourier / wavelet transform). Variational models and PDE-based techniques will also be discussed.
Students are expected to have basic knowledge in calculus, linear algebra and MATLAB language. Some background in numerical analysis, Fourier analysis and partial differential equations will be helpful, although the necessary concepts will be discussed as they are used.
Pre-requisite: MATH1030, 2010 and 2221.

Newly added
Functional Analysis
Metric spaces, fixed point theorems, Banach spaces, Hilbert spaces, continuous linear operator, the Hahn-Banach extension theorem, the uniform boundedness principle and the open mapping theorem, and applications of the above topics. Students taking this course are expected to have knowledge in elementary analysis and linear algebra.

Newly added
Calculus of Variations
This course is intended to provide a basic theory of calculus of variations. Topics are usually selected from: necessary condition for extremum, Euler equation, fixed end point problem for unknown functions involving higher-order derivatives, natural boundary condition and transversality, Weierstrass-Erdman corner conditions, and sufficient conditions. Students taking this course are expected to have knowledge in advanced calculus.
MATH4030 Differential Geometry
This course covers basic theory on curves, and surfaces in the Euclidean three space. Topics include: regular curves, Frenet formulas, local theory of curves, global properties of curves such as isoperimetric inequality, regular surfaces, 1st and 2nd fundamental form, Gaussian curvature and mean curvature, Gauss map, special surfaces such as ruled surfaces, surfaces of revolution, minimal surfaces, intrinsic geometry: geodesic, and Gauss-Bonnet Theorem. Students taking this course are expected to have knowledge in advanced calculus, linear algebra, and elementary differential equations.
Not for students who have taken MATH4033.

Newly added
Optimization Theory
Unconstrained and equality optimization models, constrained problems, optimality conditions for constrained extrema, convex sets and functions, duality in nonlinear convex programming, descent methods, conjugate direction methods and quasi-Newton methods. Students taking this course are expected to have knowledge in advanced calculus.

Newly added
Data Analytics in Design and Innovation
This course focuses on the applications of data analytic tools in various of science, medical, financial and engineering problems. Topics include algorithm trading, medical imaging, bioinformatics, remote sensing, and social networks. Students taking this course are expected to have knowledge in data analysis.
Advisory: MATH Majors should select not more than 5 MATH courses in a term.
Pre-requisite: MATH3320 and 3330.

Faculty Foundation Courses

Course Code Description Unit
AIST1110 Introduction to Computing using Python
This course aims to provide an intensive hands-on introduction to the Python programming language. Topics include Python programming language syntax, basic data types, operators for various data types, function definition and usage, file and operating system support, object-oriented programming, functional programming, module creation, visualization, multi-threaded programming, networking, cryptography, web/database access. The course will go through some important Python packages for artificial intelligence and machine learning applications, e.g., NumPy and SciPy, and use these packages to accomplish some simple artificial intelligence and machine learning tasks.
Pre-requisite: ENGG1110 or ESTR1002 Not for students who have taken CSCI1040 or CSCI2040
CHEM1070 Principles of Modern Chemistry
CHEM1070 is an introductory chemistry course for students with good background of HKDSE chemistry. It includes the study of atomic structure, bonding, periodic trends in physical properties, molecular geometry, stoichiometry, states of matter, thermodynamics, chemical equilibrium, acid/base chemistry, electrochemistry and kinetics. The course is suitable for potential majors in chemistry and other physical sciences.
CHEM1280 Introduction to Organic Chemistry and Biomolecules
This course provides an overview of organic functional groups that constitute biomolecules. Under themes of common interests and practical importance, this course will provide students with basic principles of organic chemistry to understand the formation, structures and chemical properties of biomolecules. Selected fundamental concepts in chemical bonding and stereochemistry relevant to biomolecules will be highlighted.
Not for students who have taken CHEM2200.
CHEM1380 Basic Chemistry for Engineers
This course provides an overview of organic functional groups that constitute biomolecules. Under themes of common interests and practical importance, this course will provide students with basic principles of organic chemistry to understand the formation, structures and chemical properties of biomolecules. Selected fundamental concepts in chemical bonding and stereochemistry relevant to biomolecules will be highlighted.
CSCI1120/ESTR1100 Introduction to Computing Using C++
Computer-oriented problem-solving methods and algorithm development; object oriented programming concepts; concepts of abstract data types; simple data structures; illustrative applications. The C++ programming language will be used.
Not for students who have taken ESTR1100 or 1102 or CSCI1020 or 1110 or 1130 or 1510 or 1520 or 1530 or 1540. Equivalent to CSCI1111 offered in 2007-08 and before.
CSCI1130/ESTR1102 Introduction to Computing Using Java
This course aims at providing students with the basic knowledge of computer programming. In particular, programming methodologies such as object-oriented programming and structured programming, and the use of abstract data types will be illustrated using high-level programming languages such as Java.
Not for students who have taken ESTR1100 or 1102 or CSCI1030 or 1110 or 1120 or 1510 or 1520 or 1530 or 1540.
ELEG2700 Introduction to Electronic System Design
This is an introductory project-based course through which students learn how to design and realize a complete electronic system. Students are required to build a workable hardware system according to given specifications. The system components include electrical power supply, analog and digital circuits, sensors, actuators, display and microcontroller devices. Students will work in small groups to understand system requirements and specifications, identify design constraints, define project milestones, prototype the system and test the system. During the process of system implementation, students will acquire practical skills of software-hardware integrated design and debugging.
Not for students who have taken ENGG1100 or ESTR1000
ENGG1110/ESTR1002 Problem Solving By Programming
This is a software project course. Students will learn fundamental programming concepts. They will choose project(s) from the engineering disciplines. Through the project(s), students will acquire the skills to define problems and specifications, to perform modelling and simulation, to develop system prototypes, to carry out verification, validation, and performance analysis.
Not for students who have taken CSCI1030 or 1110 or 1120 or 1130 or 1510 or 1520 or 1530 or 1540 or ESTR1002 or 1100 or 1102.
ENGG1120/ESTR1002 Linear Algebra for Engineers
This course aims at introducing students to the fundamental concepts and methods in linear algebra, which are key to many fields of engineering. Topics include systems of linear equations, Gauss elimination, matrix factorization, matrices and their operations, determinants, eigenvalues and eigenvectors, diagonalization, vector space, the Gram-Schmidt process, and linear transformation.
Not for students who have taken ENGG1410 or ESTR1004 or 1005 or MATH1030
ENGG1130/ESTR1006 Multivariable Calculus for Engineers
This course aims at introducing students to fundamental concepts and methods in multivariable calculus, which provide tools for solving engineering problems. Topics include functions of several variables, curves and surfaces, partial derivatives, Taylor’s formula, method of Lagrange multipliers, multiple integrals, line and surface integrals, Green’s theorem, Stokes’ theorem and divergence theorem
Pre-requisite: MATH1510 Not for students who have taken ENGG1410 or ESTR1004 or 1006 or MATH2010 or 2020
ENGG1310/ESTR1003 Engineering Physics: Electromagnetics, Optics and Modern Physics
This is an introductory calculus-based engineering physics course covering topics in electromagnetics, optics and modern physics. Topics in electromagnetics include: electric and magnetic properties, Coulomb’s law, Gauss’ law, electromagnetic energy and forces, Biot-Savart law, electromagnetic fields and Maxwell’s equations, propagation of plane electromagnetic waves. Topics in optics include: optical interference, interferometers, optical diffraction. Topics in modern physics include: wave-particle duality, momentum and energy of photons and electrons, electronic states and energy bands, electrical conduction in metals and semiconductors. Contents will be supplemented by discussions on applications relevant to engineering.
Not for students who have taken ENGG2520, ESTR2006 or ESTR1003.
ENGG2440/ESTR2004 Discrete Mathematics for Engineers
Set theory, functions, relations, combinatorics, graph theory, algebraic systems, propositional and predicate logic.
Not for students who have taken CSCI2110, ENGG2460, ESTR2004 or ESTR2010.
FTEC2101/ESTR2520 Optimization Methods
This course introduces the essentials of optimization methods, including models, solution methods, and programming techniques. Topics cover linear programming, integer linear programming, nonlinear programming, and convex programming. It will highlight applications of these methods in Fintech, such as asset allocation, portfolio management, and data analysis.
IERG2060 Basic Analog and Digital Circuits
This course introduces the basic analysis of analog and digital electronic circuits, as well as the basic principles of communication circuits. The analog circuit analysis includes: basic circuit laws and theorems; mesh and nodal analysis; resonant circuits, steady-state and small signal analyses; electrical amplifiers. The digital logic circuit analysis includes Boolean algebra; logic gates; combinational logic circuit and sequential logic circuit design; synchronous and asynchronous sequential machine design. Overview of the computer architecture will be introduced. Examples of common electronic circuits will be discussed as case studies.
1.Not for students who have taken ELEG2202 or ELEG2201 or ELEG1110 or ENGG2020 or ESTR2104 or ESTR2304 2.Pre-requisite(s): ENGG1100 or ESTR1000
LSCI1001 Basic Concepts in Biological Sciences
This foundation course is designed for students who have not taken science courses with a biology component at the senior secondary school level. It presents our current understandings on cells and molecules of life, genetics and evolution, organisms and environment, and health and diseases. Those students who have successfully completed this course will have a solid foundation for studying more advanced courses in life sciences.
Not for students who have taken LSCI1002 or 1003.
LSCI1003 Life Sciences for Engineers
This course gives engineering students exposure to some of the basic and essential concepts in biology and biotechnology. Topics include cell structure and energy metabolism, DNA structure and replication, protein structure and function, genetic engineering, stem cell and tissue regeneration, neural biology, cardiovascular system, muscle and skeletal system of animals, microbes and microbial biotechnology. The overall aim of this course is to introduce students with the fundamental ideas and concepts in life sciences especially those with relevance to engineering studies.
Not for students who have taken LSCI1001.
MAEG1020 Computational Design and Fabrication
This course introduces engineering design fundamentals, manufacturing, and practical use of advanced computer-aided design software and prototyping techniques. The topics include engineering graphics, geometric dimensioning and tolerances, working drawings, conventional manufacturing, reverse engineering, digital manufacturing (CNC), additive manufacturing, and micromachining.
Not for students who have taken MAEG2010.
MATH1010 University Mathematics
This course is designed for students who need to acquire the knowledge and skills of one-variable calculus at a general level for the studies in science or engineering. The course places special emphasis on the theoretical foundations as well as the methods and techniques of computation and their applications.
MATH1020 General Mathematics
Polynomials, exponential and logarithm, trigonometric functions, coordinates and analytical plane geometry, conic sections, applications using differentiation, mathematical induction, inequalities, linear equations and matrices.
MATH1030 Linear Algebra I
This course is designed for students who need to acquire the knowledge and skills of linear algebra. The course emphasizes the fundamental principles, reasoning of mathematics and also applications, but generality instead of particular usage will be the focus.
Not for students who have taken MATH2510.
MATH1510 Calculus for Engineers
This course is designed for engineering students who need to acquire skills in calculus as a crash introduction to the mathematics used in engineering. The course emphasizes on the technique of computation without theoretical discussion. Students are expected to have mathematics background equivalent to HKDSE with Extended Module I or II.
PHYS1003 General Physics for Engineers
This non-calculus-based course covers some essential concepts in mechanics, heat, electricity and magnetism. It is designed for engineering students to get an overview on what physics is about. Selected topics include: Newton’s laws of motion, Archimedes’ principle, fluid flow, temperature and heat, laws of thermodynamics, electric field and potential, current and circuits, and electromagnetic waves. The course is suitable for Engineering students without HKDSE physics or Combined Science with a physics component, or with permission of instructor.
PHYS1110 Engineering Physics: Mechanics and Thermodynamics
This is an introductory calculus-based engineering physics course covering topics in mechanics and thermodynamics. Topics include: Use of vectors in mechanics, force and motion, free-body diagrams, work and energy, potential energy and conservation of energy, momentum and impulse, torque, essential ideas in rotation, equilibrium, gravitation, ideal fluids, oscillations, waves and sound, elementary concepts of thermodynamics and heat transfer mechanisms. Contents will be supplemented by discussions on applications relevant to engineering. The course is suitable for Engineering students with HKDSE physics or Combined Science with a physics component, or with permission of instructor.
SEEM2440/ESTR2500 Engineering Economics
Principles of engineering economy. Value and cost; cash flows. Economic analysis of alternatives, technological, social and human factors. Models involving allocation and scheduling of resources. Analytical techniques for evaluating industrial projects. Relationship between economics of technical choice and industrial productivity. Basic financial accounting concepts; accounting cycle; financial statements.
Not for students who have taken SEEM2510 or ESTR2500.
SEEM2460/ESTR2540 Introduction to Data Science
This course presents an introductory roadmap into the newly emerged and rapidly evolving field of data science, with the objective of introducing the problem-solving mindset in a data-intensive context. The course projects data science as a productive synthesis of its parent disciplines, including mathematics, statistics, computing, data mining, system science and data visualization, etc. Such a productive synthesis is applicable across many fields to bring about scientific discovery through data-intensive, analytical methods. This course aims to help navigate students in taking more advanced courses in its parent disciplines to build up their expertise in data science. We cover topics including: History and impact of Data Science. Collecting Data: sources, types and categorization of data. Visualising Data: summary statistics, data display, data dictionaries, schema and graphical visualization. Analysing Data: pattern recognition, correlations and relationships, hypotheses testing, statistical significance. Investigating Data: data mining, machine learning, inference, meta-data, modeling, eliciting meaning and validation. Applicational contexts: Examples of useful applications from case studies.
Not for students who have taken ESTR2540.
STAT1011 Introduction to Statistics
Students will learn the basic concepts of statistics, so that they will be equipped to understand statistical reports and recognize when the quantitative information presented is reliable. They will also learn about organizing and displaying graphical and numerical summaries of data, and drawing conclusions from them. The course uses computer interactive techniques, instead of tedious arithmetic calculations, to introduce simple but powerful statistical concepts. Topics include exploratory data analysis, statistical graphics, sampling variability, point and confidence interval estimation, hypothesis testing, as well as other selected topics.
Not for students who have taken STAT1012 or consent of the instructor.

Other Courses

Course Code Description Unit
CHLT1100 University Chinese I
Course objectives: This course aims to sharpen students’ awareness of their own language and to intensify their sensitivity towards language in general. All students are recommended to complete the course in the first two years.
CHLT1200 University Chinese II
Course objectives: University Chinese (II) focuses on students’ practical use of language, refining their skills in employing different communicative strategies to meet diverse contextual needs. All students are recommended to complete the course in the first two years.
Prerequisite: CHLT1100
ELTU1001 Foundation English for University Studies
This course aims to lay the comprehensive English language foundation needed for university studies by engaging students in multi-modal learning activities. Learning topics include independent learning, critical listening and discussion, critical reading and response, features of spoken English, and expository writing. Coursework consists of group discussion, critical listening and reading, expository essay writing, and individual presentation tasks. This course is compulsory for first-year students, except those who have attained HKDSE English level 5 or above or its equivalence. This course is a prerequisite for Level Two and Three courses.
Not for students who have taken ELTU1002
ELTU2014 English for Engineering Students I
This course is designed to prepare second-year students in the Faculty of Engineering for effective technical communication. It aims to enhance writing and speaking skills needed in the technical context. In particular, the course focuses on proposal writing, specification writing as well as both informative and persuasive oral presentations. Attention is also given to how technical information is communicated to specialist and non-specialist audiences. Advisory: For Year 2 students of Faculty of Engineering only.
Prerequisite: ELTU1001 or ELTU1002 or exemption from these courses
ELTU3014 English for Engineering Students II
This course aims to further develop the English language skills of Engineering Faculty students in their third year of studies, by enhancing their technical communication skills, and developing their job search skills. Coursework includes writing an effective business letter, and preparing a job search portfolio. Advisory: For Year 3 students of Faculty of Engineering only.
Preprequisite: (ELTU1001 or ELTU1002 or exemption from these courses) and (ELTU2005 or ELTU2014 or ELTU2024 or exemption from these courses)