Realization of Conceptual Knowledge Through Educational Game Marina Ismail, Najwa Abd Ghafar and Norizan Mat Diah Computer Science Department Faculty of Computing and Mathematical Sciences Universiti Teknologi MARA, Malaysia marina@tmsk.uitm.edu.my, najwa_nj@hotmail.com, norizan@tmsk.uitm.edu.my, AbstractLearning programming involves understanding of concepts especially when learning data structure. Research has proven that understanding the programming concepts is the main difficulty in learning programming. This study aims to develop a game-based learning module that helps students to understand programming concept. For the purpose of this study, the stack concept was chosen as the data structure to be implemented in the game. The stack concept is realized while playing the game thus gives a better insight and understanding about the stack. The game strictly adheres to game characteristic and incorporates the pedagogical approach in the design. The game is designed for novices to learn data structure concepts. The suitability of the game has been tested on fifteen computer science students. The result showed that the game was accepted by the students and they agreed that the game is interesting and has helped them to unveil the stack concept in data structure when learning programming. Keywords-conceptual knowledge; game-based learning; learning programming; I. INTRODUCTION In most cases, students would find learning any type of programming concept to be quite a challenge. [1] stated that the capability of algorithmic thinking is one of the main aims in information studies. Unfortunately, a lot of students would frequently find that learning programming concept can be tough and uninteresting. [2] conducted a study on difficulties found in learning programming among novices concluded that difficulties in learning the programming concepts hold the highest score. Students usually understand syntax and rules in programming but were unable to code a program due to lack of understanding in programming concept. Learning programming concept is an important step that a student must take in order for them to truly be ready of doing the actual programming [3]. Hence from time-to-time, the approach of learning the concept of programming is constantly emphasized, as they are basically used as building blocks for problem solving and logical thinking [4]. Nowadays, not many materials are available to aid and guide the students in understanding programming concept other than what are provided in books. [5] explained that educating someone on programming concept can be a struggle since teaching aids other than viewgraph and chalkboard are not available to improve the way students understand or learn the concept. Therefore, implementing an alternative approach in teaching programming concept is essential to help ease the learning process for students. II. LEARNING PROGRAMMING CONCEPT There are many types of programming concept that need to be learned, but the most common ones that are taught in the early semester of universities include array-based list, linked list, hash table, and data structures such as stacks and queues. Data structure is defined to be a form of data storage and data organization, where those data can be accessed and used using appropriate methods. In simpler words, data structure will be chosen at some point to store data for the purpose of working with them with various algorithms [6]. Undoubtedly, in order for someone to successfully perform programming or coding, it is important that they understand the data structure programming concepts. By doing this, it will ensure that the programmers truly recognize how each data structures can affect the program. Hence, this is a crucial step that they must take to fully be aware of the flow of algorithm within the data structures. For the purpose of this study, the stack concept is examined. A stack is basically a contiguous memory blocks of elements in which it functions as a last-in-first-out (LIFO) data structure. This means that this data structure removes and adds data from one end only, which is the top [7]. There are two main operations executed in stack, which includes PUSH and POP. The PUSH operation will add an element into the stack at the top. Along the same line, the POP operation will remove an element from the top of the stack and reduce the stack size. Hence, the data which is at the bottom of the stack is considered to be in there the longest, where as the element at