This programme was first introduced as a coursework programme in 1996 to replace a mixed mode programme, MSc. (Artificial Intelligence) which was first offered in 1987. The curriculum was appropriately revised in 2001 and subsequently in the 2007 academic year, resulting in a Master of Science (Computer Science) mixed mode programme which is the current mode of the programme. In 2018, a revised curriculum was introduced. In October 2024, the programme nomenclature was changed to Master of Computer Science.
The goal of this programme is to produce computing practioners with advanced knowledge and research skills in Computer Science. Therefore, the Programme Educational Objectives (PEOs) are as follows:
[PEO1] To produce computing practitioners who are competent with a firm grounding in computer science to foster research and development of new knowledge in the field.
[PEO2] To produce computing practitioners who have leadership skills and are able to communicate as well as interact effectively with diverse stakeholders.
[PEO3] To produce computing practitioners who have positive attitudes, lifelong learning capabilities and entrepreneurial mind-set for successful career.
[PEO4] To produce computing practitioners who uphold and defend ethical and professional practices in maintaining self and professional integrity.
At the end of this programme, the students will be able to:
The following table provides the matrix of programme learning outcomes.
This mixed mode programme requires a minimum duration of one (1) year and a maximum of two (2) years for full-time study or a minimum duration of two (2) years and a maximum of four (4) years for part-time study. It consists of two distinct components; a taught component and a research component resulting in a dissertation.
Two focus areas are offered:
(i) Core Courses (Taught courses): 8 units (Code: T)
(ii) Elective Courses: 12 units (Code: E)
Choose three (3) elective courses with at least two (2) courses from a chosen focus area. The following table presents the list of elective courses under the two focus areas.
(iii) Dissertation (Core Course): 20 units (Code: T)
CCS599/20 – Dissertation
The course aims to enhance students’ knowledge and skills in planning and implementation of a research project in the field of computer science. Students can choose research topics in related areas in computer science, but they are encouraged to choose research topic in their respective focus area, and then proceed to conduct extensive review of literature pertaining to the topic and eventually carry out the research under the supervision of a lecturer. At the end of the course, students are required to produce a satisfactory dissertation in order to fulfill their degree requirements.
At the end of this course, the students will be able to:
Students need to plan early and consult prospective supervisors for a suitable research topic/title at the beginning of the pre-requisite course CCS591. CCS591 and CSS599 Dissertation must be taken in two consecutive semesters (CCS591 followed by CCS599). Students are strongly encouraged to choose a research topic from their chosen focus area. The research areas offered within the two focus areas are listed in the table below.
Students may commence their dissertation during the Inter-Semester Break and complete the course at the end of the Long Vacation Session OR during the Long Vacation Session and complete the course at the end of Semester I. The duration for this course is approximately 30 weeks [including the evaluation process and submission of the final hardbound copy of the dissertation]. The following table presents duration and sessions involved in the course.
Students are expected to meet their supervisors as often as possible to discuss their research work and record their meetings in a logbook both during the pre-requisite course CCS591 and throughout CCS599.
Students are required to complete various activities/assessments by some specific deadlines. A monitoring process will be implemented during the dissertation for the benefit of the students. The activities are as follows.
Detailed guidelines of the course will be uploaded to the e-learning portal.
A panel of examiners will be formed, and the main objective of this panel is to ensure that the research has achieved a certain standard. The dissertation will be evaluated by two examiners. Students are expected to produce an original piece of work that enhances existing work and contributes to the body of knowledge. Students are also required to use the standard format for the dissertation.
The period of candidature for a full-time programme is between one (1) to two (2) years, and for a part-time programme is between two (2) to four (4) years. The following tables show the various study schemes.
Course offering is given in the table below:
CDS503/4 – Machine Learning
Upon successful completion of the course, students will have a broad understanding of machine learning algorithms. Students will be acquiring skills of applying relevant machine learning techniques to address real-world problems. Students will be able to adapt or combine some of the key elements of existing machine learning algorithms. Topics which will be covered in this course include supervised and unsupervised learning techniques, parametric and non-parametric methods, Bayesian learning, kernel machines, and decision trees. The course will also discuss recent applications of machine learning. Students are expected to obtain hands-on experience during labs, assignments and project to address practical challenges.
At the end of this course, the students will be able to:
CDS505/4 – Data Visualization and Visual Analytics
This course discusses the use of computer-supported, interactive and visual representations of data in order to amplify cognition, help people reason effectively about information, find patterns and meaning in the data, and easily explore the datasets from different perspectives in particular in data-intensive environment. The course covers techniques from two branches of visual representation of data, namely data visualization and visual analytics. In data visualization, the course covers scientific visualisation techniques (representations of empirically-gathered scientific datasets) such as contours, iso-surface, and volume rendering as well as specific techniques in information visualisation (representations of abstract datasets) which include tables, networks and trees, and map-colour. In visual analytics, a visualization process features a significant amount of computational analysis and human-computer interaction. So, the topics covered in this part of the course include view manipulation, multiple views, reduction in items and attributes, and focus + context as well as analysis case studies involving a visualization system or tool.
At the end of this course, the students will be able to:
CDS521/4 – Multimodal Information Retrieval
This course provides the basic concepts, principles and applications for multimodal (text, image, and video) retrieval. This course covers basic techniques for text, image and video retrieval such as indexing, representation, ranking, querying, GLCM, colour histogram, video shot detection and boundary detection and retrieval performance and evaluation. In addition, this course also covers machine learning retrieval approach techniques such as KNN, SVM and deep learning neural network for large dataset on the latest context such as mobile devices, social media and big data.
At the end of this course, the students will be able to:
CDS522/4 – Text and Speech Analytics
This course focuses on the theory and tools of text and speech processing to retrieve textual features, speech signal and annotation, and linguistic information from text and speech resources. Using these resources, theory and tools are then used to perform analytic tasks to solve real-world problem.
At the end of this course, the students will be able to:
CDS523/4 – Forensic Analytics and Digital Investigation
This course introduces basic knowledge and techniques in computer forensics and digital investigation. Starting with an overview of the career of digital investigators, issues in digital forensics and investigations into public data, and current practices in the processing of criminal backgrounds and incidents will be described.
At the end of this course, the students will be able to:
CCS516/4 – Computational Intelligence
The course introduces computational intelligence. It begins with an introduction to evolutionary algorithms, artificial neural networks, and fuzzy system. Various variants of evolutionary algorithms, artificial neural networks, and fuzzy system are explored. Several issues within evolutionary algorithms (e.g., parameter tuning and control), artificial neural networks (e.g., learning rules, architecture and deep learning), and fuzzy system (e.g., fuzzy assessment, fuzzy reasoning) are pursued.
At the end of this course, the students will be able to:
CCS525/4 – Advanced Cloud Computing Platform
This course focuses on concepts, principles and issues that arise in the design and implementation of high-performance cloud applications that use advanced cloud computing platforms. Topics covered includes virtualization technologies, cloud system architectures, cloud service models, cloud computing platforms, cloud infrastructure services, and advanced topics.
At the end of this course, the students will be able to:
CCS526/4 – Wireless and Mobile Communications
This course introduces the fundamental theory and concepts in wireless and mobile communications. This course is designed to focus on wireless and mobile radio technologies, its architectures and MAC protocols, and mobility in the Internet layer. Important topics such as wireless and mobile transmission, radio propagation, mobile radio technologies and mobility are covered. The course relates to emerging standards such as 4G LTE Advanced and 5G, recent advancements in WiFi and long range IoT networks such as LoRA. It attempts to relate to some interesting applications of the future such as connected and autonomous vehicle
At the end of this course, the students will be able to:
CCS527/4 – Internet of Things
This course focuses on the existing and potential applications of the Internet of Things (IoT). Standards, protocols, and application stacks for IoT will be introduced. Access to the IoT devices via Internet Gateways and related security issues will be studied. Data Analytics, Data Management and Privacy Issues of IoT will be covered.
At the end of this course, the students will be able to:
CCS528/4 – Information Security and Cryptography
The course presents an overview of history, concepts, practice and theoretical foundations of modern cryptographic algorithms. The first part of the course covers basic concepts and symmetric cryptography. The second part covers asymmetric. In the third part, the class will analyse the popular implementations of cryptography used on the Internet.
At the end of this course, the students will be able to:
CCS591/4 – Research and Empirical Methods in Computer Science
This course aims to introduce techniques in conducting research, academic writing and presentation especially in the field of Computer Science. It will guide students to choose a title or a research problem, understand the process and the related technique and also tools that can be used to support research. Students will conduct literature review, synthesise reference sources, argue logically and evaluate scientific literature critically. It also covers the explanation on common methods used in research such as survey, comparison, case study and experiment and how to produce a research methodology and pre-proposal of high-quality research project. This includes methods in data analysis and conducting evaluation towards the obtained results either qualitatively or quantitatively to prove a research contribution based on research design and hypothesis. This course will also give guidance in techniques to present research materials, paper writing and high-quality thesis. Students should work under the supervision of a lecturer. This course is a pre-requisite for the dissertation.
At the end of this course, the students will be able to:
CCS592/4 – Advanced Algorithms and Complexity
This course provides a strong foundation in the theory of algorithms by giving the fundamentals of algorithm analysis and complexity. The course covers several major strategies in algorithm design such as the greedy method, divide and conquer, dynamic programming, randomized algorithms and approximation algorithms. This course also discusses in detail, important algorithms in several areas of computer science such as graph connectivity, shortest paths, minimum spanning trees, network flow and matching, string matching, Fast-Fourier transform, and NP-Complete problems.
At the end of this course, the students will be able to:
CCS599/20 – Dissertation