Bachelor of Computer
Science (Hons)

COURSE MODULES

woman wearing black top standing near yellow wall

COURSE MODULES

Year 1 

Programming Techniques 

This module contains introduction topics to programming using the language C/C++. It includes an introduction to computers and programming as well as the basics of programming, problem solving and software development. Data types and operators, selections, repetitions, functions, arrays, files, structured data and pointers are among the topics to be studied in this course. 

Database Systems

This module introduces the basics of database and file management system for you. It will you to understand information systems in terms of data modeling, file management and database system itself. You will be exposed or introduced to the process of design and development of database applications. This module focuses on the practical skills to create, control and execute commands or SQL statements.

System Development 

This module introduces you to the concept of system analysis and design, methodology, software and the necessary perspectives for a system analyst to develop information systems successfully. 

Computer Organisation & Architecture 

This module provides a detail of computer system’s functional components, their characteristics, their performance and their interactions including system bus, different types of memory and Input/output and CPU, as well as practical implementations of the components. Besides, the architectural issues, such as instruction set design and data types, are covered. In addition to this, students are introduced to the increasingly important area of parallel organisation.

Data Communications & Networks 

This module introduces the fundamental concepts and terminology of data communication and networking, encompassing both technical and managerial aspects and to help you better understand the challenges and opportunities faced by modern business. Topics will include: fundamentals of telecommunications, data transmission mechanisms, telecommunication media and technologies, considerations for LAN and WAN implementations, the Internet and intranet applications, emerging telecommunications technologies, and trends in the telecommunications industry. You will also be able to understand, explain and apply the fundamentals of data communication and network technology concepts and skills in network applications, troubleshooting, and configuring basic computer networks using guided or unguided media. 

Mathematics 1

The module includes two disciplines in mathematics namely linear algebra and discrete mathematics. Topics of linear algebra include linear equations, matrices, determinants, vector Rn, real vector, eigenvalues, eigenvectors, diagonalization and linear transformations. Topics of discrete mathematics include logical theory, sets, functions, algorithms and numbers, reasoning, induction, counting, relationships, graph theory, trees and Boolean algebra.

Operating Systems 

This module is designed to give an exposure to the fundamentals of operating system including process, management of memory, file and I/O and also about CPU scheduling. The introduction part consists of the evolution of operating system since it started until now. You will also learn about the basic concepts, technology and theory used in operating system such as concurrency, kernel, deadlock and multithreading.

Object-Oriented Programming 

This module introduces you to the concepts of object-oriented with Java programming language. You will be able to build basic object-oriented programs and apply the principles in creating GUI, event handling, interface components, exception handling, databases, and threads. With these basics, you will be able to develop a complete Java application. 

Software Engineering 

This module introduces the software engineering process including analysis, requirements, design, implementation, maintenance and testing. It includes the supporting areas such as project management, and quality management. This module also exposes you to the structured approach and object oriented approach using UML. 

Third Language 

This module is designed for those who do not have any background in a foreign language. It provides you with the knowledge to enable them to understand and communicate in the oral and written forms. Mastering the language will cover the skills of listening, speaking, reading and writing components. You will also be exposed to elementary reading materials.

Mathematics 2 

The module includes two disciplines, namely calculus and numerical analysis. The topics of calculus include functions, differentiation techniques, basic logarithmic and exponential functions and its applications, integration techniques, and function of several variables. The topics of numerical analysis include Taylor polynomial, computer representation of numbers, error, interpolation, numerical differentiation and integration, and numerical solution of differential equations. 

Year 2

Data Structures & Algorithms 

This module will expose you to the basic concept of the structure, classes, arrays and pointers will also be discussed to understand the basis for data structures and algorithms. The module will emphasize data structures such as lists, stacks, stack graphs and the algorithms. The efficiency of the algorithm run time would also be discussed. Pseudo code, and C ++ will be used for implementation. Apart from theory, you will be required to apply the data structures and algorithms developed through a system of small groups.

Probability & Statistics

