Provide advanced training in some of the major pillars in modern computing: processing of information, networking of information, and management of information. Also, expose students to specialized topics related to Internet Technology.
Include programming, software development, software engineering, computing infrastructure, and databases.
Code | Title | Credits | Course Level | Honours Classification |
---|
COMP S321F | Advanced Database and Data Warehousing | 5 | Higher | a or b |
As a sequel to COMP S320F, this course aims to provide students with more advanced concepts of relational databases and more practical experience in different situations. Students should study more advanced concepts and theories about relational databases. Major topics include Entity-Relation model, normalization, transaction management, and other advanced topics. |
Advisory Pre-requisites: Students should have completed most foundation, middle and higher level computing courses. |
Code | Title | Credits | Course Level | Honours Classification |
---|
COMP S333F | Advanced Programming and AI Algorithm | 5 | Higher | a or b |
This course aims to introduce basic concepts and algorithms of artificial intelligence (AI) and to facilitate students to develop advanced programming skills to tackle sophisticated problems, especially using AI algorithms and techniques. Students will be able to explain the capabilities, strengths and limitations of various AI techniques, as well as AI algorithms and their applications. Students also learn how to apply AI algorithms and programming methods to solve real world problems, and write programs to implement the devised algorithmic solutions. |
Code | Title | Credits | Course Level | Honours Classification |
---|
COMP S351F | Software Project Management | 5 | Higher | a or b |
As a sequel to COMPS350F, This course aims to develop in learners the know-how of project management recognized as good practices in software development. |
Advisory Pre-requisites: Students are expected to have completed at least two semester courses in computer programming and COMP S350F Software Engineering. |
Code | Title | Credits | Course Level | Honours Classification |
---|
COMP S362F | Concurrent and Networks Programming | 5 | Higher | a or b |
This course develops in students' ability to write programs that can run on computer networks. Students will improve their productivity as network programmers by learning programming frameworks and advanced programming language features. The topics may include basic networking concepts, multi-threaded programming, web services, regular expressions, recursion, Lambda expression, map/reduce paradigm, aspect-oriented programming, message queues, etc. |
Advisory Pre-requisites: Students should have completed most foundation, middle and higher level computing courses. |
Code | Title | Credits | Course Level | Honours Classification |
---|
COMP S363F | Distributed Systems and Parallel Computing | 5 | Higher | a or b |
The aim of this course is to develop in students' knowledge and skills in the development of distributed systems and parallel programs. It covers major parallel programming approaches and describes how to model parallel programs with various tools. It also takes students through case studies such as web services and Hadoop. |
Pre-requisites: Students are expected to have completed three semester courses or more using any programming languages. Students are recommended to have taken COMP S362F (Concurrent and Network Programming) though motivated individuals without S362F will still be able to handle this course. |
Code | Title | Credits | Course Level | Honours Classification |
---|
COMP S382F | Data Mining and Analytics | 5 | Higher | a or b |
This course introduces the key concepts, techniques and tools that would allow hidden patterns of data to be uncovered. Key topics of this course include: data warehousing, the data mining process, classification, regression, clustering and association mining. Students will learn how to apply this knowledge to solving typical data mining problems through case studies of real-world applications of data mining techniques. The topics may include data mining and data warehousing concepts, data mining process and software, classification and regression methods, clustering algorithms, and association rule mining. |
Advisory Pre-requisites: Students should have completed most foundation, middle and higher level computing courses. |
Code | Title | Credits | Course Level | Honours Classification |
---|
COMP S390F | Creative Programming for Games | 5 | Higher | a or b |
This course aims to develop the students' capabilities in applying programming skills to develop serious games and creative applications. The course consists of three parts. The first part will teach students how to generate interactive and algorithmic graphics using a game engine. The second part discusses various theories and issues in designing a serious game. The third part introduces various technologies and techniques for enhancing the user experience, which includes using sensors to orient a device in physical space and to interact with game objects. The course will enable students to design and develop serious games and creative applications with an appropriate integration of programming skills and techniques. |
Code | Title | Credits | Course Level | Honours Classification |
---|
COMP S492F | Machine Learning | 5 | Higher | a or b |
This course aims to introduce students to the field of machine learning, and develop them to apply machine learning algorithms to real-world problems. It enables students to have a broad overview of different machine learning and deep learning algorithms with a focus of applying these algorithms into real-world problems through practical activities. |
Advisory Pre-requisites: Students should have a solid background in computing |
Code | Title | Credits | Course Level | Honours Classification |
---|
ELEC S305F | Computer Networking | 5 | Higher | a or b |
This course aims to provide students with knowledge of the concepts and fundamental design principles of modern computer networking and to enable them to comprehend and evaluate various kinds of network protocols. It also equips students for further study of computer networks. The lecture begins at the application layer and working its way down toward the data link layer of the computer network reference model. Topics include: delay and loss in packet switched networks, protocol layered architecture, application layer HTTP, transport layer TCP, UDP, network layer routing, addressing, link layer switching, multiple access protocols, MAC addresses and Ethernet. |
Advisory Pre-requisites: Students should have completed most foundation, middle and higher level computing courses. |
Code | Title | Credits | Course Level | Honours Classification |
---|
ELEC S348F | IOT Security | 5 | Higher | a or b |
This course aims to introduce students to the concepts of discovering vulnerability, risk assessments, researching in and recommending risk mitigation strategies for common security threats in Internet of Things (IoT) systems. Students will be able to use industry-standard models to explain security requirements in IoT systems, and IoT security risks in an industry sector. Students will also learn to evaluate physical device / communication / application security vulnerabilities in IoT systems, and design threat mitigation measures based on threat modeling and risk management frameworks. Topics include IoT Security Challenges, IoT systems and architectures, IoT Device Layer Attack, Communication Layer Attack, Application Layer Attack, vulnerability and risk assessment in an IoT System. |
Code | Title | Credits | Course Level | Honours Classification |
---|
ELEC S371F | Digital Forensics | 5 | Higher | a or b |
This course aims to introduce the fundamentals of computer forensics and investigations. Topics include historical and current digital forensics; a systematic approach to computer investigations; digital forensics, email and image file analysis; and guidelines for writing digital forensics reports. Various forensic tools will be used during the laboratory sessions of the course. |
Code | Title | Credits | Course Level | Honours Classification |
---|
ELEC S425F | Computer and Network Security | 5 | Higher | a or b |
This course intended for senior students. This course covers principles of computer systems and network security. This courses also discuss various attack techniques and how to defend against them. Topics include network attacks and defenses, malware and social engineering attacks, host security, application security, network security, data security, access control and authentication, and cryptography and encryption. |
Advisory Pre-requisites: Students should have completed most foundation, middle and higher level computing courses and should have a solid knowledge in networking or have completed ELEC S305F. |
Code | Title | Credits | Course Level | Honours Classification |
---|
ELEC S431F | Blockchain Technologies | 5 | Higher | a or b |
This course introduces the concepts and applications of blockchain technologies, explains their potential impacts on different industries, and explores the latest techniques of permissionless and permissioned blockchains. Students will learn practical development skills in the two popular blockchain platforms (Ethereum and Hyperledger fabric) to understand blockchain programming and application development. |