Course Synopsis

(i) Core Courses (Taught courses): 8 units (Code: T)

 (a) 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:

 Design research proposal.

  • Defend the research proposal and expected contribution of the research in the form of poster presentation.
  • Critique research and research proposal of their peers.
  • Practice the research tasks, writing and publications in an ethical manner.
  • Identify research problem based on reference materials in the chosen field.
  • Perform research comfortably and responsibly.
  • Propose a research project with proper planning, judgements and decisions as well as correct planning of empirical data analysis.

(b) 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:

  • Critique various algorithms and designs of algorithms.
  • Adapt suitable algorithmic techniques and algorithmic designs in problem solving.
  • Perform complexity analysis of algorithm.


(ii) Elective Courses: 12 units (Code: E)

Two focus areas are offered: 

  • Data and Knowledge Engineering
  • Enabling Technologies and Infrastructures

Choose three (3) elective courses with at least two (2) courses from a chosen focus area. The following list presents the elective course under the two focus areas.

Data and Knowledge Engineering

(a) 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:

  • Analyse basic principles and concepts of evolutionary algorithms, artificial neural networks and fuzzy systems.
  • Integrate evolutionary algorithms, artificial neural networks and fuzzy systems as hybrid intelligent system
  • Apply evolutionary algorithms, artificial neural networks and fuzzy systems in problem solving.
  • Work on a project in a team with full responsibility.

(b) 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:

  • Describe concepts, theories and implementation of machine learning algorithms.
  • Build machine learning models which can be adapted to more complex scenarios.
  • Apply relevant machine learning algorithms for typical real-world problems.
  • Apply mathematical concepts to solve machine learning problems.

(c) 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:

  • Select the right visualization techniques for any given problems or applications.
  • Adapt visualization techniques and idioms, and visual analytics techniques in certain domains
  • Relate various visualization techniques with various domains and problems.
  • Customise modern visualization software tools for applications in various domain

(d) 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.

(e) 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:

  • Demonstrate understanding of basic concepts and techniques in natural language text and speech processing, such as tokenization, ngram, tagging, parsing, word sense disambiguation, speech synthesis and speech decoding.
  • Construct different levels of linguistics information such as word, sentence, semantics and spectrum for text and speech analytics using approaches in natural language text and speech processing.

Propose custom solutions using natural language processing and speech processing techniques or text and speech analytics problems in organizations.


Enabling Technologies and Infrastructures

(f) 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:

  • Evaluate application, selection and construction issues of advanced cloud computing platform.
  • Adapt cloud computing platform basic services for construction of cloud applications.
  • Propose suitable components of cloud computing platform

(g) 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:

  • Distinguish different Quality of Service (QoS) classes and related use cases, mobility and limitations of wireless and mobile networks.
  • Construct advanced heterogeneous wireless and mobile access and core architecture based on multiple services, radio environments, cell structures and mobility considerations.
  • Evaluate the many wireless and mobile communications radio technologies and the fundamental theories behind them.

(h) 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:

  • Identify theory of principle and application of Internet of Things (IoT) in daily life.
  • Modify IoT data processing algorithms for solving problem based on certain scenario.
  • Customise control and detection systems by using IoT.

(i) 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:

  • Explain given computer security issues in order to apply cryptographic concepts and computer security in problem solving.
  • Select critically potential publications to generate new ideas.
  • Adapt cryptographic algorithms in the development of computer security protocols.

(j) CDS523/4 – Forensic Analytics and Digital Investigations + 

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:

  • Apply the principles and techniques in forensics analytics and digital investigations.
  • Conduct digital investigations in computer forensics, mobile forensics, network forensics, image forensics and big data forensics.
  • Demonstrate the digital investigations that adheres to professional standards and investigation processes: identification, preservation, examination, and analysis.
  • Report the potential security breaches of computer data that suggest violations of legal, ethical, moral, policy and/or societal standard.

+ Courses offered under MSc (Data Science and Analytics).

(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:

  • Perform computer science research project using a suitable methodology.
  • Defend orally the research progress /outcomes convincingly.
  • Perform the research tasks and processes in an ethical manner.
  • Perform literature review relevant to domain of interest independently.
  • Perform the research with proper planning to meet research milestone.
  • Display autonomy and responsibility in delivering research project.
  • Investigate the research problem and able to solve them.


School of Computer Sciences, Universiti Sains Malaysia, 11800 USM Penang, Malaysia
Tel: +604-653 3647 / 2158 / 2155  |  Fax: +604-653 3684  | Email: This email address is being protected from spambots. You need JavaScript enabled to view it.  |  icon admin