The module starts with probability and followed with discrete random variables, continuous random variables and sampling distribution. The main topic for statistical inference begins with estimation. This is followed by hypothesis testing, estimation and hypothesis testing for two populations, ANOVA, simple linear regression and correlation, in addition, this course will expose you to the use of statistical software. 

Computer Science Theory 

This module introduces the basic concepts in computer science theory. Introduction to automata theory and formal language. Topics to be discussed include regular, context-free and computable (recursive) languages with finite state machines, pushdown automata, and Turing machines, as well as the basic concepts of computability theory and the theory of NP. The relationship between the machines, languages and grammars will be also discussed. This module will improve you capability to execute the concepts and skills necessary to evaluate computability and complexity of real computing problem.

Algorithm Design & Analysis 

This module introduces the fundamental algorithms, strategies for designing algorithms and mathematical tools to analyze algorithm. Fundamental algorithms discussed include algorithms graphs, sorting and search algorithms, hashing, integer arithmetic, and some combination techniques. The mathematics tools introduces are the asymptotic notation and solving recurrences and method. While the algorithm design strategy methods are greedy, dynamic programming, and random.

Human-Computer Interaction 

This module introduces the concept of HCI and its relationship to development of systems. The topics include basic understanding of cognitive psychology, user interface design, interaction design, usability and evaluation. Other topics include user-centered design, analysis and design user support. The current issues regarding accessibility and localisation will also be discussed at the end of the course. 

Programming Paradigm 

This module introduces main programming paradigms, such as object-oriented programming, logic, function, structure, constraint-based, rule-based, event- driven programming etc. Related programming language and main characteristics and appropriate application development will be discussed. The effect of programming paradigm to solve the problem and solution design strategy is the focus of this subject. This module provides general overview of modern programming language and its relations with programming paradigm categories. Among the topics discussed is software design, syntax and grammar notation; introduction to parser and interpreter construction, characteristic semantic domains; control, data, and component structures, the imperative programming paradigm; the functional paradigm; the logical paradigm; domain-specific modeling and domain-specific programming languages.

Research & Innovative Thinking 

This module is to study the concepts, theories and practices of critical and creative innovation. Critical and creative thinking can help you to become more realistic, innovative and far-sighted in their actions. This module provides the development of the mind and emphasis on the exploration of new areas and add value to the existing fields for developing a mature way of thinking.  

Industrial Workshop 

This workshop will provide an opportunity for you to practice knowledge and experiences gained from previous courses. It also tests you in problem solving based on the scope of each project. The scopes of your project should be based on their specialization and you are required to develop an industrial project in a group of four or five students. 

Compiler & Program Analysis 

This module introduces the theory and practice of basic concepts of compiler, compiler design and its implementation. The compiler will be used to understand and perform analysis program. Topics to be discussed are the lexical and syntax analysis, intermediate and object code generation, code optimization, data flow analysis, control flow logic and Algorithms such as a generic worklist algorithm, the round robin algorithm and strong components. You will be introduced to the principles and techniques for analysing programmes identify important features of programme code without having to execute a programme. 

Principles & Applications of Parallel Programming 

This module discusses the basic principles of design and engineering in addition to parallel programming techniques to computer programming, which has parallel has "multiprocessors" and "multicore". The course also will introduce the design of hardware and software in parallel to enable you to understand how search engines work in parallel topic which will be taught include shared data, synchronizing threads, and the latency and bandwidth associated with communication. 

Year 3

Information Assurance & Security 

This module is designed to provide basic knowledge of security services that include CIA in ICT-based systems. The module also reveals the use of cyber law in governing the rights of consumers. Finally, you also have the opportunity to learn methods of planning disaster recovery. 

Software Project Management

This module provides you with the skills to plan, execute, and manage software development projects. It covers essential areas like project lifecycle, risk management, budgeting, and team coordination, ensuring efficient and successful project delivery.

Professional Communication 

This module is designed to equip you with communication skills that are needed in working environments. This module encourages oral communication in fluent English language, and also improves students’ skill in reading and writing. You will gain experiences in delivering presentations, searching for jobs and preparing for meetings.

Artificial Intelligence 

