With the rapid growth of information technology for modern human life, departments in several universities such
as computer science, computer engineering, software engineering, information technology, and computer business
have been in demand. Generally, teaching and learning in these departments, the topic “Basic Computer
Programming” is one of the fundamental topics that students need to learn in order to develop ideas and logic of computer programming through four standard tasks of the system development life cycle including analysis, design,
implementation and maintenance. The first step, analysis, involves studying a given problem statement. In the
design step, the programmer uses pseudo code or a flowchart to solve such problem statement. Implementation
means translating ideas from the previous steps into the programming code of a certain programming language. The
last step, maintenance, consists of testing and improving the program until the requirements are met. In topic “Basic
Computer Programming”, the implementation step is emphasized meaning that students have to write a
programming code using a computer programming language. It has been considered a difficult task because they
have to remember the syntax of the computer language and they have to apply them while writing a code to solve a
problem statement. In practice, the students often lack of the ability to combine single statements from different
concepts in order to construct a whole program (Eckerdal, 2009; Soloway & Spohrer, 1989; Winslow, 1996).
Importantly, they write a programming code step by step following the textbook without understanding the
relationship among concepts, for example, variables and data types are fundamental concepts of array. Due to these
reasons, many students who cannot grasp the most fundamental concepts of computer programming are unable to
produce basic programs and also unable to learn and understand more complicated concepts in the future(Eckerdal,
2009). Their weaknesses in fundamental concepts of computer programming needed to be remedied before learning
advanced related concepts. Consequently, it might be better if we could find an appropriate way to improve their
conceptual learning ability in the topic.