Bachelor of Engineering in Information Engineering (IERG)

Course Details

The following course list is for your quick reference only. If you cannot find a particular course from this list, please look up from the CUSIS.

Shortcut to: | IERG Courses | ENGG Courses | Courses offered by other departments |

Course Code Description Unit
IERG1810 Electronic Circuit Design Laboratory
Transistor and RC circuit, amplifier, oscillator, active filter, design project.
Corequisite: ELEG1110.
1
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.
3
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. 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 2.Pre-requisite(s): ENGG1100 or ESTR1000
3
IERG2080 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.
2
IERG2602 Engineering Practicum
Industrial and professional workshops or seminars
Not for students who have taken ENGG2602.
1
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.
3
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.
3
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.
3
IERG3080 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.
3
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.
3
IERG3300/ESTR3304 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
3
IERG3310 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.
3
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.
3
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.
Prerequisite: ENGG2600 or ENGG2602. Not for students who have taken IERG3921.
1
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.
1
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.
1
IERG3830 Product Design Project
The objective of this course is for students to gain hands-on experience in designing viable hardware/software products that make use of new technologies. Students work in teams of two to three persons, and each team is required to propose, specify, prototype and document a product design. Each team will be guided by a supervisor throughout the project and prototyping support will be provided by relevant laboratories in the Department.
3
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. 2. Prerequisite(s): ENGG2310 or ESTR2300 or with the approval of the course instructor.
3
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.
Prerequisite: IERG3080. Not for students who have taken ESTR4312.
3
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 or IERG3090 or IERG5090.
3
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. Prerequisite: ENGG2310 or ESTR2300 or IERG3010 or ESTR3300.
3
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.
Prerequisites: ENGG2310 or ESTR2300 and ENGG2030 or ESTR2302 or IERG2051. Not for students who have taken ESTR4314.
3
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.
Not for students who have taken ESTR4306.
3
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.
Not for students who have taken ELEG4502.
3
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.
3
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.
3
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.
3
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.
3
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.
3
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. Not for students who have taken ESTR4316.
3
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.
2
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.
Prerequisites: IERG4090 or ESTR4302.
2
IERG4998/ESTR4998 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.
3
IERG4999/ESTR4999 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. Prerequisites: IERG4998.
3
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
3
IERG5040 (or 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 are required.
3
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.
3
IERG5100 (or 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.
Not for students who have taken IERG6270 or IERG5100.
3
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.
Pre-requisite: ENGG2040 or ENGG2430/ESTR2002 or equivalent; IERG4160 or IERG4190 or equivalent
3
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.
Prerequisite: IERG4030 or with the approval of the course instructor.
3
IERG5154 (or 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.
Not for students who have taken IERG5154.
3
IERG5200 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.
Not for students who have taken MATH4260 and IERG4200.
3
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
Not for students who have taken IERG5240.
3
IERG5270 Advanced Topics in P2P Networks & Systems
This course covers the principles, architectures, and applications of peer-to-peer networks and systems. Topics include protocols, network architectures, performance models and analysis, data distribution policies, directory service and query processing, quality-of-service, reliability, incentive mechanism, security, privacy, and intellectual property issues. Practical P2P systems such as file-sharing, video streaming, and Video-on-Demand will be studied as case studies. Students taking this course should have prior knowledge of computer networks, Internet protocols, performance modeling, and computer programming.
3
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. Prerequisite includes Computer Networks (IERG3310) and Digital Communications (IERG3010) OR their equivalents OR the consent of the instructor.
Prerequisite: IERG3310 (for UG only).
3
IERG5290 Network Coding Theory
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.
3
IERG5300 (or ENGG5302) Random Processes
This course starts with a review of Markov chain, random walk, Poisson process, martingale, and limit theorems. The main content includes a few major topics: Markov process (also called continuoustime Markov chain), renewal theory; queueing theory, and Brownian motion.
Advisory note: Students are expected to have basic background in probability.
Not for students who have taken IERG5300 or SEEM5580
3
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.
Prerequisite: IERG4130 or ESTR4306.
3
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.
3
IERG5330 Network Economics
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.
Not for students who have taken IERG6280
3
Course Code Description Unit
ENGG1100/ESTR1000 Introduction to Engineering Design
This is a hands-on project-based course which introduces the basic engineering concepts, experimental skills and design methodology needed for the design and construction of a hardware based system. Students will work in small groups on a practical project in which they will apply the design methodology introduced to them in lectures in a design project. The project work will involve defining milestones, identifying the constraints and requirements, defining the requirement specifications of the design, making and evaluating different possible designs by carrying out experiments to obtain data for refining the design, prototyping of the final design and testing of the system built in the project.
Not for students who have taken ESTR1000.
3
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.
3
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.
3
ENGG1410/ESTR1004 Linear Algebra and Vector Calculus for Engineers
Linear algebra: matrices, matrix addition, matrix multiplication, inverses, special matrices; vector spaces, basis and dimension, linear independence, rank, determinants; linear transformations, projection, orthogonality, systems of linear equations, Gaussian elimination, LU decomposition; eigenvalues and eigenvectors. Vector calculus: 3-D vector space and algebra; vector differential calculus, gradient, divergence, curl; vector integral calculus, Green's theorem, Gauss's theorem, Stoke's theorem.
Not for students who have taken ESTR1004. Prerequisite: MATH1510.
3
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. [Download form]
Advisory: For year 2 or above Engineering Majors students. (new curriculum)
1
ENGG2310/ESTR2300 Principles of Communication Systems
Review of linear system theory and probability. Overview of communication systems. Amplitude modulation and angle modulation. Sampling and quantization. Pulse modulation and transmission. Digital modulation and detection. Modulators and demodulators. Effect of noise in communication. Introduction to information theory and error control coding. Case studies of communication systems.
Not for students who have taken ESTR2300.
3
ENGG2420/ESTR2000 Complex Analysis and Differential Equations for Engineers
Complex analysis: analytic functions and Cauchy Riemann; complex integration, Cauchy principal value; elementary complex valued functions: exponential functions, Euler's formula, trigonometric and hyperbolic functions, logarithm and general powers; power series, Taylor series and convergence tests.
ODE: classification of differential equations; 1st order ordinary differential equations; 2nd order ordinary differential equations. Partial differential equations.
Not for students who have taken ENGG2460 or ESTR2000 or ESTR2010.
3
ENGG2470/ESTR2012 Probability for Engineers
The course will cover the following topics: Sets, relations, proof methods, combinatorics, probability and events: expectation, variance, moments, moment generating functions, single variate distributions. Multivariate probability: conditional probability, joint probability, Bayes' Theorem, conditional expectation, covariance, multivariate distributions. Functions of random variables. Central limit theorem, law of large numbers.
Not for students who have taken ENGG2430, ENGG2440, ENGG2450, ENGG2460, ESTR2002, ESTR2004, ESTR2005, ESTR2010 or ESTR2012.
3
ENGG2601 Technology, Society and Engineering Practice
Impact of technology on society; introduction to engineering as a profession (different engineering fields, professional societies and registration, soft skills for working in a team); engineering design and innovation; introduction to intellectual property (copyright, trademarks, registered design and patents); engineering project management; product safety; professional ethics; liability and responsibility; workplace safety; environmental impact and market requirements; case studies and experience sharing from industry; global energy policies and standards.
2
ENGG2602 Engineering Practicum
Industrial and professional workshops or seminars as required by the Major programme.
(Students majoring in ELEG or BMEG are required to consult their department regarding arrangement of the industrial/professional workshop before they register for the course.)
1
ENGG4030/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.
Not for students who have taken CSCI5510 or ESTR4300.
3
ENGG5301/IERG5154 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. Not for students who have taken IERG5154.
3
ENGG5302/IERG5300 Random Processes
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.
Not for students who have taken IERG5154
3
ENGG5303/IERG5100 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.
Not for students who have taken IERG6270 or IERG5100
3
ENGG5383/IERG5240 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
Not for students who have taken IERG5240.
3
ENGG5392/IERG5040 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: Students are expected to have basic background in optical communications
Not for students who have taken IERG5040.
3
Course Code Description Unit
CHEM1380 Basic Chemistry for Engineers
This is primarily for students in engineering faculty requiring a one-semester introductory in general chemistry at a fundamental level. 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.
3
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.
3
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.
3
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.
3
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.
3
CSCI1140 Programming Laboratory
Students will practice the programming principles they learn using C programming language.
Not for students who have taken CSCI1010. Prerequisite: CSCI1120 or 1130 or ENGG1110 or ESTR1100 or ESTR1102 or with the consent of the instructor.
1
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.
3
CSCI3150/ESTR3102 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.
3
CSCI3160/ESTR3102 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; Prerequisites: CSCI2100 or CSCI2520 or ESTR2102, and CSCI2110 or ENGG2440 or ESTR2004.
3
CSCI3320 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.
3
CSCI4180 Introduction to Cloud Computing and Storage
This course introduces concepts and principles of cloud computing and storage. Subjects include: cloud computing models (SaaS, PaaS, IaaS), distributed and parallel data processing (MapReduce, Hadoop, multicore technologies), virtualization technologies (hypervisor, virtual machines, full virtualization, paravirtualization), data storage (cloud storage architectures, data centers, data deduplication), security/privacy issues, and case studies of real-world cloud services (Amazon EC2, Windows Azure). This course emphasizes applied methodologies of using cloud computing and storage for solving practical engineering problems.
Not for students who have taken ESTR4106. Pre-requisite: CSCI3150 or CENG3150 or ESTR3102.
3
CSCI4190 Introduction to Social Networks
This course introduces how the social, technological, and natural worlds are connected, and how these relationships can be modeled as high dimensional graphs. The use of algorithmic approach to study these large scale networks so as to shed light on their connections and intrinsic properties will be employed. Topics include:1) how opinions, personal interests, idea, news and political movements spread via social networks; 2) how to maintain the robustness of the world wide web; 3) why we observe fragility in some of our electrical networks; 4) understand the formation process of large scale online social networks like Facebook; 5) how to perform effective product advertisement in large scale online social networks; and 6) how information or virus can be propagated in these large scale online social networks. This course aims to provide simple but fundamental theories on how one can understand the formation and interaction on these social networks. This course is multi-disciplinary in nature, and it is suitable for engineering, science, mathematics, economics or business students.
Pre-requisite: CSCI2100 or 2520 or ESTR2102.
3
ELEG5491 Introduction to Deep Learning
This course provides an introduction to deep learning. Students taking this course will learn the theories, models, algorithms, implementation and recent progress of deep learning, and obtain empirical experience on training deep neural networks. The course starts with machine learning basics and some classical deep models (including convolutional neural network, deep belief net, and auto-encoder), followed by optimization techniques for training deep neural networks, implementation of large-scale deep learning, multi-task deep learning, transferred deep learning, recurrent neural networks, applications of deep learning to computer vision and speech recognition, and understanding why deep learning works. The students taking are expected to have some basic background knowledge on calculus, linear algebra, probability, statistics and random process as a prerequisite.
Not for students who have taken ELEG5040.
3
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.
4
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.
3
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.
Prerequisite: (ELTU1001 or ELTU1002) and ELTU2014.
2
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.
3
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.
3
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.
Advisory: MATH Majors should select not more than 5 MATH courses in a term.
3
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.
3
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 without having studied HKDSE physics or Combined Science with a physics component 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. This course cannot be taken by students with HKDSE Physics or Combined Science with a physics component.
For New Curriculum Students.
3
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.
3