This module exposes you to the basics and branch of artificial intelligence various methods such as search, data representation and reason, inference techniques, and learning from experience. In addition, a variety of applications of AI also introduced such as gaming, expert systems, machine learning and natural language processing.

Programming Language Design & Semantics

This module introduces the concept of design and semantic of programming language. Topics that will be discussed include principle design languages, abstract syntax, evaluation mechanisms, binding, type systems, polymorphism, data encapsulation, exceptions, formal definition of programming languages, compiling techniques, abstract machine design, run-time systems, semantics of expressions, natural operational semantics, structural operational semantics, abortion, non-determinism, parallelism, local variables, procedures and garbage collection. 

Final Year Project 1 & 2 

This module will incorporate all the knowledge that has been studied from the first year of this programme. It includes analyzing and designing a system or software, the use of databases, data structures and algorithms, web programming, data communications and more. During the final year, you will be required to build a final project based on your programme or courses attended. 

Distributed Applications Development 

This module is about the design and development of mobile systems. This module explains the differences of various types of mobile systems and how these systems evolved from first generation analog, digital through the second generation to third-generation high-speed broadband system. This module also describes the major components, how these components operate and the different types of wireless voice, data and information services that can be provided. 

ELECTIVE MODULES

Ethical Hacking 

This module is an introduction to the equipment and incident handling in hacking. You will be exposed to a variety of equipment, vulnerabilities of existing operating systems, and network software used by hackers to access information. The course will also deal with the methods of handling hacking incidents where the security of information is interrupted. 

Network Defence 

This is your introduction to the network security technology, which defends various networks from security attacks. It will focus on critical technologies in network defence such as firewall, router security, vulnerabilities of networks, type of network security threats and detection of network intrusions. 

Networking Systems & Technology 

This module is designed to introduce the knowledge and skills required to navigate computer networking technology. The focus will be on design, configure, troubleshoot and manage common wireless and wired network devices. This module also serves as a career opportunity for you to work in the IT industry as network support or a network administrator after graduation. 

Information Technology Management (MIS)

This module explains the basic overview and introduction to computer operating systems and networks. You can acquire skills through activities such as computer device installation, installing computer systems, operating systems and network administration. Through these activities students will be exposed to the basic concepts of information technology management as the solution to problems during the installation, configuration, diagnosing, preventive maintenance, network design and installation of operating systems. 

MPU MODULES

New Venture Creation 

This module outlines a structured programme for entrepreneurs to start and grow sustainable businesses in the mainstream economy, allowing learners to tender for public and private sector opportunities.

Appreciation of Ethics and Civilisation (Malaysian students)

This module explores Malaysia's ethics and civilisation, highlighting its historical evolution and the role of globalization and information technology in fostering national unity. It uses High Impact Education Practices to deepen understanding.

Malay Communication Language 2 (International Students)

This module equips you with essential Malay language skills for effective communication in everyday situations. It focuses on practical speaking, listening, reading, and writing, enabling you to confidently engage in conversations and enhance your cultural understanding.

Integrity and Anti-Corruption 

This module explores corruption concepts, including integrity, anti-corruption, corruption behavior, power abuse, and prevention methods. It uses experiential learning through individual and group activities, aiming to equip students with knowledge on integrity, corruption, anti-corruption, and power misuse prevention.

Philosophy and Current Issues 

This module explores the connection between philosophy and the National Philosophy of Education and Rukun Negara, focusing on epistemology, metaphysics, and ethics. It emphasises philosophy's role in promoting dialogue and fostering shared values, forming a comprehensive body of knowledge.

Community Service 

This module explores community involvement projects, proposal preparation, and effective project characteristics. It uses interactive classes, group discussions, experiential learning, and volunteerism to teach values, ethics, leadership, teamwork, and social responsibility.

National Language A
(for students without a Credit in Bahasa Melayu SPM)

This module focuses on building proficiency in Bahasa Melayu, the national language of Malaysia. You will develop skills in reading, writing, speaking, and understanding the language, with an emphasis on grammar, vocabulary, and effective communication in various contexts.