Postgraduate Courses
- CSIT 5100Engineering Reliable Software Systems[3-0-0:3]DescriptionDiscussion of the latest enabling technologies used for the engineering of reliable software applications. These technologies include the modeling, design, testing and analysis of software applications.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Apply software engineering principles to develop and manage software systems.
- 2.Apply industrial practice and software tools to develop and manage software systems.
- CSIT 5110Multimedia Development[3-0-0:3]DescriptionMultimedia fundamentals and design issues. Audio fundamentals and audio processing. Image fundamentals and image processing. Video fundamentals and video processing. Internet multimedia. Integrated multimedia.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Explain different types of signals and how they can be controlled.
- 2.Create programs for the generation of audio and music.
- 3.Explain different colour models and how they may be applied.
- 4.Explain various algorithms for the processing of images.
- 5.Develop a multimedia project.
- CSIT 5210Data Mining and Knowledge Discovery[3-0-0:3]Co-list withMSBD 5002Exclusion(s)COMP 5331, MSBD 5002, MFIT 5004DescriptionData mining has recently emerged as a major field of research and applications. Aimed at extracting useful and interesting knowledge from large data repositories such as databases and the Web, data mining integrates techniques from the fields of database, statistics and AI.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Apply the clustering techniques to find clusters within the data.
- 2.Use the classification techniques to conduct classification and predication.
- 3.Use the knowledge of frequent pattern mining to discover patterns from the data.
- 4.Conduct mining over social media and text data and detect outliers from the data.
- CSIT 5300Advanced Database Systems[3-0-0:3]DescriptionThis advanced database course addresses a number of selected data management issues and introduces emerging database related techniques.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Describe important concepts in database management systems, including conceptual modeling and data models, logical and physical database design, and query languages.
- 2.Describe a number of data management issues, including query processing and optimization, transaction management, and concurrency control protocols.
- 3.Apply database theories to practical database design and application development.
- CSIT 5410Recognition Systems[3-0-0:3]DescriptionIt is getting easier and more and more common to install or use recognition systems in our daily lives and working environments, such as fingerprint recognition systems, face and iris recognition systems, car plate and vehicle recognition systems, industrial automation inspection systems, medical diagnosis and surgical planning systems, image search systems. This course aims to provide students with a sound background in the area of recognition systems. Tentative topics include various examples of recognition systems, and related techniques in image analysis, computer vision, and pattern recognition.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Identify concepts and techniques to recognize image features and patterns.
- 2.Identify concepts and techniques to recognize different objects, e.g. iris, face, fingerprint, license plate and vehicle.
- CSIT 5500Advanced Algorithms[3-0-0:3]Previous Course Code(s)CSIT 6000EDescriptionThis course covers some advanced algorithms. Topics include sorting and data structures, divide and conquer, string processing, dynamic programming, graph algorithms, shortest path, maximum flow, stable marriage, and streaming.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Analyze the time and space efficiency of an algorithm as a function of the size of a problem instance.
- 2.Apply advanced algorithmic design and analysis techniques to solve problems.
- 3.Identify various data structures and apply them in designing algorithms.
- 4.Explain the correctness of algorithms.
- 5.Describe and apply some advanced algorithms for combinatorial optimization and graph problems.
- CSIT 5610Computer Networks: An Internet Perspective[3-0-0:3]DescriptionThis course discusses in-depth the architectures, protocols, and other key issues in the design of the global Internet. Topics include: common Internet applications, layered network architecture, switching techniques, local area networks, routing, transport, and multimedia networking.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Define and describe the basic working principles of computer networks, their architecture and protocols.
- 2.Describe the principles of networked applications, including client-server based applications (e.g. HTTP, FTP, SMTP and DNS) and peer-to-peer based applications (e.g. BitTorrent, Skype, etc.).
- 3.Discuss transport layer protocols, such as TCP and UDP, and recognize their functions and the services they provide.
- 4.Explain congestion in computer networks, its manifestations and its causes, and discuss congestion control mechanisms available in the Internet to tackle it.
- 5.Illustrate the principles of network layer services and discuss routing algorithms and their applications in the Internet.
- 6.Describe the services of the link layer and identify basic link layer protocols and medium access mechanisms.
- CSIT 5710Cryptography and Cybersecurity[3-0-0:3]Exclusion(s)COMP 5631DescriptionThe design and analysis of encryption schemes, public-key cryptography, digital signatures, user authentication, data integrity, cryptographic protocols, public-key infrastructure, key management, systems security, network and Web security.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Identify cryptographic models and use them to capture problems in information technology.
- 2.Apply and integrate security principles for solving security problems in information technology.
- 3.Communicate effectively through assignment writing and project designing.
- CSIT 5730Principles of Cybersecurity[3-0-0:3]DescriptionThis course introduces principles in cybersecurity. It covers the fundamental concepts and techniques of major aspects of cybersecurity, including software security, network security, cryptography, and system security. It also covers state-of-the-art techniques and solutions in advanced security topics such as data privacy protection, blockchain security, AI security, and cloud network security. Students will learn to find and fix weaknesses in different systems, and apply advanced defenses to protect these systems.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Describe the major security issues and principles in different computer systems and applications.
- 2.Explain the potential weaknesses underlying a variety of systems and algorithms and the common security practices to protect them.
- 3.Apply a variety of techniques to find weaknesses in computer systems and applications.
- 4.Evaluate and discuss the performance of different defenses and weakness detection methods according to multiple performance criteria.
- 5.Identify research results in the cybersecurity field and reproduce the results in evaluating their effectiveness in the defense and attacks.
- CSIT 5740Introduction to Software Security[3-0-0:3]DescriptionThis course serves as an introduction to the concept of software security. The students will learn fundamental concepts on software security, security mechanisms in software and operating systems, secure coding guidelines and exploits, and advanced analysis techniques for security. Students will also have hands-on experience in deploying security attacks and analysis of real world security vulnerabilities.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Identify and explain the major threats in software security.
- 2.Explain the corresponding mitigation methods for common software security attacks.
- 3.Get familiar with practical tools and methods for the analysis of software vulnerabilities.
- 4.Perform both attack and defense on real-world software systems.
- CSIT 5750Introduction to Network Security[3-0-0:3]DescriptionThis postgraduate-level course aims to provide students with a comprehensive understanding of network and wireless mobile security principles and practices. The course will cover various aspects of securing network infrastructures, wireless communication, and mobile devices. Students will gain practical knowledge and skills in analyzing, designing, and implementing security measures to protect networks and wireless mobile environments.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Identify the fundamental principles and concepts of network and wireless mobile security, including common security threats and attacks.
- 2.Analyze and evaluate network infrastructures and wireless mobile environments to identify vulnerabilities and potential security risks.
- 3.Design and implement effective security measures and countermeasures to protect networks, wireless communication, and mobile devices.
- 4.Apply cryptographic techniques and secure protocols to enhance the confidentiality, integrity, and authenticity of network and wireless mobile communications.
- CSIT 5900Artificial Intelligence[3-0-0:3]Previous Course Code(s)CSIT 6000FExclusion(s)MSBD 5015DescriptionThis course will cover advanced topics in artificial intelligence including machine learning, agent design, mulitiagent systems, game search, natural language processing and knowledge representation and reasoning systems.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Examine and formulate problems as AI heuristic search problem.
- 2.Model and design autonomous agents.
- 3.Examine and formulate multiagent problems as games.
- 4.Examine and formulate problems as machine learning problem.
- 5.Integrate reasoning and machine learning in natural language understanding.
- CSIT 5910Machine Learning[3-0-0:3]Previous Course Code(s)CSIT 6000GExclusion(s)COMP 5212, MSBD 5012, MSDM 5055DescriptionThis course covers core and recent machine learning algorithms. Topics include supervised learning algorithms (linear and logistic regression, generative models for classification, learning theory), deep learning algorithms (feedforward neural networks, convolutional neural networks, recurrent neural networks), unsupervised learning algorithms (variational autoencoders, generative adversarial networks, mixture models), and reinforcement learning (classic RL, deep RL).Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Describe an overview of Machine Learning as a subject of study.
- 2.Identify the fundamental issues in machine learning.
- 3.Recognize core and recent machine learning algorithms.
- 4.Apply core and recent machine learning algorithms to solve real-world problems.
- CSIT 5920Financial Technology for Engineering Professionals[3-0-0:3]Previous Course Code(s)CSIT 6000HExclusion(s)ISOM 5330, ISOM 5340DescriptionInnovative computing technology has significantly changed the financial landscape in banking, insurance, gaming (gambling), investment and their respective regulatory frameworks. This course will give students new insights and solid understanding of how and why different IT infrastructure, technical designs and implementations are detrimental to success, and prepare the students for senior technology leadership positions in the banking, insurance, investment, IT audit, government/regulator, innovation and entrepreneurship areas. The course will cover the challenging FinTech issues in (i) IT strategy and governance, (ii) IT development and operations and (iii) the future data ecosystem. There will be class discussions and presentations on system design, flow analysis, modeling, POC (proof of concept), and MVP (minimal viable product) of various FinTech, lnsurTech and RegTech applications.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Describe FinTech and different business & finance model.
- 2.Identify FinTech and different payment systems.
- 3.Define digital identity, privacy and authenticity.
- 4.Apply BlockChain/DLT to solve real-world problems.
- 5.Recognize legal challenges and digital forensics in FinTech.
- CSIT 5930Search Engines and Applications[3-0-0:3]Previous Course Code(s)CSIT 6000IDescriptionInformation retrieval techniques; document indexing, searching and ranking; search methods for web data, personalization, learning to rank; applications.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Identify the history, evolution, impacts and challenges of web-scale search engines.
- 2.Define information retrieval models, document indexing, searching and ranking.
- 3.Evaluate the performance of search algorithms using performance metrics.
- 4.Develop programs to implement search engine functions and components.
- 5.Design methods to apply machine learning to solve search problems.
- 6.Apply search engine concepts to recommendation and summarization problems.
- CSIT 5940Advanced Digital Design[3-0-0:3]Previous Course Code(s)CSIT 6000LExclusion(s)ISDN 5300DescriptionThis course will provide an in-depth study of various digital design and computer graphics algorithms and software. Topics include 1) 3D Modelling such as spline surface, solid modelling, transformations, hierarchical modelling; 2) Algorithms in content generation such as procedural modelling and optimization-based modelling; 3) 3D Animation which include principles of computer animation, particle systems, cloth simulation, and collision detection; 4) 3D rendering such as ray casting and tracing, shading, texture mapping, global illumination, and volume rendering; 5) Advanced topics and latest research works such as Neural Rendering using Generative adversarial network (GAN) and Neural Radiance Field (NeRF).Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Describe the fundamentals of digital design algorithms.
- 2.Implement digital design algorithms for a variety of applications: video games, movies, CAD, etc.
- 3.Identify different requirements of different applications.
- 4.Describe the basics of real-time rendering and graphics hardware.
- 5.Describe the basics of neural rendering.
- 6.Use C++, OpenGL programming, and game engine to build 3D applications.
- CSIT 5950A Gentle Introduction to Deep Learning[3-0-0:3]Previous Course Code(s)CSIT 6000MDescriptionThis is a specialized machine learning course that focuses on modern deep learning models and approaches. The major topics include modern convolutional neural networks, modern recurrent neural networks, transformers, graph neural networks, generative adversarial networks, neural architecture search, automated data augmentation, self-supervised learning, and adversarial attacks and defenses. Students will also use some of these models to develop applications in the course projects to gain practical experience.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Describe the major models, algorithms, issues, and challenges in the recent development of deep learning;
- 2.Explain the principles underlying a variety of deep learning models and algorithms and their relationships with conventional machine learning approaches;
- 3.Apply a variety of deep learning models and algorithms to data;
- 4.Evaluate and compare the performance of different deep learning models and algorithms according to multiple performance criteria.
- CSIT 5960Advanced Topics in Human-Computer Interaction[3-0-0:3]Previous Course Code(s)CSIT 6000NDescriptionHuman-Computer Interaction (HCI) is an interesting and important area of study, providing the human perspective to computing. This course emphasizes on techniques, models, theories, and applications for designing, prototyping, and evaluating current and future interactive systems for human use. Besides technology and innovation, it also touches on issues like ethics and social responsibilities related to technologies in the real world. Selected topics may include multimodal interaction design, ubiquitous/mobile computing, virtual/augmented reality, agents and robots, and HCI applications in various domains such as education, health, urban sustainability, scientific discoveries, etc.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Identify the basic concepts and methods in HCI research;
- 2.Identify the foundations and trends of HCI applications;
- 3.Design an interactive system using various methods through different design activities;
- 4.Prototype an interactive system with assorted digital and physical tools;
- 5.Evaluate an interactive system through user studies;
- 6.Communicate effectively with target users and different stakeholders in academia and industry.
- CSIT 5970Advanced Cloud Computing[3-0-0:3]Previous Course Code(s)CSIT 6000ODescriptionCloud computing provides a fundamental infrastructure support for today's IT industry, including e-commerce, social network, web search, machine learning, and scientific computing. It enables ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction. This course exposes students to both the theory and hands-on experience of cloud technology.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Describe the motivation, objectives, and architecture of cloud computing and big data systems.
- 2.Identify the concepts and implementation techniques of virtualization.
- 3.Identify the general architecture and the use of distributed storage systems.
- 4.Identify the general architecture and programming model of MapReduce, Hadoop, and Spark.
- 5.Write a MapReduce/Spark program with tens to hundreds of lines of code to solve common data analytics problems.
- 6.Use software tools to develop and debug a program written in Hadoop and Spark.
- 7.Identify the requirement of cluster management and container orchestration systems.
- 8.Identify the benefits and implementation techniques of serverless computing.
- CSIT 5980Spatial and Multimedia Databases[3-0-0:3]Previous Course Code(s)CSIT 6000PExclusion(s)MSBD 5019BackgroundStudents must be familiar with SQL and can do programming using any programming language such as C++ or JavaDescriptionData types in many new applications domains, such as spatial, multimedia and a wide range of scientific applications, are often represented as multi-dimensional data. Data management and query processing techniques for multi-dimensional data are significantly different from the relational data. This course covers a selection of database topics to provide students with the critical thinking of issues related to techniques for multi-dimensional data management and analytics. Spatial and multimedia database management concepts, theories and technologies, from data representation, indexing, fundamental operations to advanced query processing, as well as challenges and solution for high dimensional data will be introduced.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Identify data management and analytics challenges for large-scale complex data, especially for spatial and
multimedia data. - 2.Represent complex data types as multi-dimensional vectors to support similarity-based search.
- 3.Identify fundamental operations and advanced query processing techniques for spatial, spatiotemporal and multimedia data.
- 4.Use the knowledge of multidimensional databases to process queries with spatial, spatiotemporal and multimedia data.
- 5.Identify challenges and solutions for high-dimensional data.
- 6.Develop research skills including literature review and critical comparison and analysis of existing solutions for new data management topics.
- CSIT 6000Topics in Information Technology[1-3 credit(s)]DescriptionState-of-the-art topics in Information Technology reflecting recent developments in techniques and tools.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Identify the major issues and technical problems in a specific topic in information technology.
- 2.Recognize key technical solutions to the problems in the topic.
- 3.Solve specific problems in the topic.
- CSIT 6910Independent Project[1-3 credit(s)]DescriptionAn independent project carried out under the supervision of a faculty member. This course may be repeated for credit.Intended Learning Outcomes
On successful completion of the course, students will be able to:
- 1.Identify the state of the art of the topic.
- 2.Gain experience in doing research or self-learning.
- 3.Solve real-world problems independently.