using visualization as an easy way to learn programming logic · pdf fileusing visualization...

71
USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC LOO SZE PHEI UNIVERSITI UTARA MALAYSIA MSc. (IT) 2009

Upload: truongdan

Post on 06-Feb-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

USING VISUALIZATION AS AN EASY WAY TO LEARN

PROGRAMMING LOGIC

LOO SZE PHEI

UNIVERSITI UTARA MALAYSIA MSc. (IT) 2009

Page 2: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

I

PPEERRMMIISSIIOONN TTOO UUSSEE

This thesis presents a partial fulfillment of the requirement for a

postgraduate degree from Universiti Utara Malaysia. I agree that the university

library may make it freely available for inspection. I further agree that the

permission for copying of this thesis in any manner, in whole or in part, for

scholarly purposes may be granted by my supervisor or, in their absence by the

Assistant Vice Chancellor of the College of Arts and Sciences. It is understood that

any copying or publication or use of this thesis or parts thereof for financial gain

shall not be allowed without my written permission. It is also understood that due

recognition shall be given to me and to Universiti Utara Malaysia for any scholarly

use which may be made of any material from my thesis.

Requests for permission to copy or to make other use of materials in this

thesis, in whole or in part should be addressed to:

Assistant Vice Chancellor

College of Arts and Sciences

Universiti Utara Malaysia

06010 UUM Sintok

Kedah Darul Aman.

Page 3: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

II

AABBSSTTRRAAKK

Dalam Teknologi Informasi (TI) pendidikan, dari peringkat sijil pendidikan

di perguruan tinggi atau peringkat darjah institions sampai di universiti, kursus

pengaturcaraan sangat penting untuk membina pelajar berfikir logis dan untuk

melatih keterampilan program mereka dalam mencipta pelbagai jenis perisian.

Malangnya, kursus pengaturcaraan sering kali terdiri daripada tingkat kegagalan

lebih tinggi daripada program-program studi ilmu komputer lainnya. Dalam kajian

ini, masalah dalam mempelajari kursus pengaturcaraan telah dianalisis melalui kajian

literatur. Untuk meningkatkan dan untuk membantu memahami esensi

pengaturcaraan komputer, cara mudah untuk mempelajari logika pemrograman

dirumuskan berfokus pada penyediaan visualisasi untuk membantu belajar.

Pendekatan ini telah diterapkan pada prototaip Courseware, disajikan dan dievaluasi

oleh tahun pertama mahasiswa diploma ilmu komputer. Keputusan evaluasi

menunjukkan bahawa sebahagian besar pelajar dapat memahami materi yang

disampaikan dan mereka bersetuju bahawa menggunakan prototaip Courseware

dengan ciri visualisasi penggabungan membantu mereka untuk mengembangkan

kemahiran program mereka secara berkesan.

Page 4: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

III

AABBSSTTRRAACCTT

In the Information Technology (IT) education, from certificate level in

colleges or educational institions until degree level in universities, programming

courses are essential to build students‘ logical thinking and to train their

programming skills in creating different types of software. Unfortunately,

programming courses often consist of higher failure rates than other computer

science courses. In this research, problem in studying programming courses will be

analysed through literature review. To improve and to aid the understanding of the

essence of computer programming, an easy way to learn programming logic will be

formulated focusing on providing visualization to aid the learning. This approach

will be applied on a courseware prototype, presented and later evaluated by first year

diploma computer science students. Brief on the results obtained.

Keywords: programming logic, programming language, visualization, courseware,

courseware prototype, questionnaire design, logical thinking, abstract

thinking ability.

Page 5: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

IV

AACCKKNNOOWWLLEEDDGGEEMMEENNTTSS

First of all, my most profound thankfulness goes to my final project

supervisor Dr Nor Laily binti Hashim for her help, guidance and encouragement. I

would also like to thank her continuous faith and support in me. Without her

encouragement and guidance, it will not be easy for me to reach this extend in

completion my report.

Secondly, I would like to thank all my dearest family members, especially to

my parents, brothers who have given me their full support in my study. Their full

support remains the mainstay for me in overcoming all the difficulties in completing

this study. Next I would like to thank all the lecturers who have taught me before

throughout the Masters Degree course because the knowledge they imparted have

allowed me to be more knowledgeable and thus in a better position to complete this

research.

Lastly, I would like to thank all my friends who had given me emotional

support and taken care of me at times of difficulties, especially thanks to Ms. Lim

Hooi Szu, Ms Khor Jia Yun, Ms. Kam Su Ning, Mr. Tay Shu Shiang and Mr. Ang

Shao Long in advising and guiding me in the process of completing this report.

Page 6: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

V

TTAABBLLEE OOFF CCOONNTTEENNTTSS

TITLE PAGE

PPEERRMMIISSIIOONN TTOO UUSSEE…………………………………………………… I

AABBSSTTRRAAKK …………………………………………………………………II

AABBSSTTRRAACCTT…………………………………………………………………III

AACCKKNNOOWWLLEEDDGGEEMMEENNTTSS……………………………………………… IV

LLIISSTT OOFF TTAABBLLEESS…………………………………………………………VII

LLIISSTT OOFF FFIIGGUURREESS……………………………………………………… VIII

LLIISSTT OOFF AABBBBRREEVVIIAATTIIOONNSS…………………………………………… X

CCHHAAPPTTEERR 11:: IINNTTRROODDUUCCTTIIOONN…………………………………………1

11..11 PPrroobblleemm SSttaatteemmeenntt…………………………………………………………………………………………………… 1

11..22 OObbjjeeccttiivveess……..……………………………………………………… 3

11..33 SSccooppee aanndd LLiimmiittaattiioonn ………………………………………………3

11..44 Research Contribution………………………………………………4

11..55 SSttrruuccttuurree ooff TThheessiiss ……………………....……………………………..………4

11..66 CCoonncclluussiioonn ooff CChhaapptteerr……………………....……………………………..……4

CCHHAAPPTTEERR 22:: LLIITTEERRAATTUURREE RREEVVIIEEWW…………………………………5

22..11 PPrrooggrraammmmiinngg TThhiinnkkiinngg…………………..……………………….. 5

22..22 WWaayyss ttoo lleeaarrnn pprrooggrraammmmiinngg llooggiicc…………………..…………….…6

22..33 PPrrooggrraammmmiinngg EEdduuccaattiioonn……………………………………………………………… 7

22..44 CCoouurrsseewwaarree………………………………………………………………………………………… 10

22..55 CCoonncclluussiioonn ooff CChhaapptteerr………………………………..…………… 12

CCHHAAPPTTEERR 33:: MMEETTHHOODDOOLLOOGGYY ……………………………………… 13

33..11 PPrroobblleemm AAnnaallyyssiiss ffrroomm LLiitteerraattuurree RReevviieeww…………………………13

33..22 FFoorrmmuullaattee aann EEaassyy WWaayy iinn LLeeaarrnniinngg PPrrooggrraammmmiinngg

LLaanngguuaaggee……………………………………………………………………....……….………………

14

33..33 DDeevveelloopp CCoouurrsseewwaarree PPrroottoottyyppee………………..……………………14

33..44 QQuueessttiioonnnnaaiirree DDeessiiggnn………………………..………………………15

33..55 EEvvaalluuaattiioonn ooff PPrroottoottyyppee…………………………………..……………..… 17

Page 7: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

VI

33..66 DDaattaa PPrreeppaarraattiioonn ……………………....……….……………………..……..… 18

33..77 AAnnaallyyzzee PPrroottoottyyppee EEvvaalluuaattiioonn DDaattaa ..……………..……………..… 19

33..88 CCoonncclluussiioonn ooff CChhaapptteerr……………………....……………………………..……20

33..99 PPrroojjeecctt SScchheedduullee ……………………....……………………………..……..… 21

CCHHAAPPTTEERR 44:: PPRROOJJEECCTT DDEEVVEELLOOPPMMEENNTT RREEPPOORRTT ……………… 22

44..11 CCoouurrsseewwaarree PPrroottoottyyppee DDeevveellooppmmeenntt ………………………………..…………..… 22

44..22 QQuueessttiioonnnnaaiirree DDeessiiggnn ……………………………………..………………………..… 36

44..33 EEvvaalluuaattiioonn ooff DDaattaa CCoolllleeccttiioonn …………………………………………………….. 36

CCHHAAPPTTEERR 55:: RREESSUULLTTSS AANNDD SSIIGGNNIIFFIICCAANNCCEE ……………………..

37

55..11 EEvvaalluuaattiioonn oonn TTrraaddiittiioonnaall TTeeaacchhiinngg MMeetthhoodd ……………………… 37

55..22 EEvvaalluuaattiioonn oonn CCoouurrsseewwaarree PPrroottoottyyppee ………………………………………..… 43

55..33 CCoonncclluussiioonn ……………………………………………………..………………………………………..… 49

55..44 LLiimmiittaattiioonn aanndd FFuuttuurree WWoorrkk ………………………………………………………..… 49

RREEFFEERREENNCCEESS……..………………………..………………………..……50

AAPPPPEENNDDIIXX AA……..………………..…………………………………….. 54

AAPPPPEENNDDIIXX BB……..………………..…………………………………….. 57

AAPPPPEENNDDIIXX CC……..………………..…………………………………….. 59

Page 8: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

VII

LLIISSTT OOFF TTAABBLLEESS

Table 1.1 Examination Results Statistics in C Programming Language at

Tunku Abdul Rahman College

Table 3.1 Attributes Representation

Table 3.2 Project Schedule Plan

Page 9: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

VIII

LLIISSTT OOFF FFIIGGUURREESS

Figure 2.1 Web site design of the courseware

Figure 2.2 Courseware Web site with command buttons

Figure 3.1 Methodology process diagram Move this Figure in the beginning of this

chapter

Figure 4.1 Human Digestive System

Figure 4.2 While condition false

Figure 4.3 Digestive System stop

Figure 4.4 While loop structure

Figure 4.5 While loop stop

Figure 4.6 Do While loop structure

Figure 4.7 Do While loop stop

Figure 4.8 While loop and Do While loop Comparison

Figure 4.9 While loop example

Figure 4.10 While loop example

Figure 4.11 While loop example

Figure 4.12 While loop example

Figure 4.13 While loop example

Figure 4.14 While loop example

Figure 4.15 While loop example

Figure 4.16 While loop example

Figure 4.17 While loop example

Figure 4.18 While loop example

Figure 4.19 While loop example

Figure 4.20 Do While loop example

Figure 4.21 Do While loop example

Figure 4.22 Do While loop example

Figure 4.23 Do While loop example

Figure 4.24 Do While loop example

Figure 4.25 Do While loop example

Figure 4.26 Do While loop example

Page 10: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

IX

Figure 4.27 Do While loop example

Figure 4.28 Do While loop example

Figure 4.29 Do While loop example

Figure 4.30 While loop and Do While loop example comparison

Figure 4.31 For loop example

Figure 4.32 For loop example

Figure 4.33 For loop example

Figure 4.34 For loop example

Figure 4.35 For loop example

Figure 4.36 For loop example

Figure 4.37 For loop example

Figure 4.38 For loop example

Figure 4.39 For loop example

Figure 4.40 For loop example

Figure 4.41 For loop example

Figure 4.42 For loop example

Figure 5.1 Part A Q1 analysis (using traditional teaching approach)

Figure 5.2 Part A Q2 analysis (using traditional teaching approach)

Figure 5.3 Part A Q3 analysis (using traditional teaching approach)

Figure 5.4 Part A Q4 analysis (using traditional teaching approach)

Figure 5.5 Part A Q5 analysis (using traditional teaching approach)

Figure 5.6 Part A Q6 analysis (using traditional teaching approach)

Figure 5.7 Part B analysis (using traditional teaching approach)

Figure 5.8 Number of questions correctly attempted by students analysis (using traditional teaching approach)

Figure 5.9 Part A Q1 analysis (using courseware prototype)

Figure 5.10 Part A Q2 analysis (using courseware prototype)

Figure 5.11 Part A Q3 analysis (using courseware prototype)

Figure 5.12 Part A Q4 analysis (using courseware prototype)

Figure 5.13 Part A Q5 analysis (using courseware prototype)

Figure 5.14 Part A Q6 analysis (using courseware prototype)

Figure 5.15 Part B analysis (using courseware prototype)

Figure 5.16 Number of questions correctly attempted by students analysis (using courseware prototype)

Page 11: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

X

LLIISSTT OOFF AABBBBRREEVVIIAATTIIOONNSS

DIT Diploma in Internet Technology

IT Information Technology

RAM Random Access Memory

SPM Sijil Pelajaran Malaysia

TARC Tunku Abdul Rahman College

Page 12: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

1

CHAPTER 1

INTRODUCTION

In computer science context, programming can be defined as creating a sequence of

instructions to enable the computer to do something [1]. In IT education,

programming courses always been thought as the most difficult courses to study.

Many students could not grip on the programming logic in the process of

constructing a computer program. Programming logic is a method of reasoning in

computing program to perform complex computer functions. Thus, especially for

first year computer science students, they will find it is hard to study.

Nevertheless, programming is very important skill in computer science field. The

basic goal of the programming course is to provide students with a general body of

knowledge about programming languages and the ability to reason critically about

the application of programming languages in software development. This course also

serves as a foundation for further study in areas such as programming language

design and language processor implementation [2].

1.1 Problem Statement

As stated in [9], most of the students who start to learn the principles of

programming are taught by the old classic approach, which is based on using a

general-purpose programming language such as Pascal, Modula-2, LISP, or C, a

professional programming environment for the chosen language, and a set of

problems from the area of number and symbol processing. The authors found that

using general-purpose languages creates some obstacles for novice programmers,

where these languages are too big and too particular in its concepts and programming

principles. Besides that, they are oriented on number and symbols processing.

Moreover, these general-purpose languages provide little leverage for understanding

Page 13: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

2

their basic actions and control structures, where the languages are not visual and

process of program execution are hidden. The main reason that causes high failure

rate in programming courses is that the students have difficulties to describe and get

a grip on how to apply programming kind of thinking [3]. Therefore, the most that

will be concerned in teaching higher education students programming language is the

visualization capabilities.

According to the examination result statistic of School of Arts and Science in Tunku

Abdul Rahman College (TARC) Penang branch campus, programming courses such

as C programming and Java programming, consist of higher students’ failing rate

than other IT courses. The following table shows the statistic of C programming

language unit’s failing rate from year 2007 to year 2009 examination results.

Table 1.1: Examination Results Statistics in C Programming Language at Tunku

Abdul Rahman College

Diploma Programmes Academic

Year

2007/2008

Academic

Year

2008/2009

Academic

Year

2009/2010

Diploma in IS Engineering 35% of

57 students

37% of

54 students

Diploma in Business IS 41% of

27 students

Diploma in Internet Technology 37% of

71 students

41% of

93 students

Certificate in Internet Technology 66% of

74 students

From the statistics showing in Table 1.1, it can be concluded an averagely 38%

failing rate for diploma level students in C programming language, which is

considered high among other TARC units. For certificate level students who are

taking Introduction to C Programming unit, the failing rate is even higher, that is

66% failing rate. The certificate level students consists of those students who do not

obtain 5 credits or more in their Sijil Pelajaran Malaysia (SPM). Most of the students

have poor understanding level and some of them are poor in their English language.

Page 14: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

3

Therefore, the examination result in C programming language is much higher than

the Diploma level students.

Due to the stated problem in learning programming language and the examination

result at TARC, this research will be focusing on formulating an easy way in learning

programming language. The way of learning programming language will incorporate

visualization capabilities since “a picture is more than a thousand words”, it will be

easier for students to capture the abstract thinking ability in programming language.

The visualization capabilities will be presented through a courseware prototype.

1.2 Objectives

The objectives of this research are:

• To formulate an easy way in learning programming logic by incorporating

visualization capabilities.

• To develop a courseware prototype in teaching programming logic which has

visualization features.

1.3 Scope and Limitation

There are many types of programming language significance to be learned by

computer science students. As stated in [11], the first tip on improving programming

logic is that student must start to learn ‘C’ programming language due to its

structured style of programming. As it starts with the main() method and the

execution begins from there and the execution flow proceeds as what users have

directed it to do. Moreover, most of the first year computer science students will

have to take C programming course, which is one of their core unit in their level of

study. Therefore, the focus of this research is on C programming course. Due to time

limitation, a courseware prototype for C programming focusing on repetition

structure as its contents, will be developed using Microsoft Power Point Presentation

2007 software. The survey will be conducted on first year Diploma in Internet

Technology (DIT) students in TARC, Penang Branch Campus.

Page 15: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

4

1.4 Research Contribution

The result of this research is the formulation of an easy way to learn programming

logic via visualization. The formulation of an easy way to learn programming logic

can ease the job of many educators in teaching programming courses. Besides that,

this will help to build students’ programming thinking and abstract thinking abilities.

In addition, through the development of C programming courseware, it may help to

build the interest of students in learning programming courses. Thus, this approach

would significantly help to reduce the failure rate in programming courses when the

approach is applied to full content of a programming course syllabus

1.5 Structure of Thesis

This thesis consists of a total of five chapters. Chapter 1 contains the introduction

and explained the objective, significance, and scope and limitation for this research.

Chapter 2 presents a review of previous work on computer science students’

programming thinking, ways to learn programming logic and programming

education. Chapter 3 explains that methodology used in this research. Meanwhile,

chapter 4 describes the project development report, which includes the courseware

prototype development. In chapter 5, the results and significance of this research are

analysed. Finally, the conclusion about this research is being made as well as the

future work.

1.6 Conclusion of chapter

Programming language is an essential subject to be studied by computer science

students. Unfortunately, many students are not able to grip on the programming logic

that causes high failing in most programming language unit offered in universities or

colleges. The research objective of this thesis is to formulate an easy way to learn

programming logic by incorporating visualization capabilities in teaching material,

which will be achieved through the methodology discussed in chapter 3. It is

expected that at the end of this research, the result of this formulation is able to help

educators in presenting the programming logic to students and may help students in

understanding programming logic easily.

Page 16: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

5

CHAPTER 2

LITERATURE REVIEW

This chapter highlights previous research work on computer science students’

programming thinking, ways to learn programming logic and programming

education.

2.1 Programming Thinking

In [3], the authors discuss and analyze “programming thinking” using

phenomenography as their research approach. The study focuses on first year

students taking an object-oriented programming course and they were interviewed on

what it means to learn to program. Through the authors’ analysis, they have found

that there are certain levels of understanding that seemed necessary for reaching a

level of abstraction, where concepts can be used for analysis and design in object-

oriented programming tasks. It is thus important for educators to facilitate students to

discern such procedures.

A phenomenographic research approach was also used in [2] to reveal variation in

how the act of learning to program may be constituted amongst first year university

students. The analysis revealed that students might go about learning to program in

any of five different ways, which consists of the following, by coding, by

understanding and integrating, by problem solving and lastly by participating or

enculturation. This research is part of an emerging international agenda seeking to

investigate the practice of teaching and learning programming based on

constitutionalist learning theory.

Regardless of the languages used, computer programs are written in a fairly strict,

methodical, logical way [10]. Computers do exactly what programmers tell them to

Page 17: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

6

do, nothing more and nothing less. The author stated that if there were an inborn

personality trait, it would be the ability to think logically. It means the ability to

combine various related pieces of information and deduce what must result. Another

meaning is the ability to think and express a series of steps that produce a desired

result.

According to [27], recent research has found that many novice programmers, who

are beginners in programming area, often hold non-viable mental models of basic

programming concepts, for instance the assignment and object reference. This can

limit their potential to develop programming skills. The authors stated that it should

be noted that cognitive conflict alone is unlikely to be sufficient to achieve a change

from non-viable to viable models. Therefore, the authors proposed a constructivist-

based teaching model that integrates cognitive conflict and program visualization

with the aim to support novice programmers in the formulation of appropriate mental

models. The result of using this new teaching model using cognitive conflict

integrated with visualization shows that it can help students developing viable

models of the relatively simple concept of value assignment.

2.2 Ways to learn programming logic

The author stated that he has 20 plus years in computer science field and has to learn

many languages, such as various Basic versions, Turbo Pascal, C++, Assembly, Blitz

Basic, Java, Javascript, ASP, Php, MySql, Actionscript and so forth [4]. Thus, he has

shared 10 tips that can be useful when people are about to learn a new language. The

tips start with the thought “It’s just another programming language”, where most

programming structure will be the same and already known, just with a different

syntax. Then start from simple Hello World program. Get an editor with syntax

highlighting and get some books are another tips. The fifth and sixth tips are to start

translating and start writing the projects made in an “old” language into the new one.

Then, submit the work to related portals on the Internet to let people rate and

comment on it. The tips for languages change time is that do not be neither “latest

released fantastic” nor “old released fantastic” person, decide when it is time to

switch to the new version. The author advised not to learn all programming

Page 18: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

7

languages, rather to master in one. Lastly, nothing will last forever, where the best

language today, will obsolete in the future.

According to [10], this researcher has a strong belief that students cannot learn

programming just at school. Firstly, he suggests that students should utilize what the

school provides. The programming project given by teachers, they should do them

typically in teams. This was as close to real-world programming as the students

could get in the school environment. Internship programs through school with real

companies are also an opportunity for them to learn programming. Secondly,

students should make their own experience through “program it anyway”. Students

should write programs in their extra time. Students will learn more by just doing real

projects.

2.3 Programming Education

The authors in [9] believed that the effectiveness of the classic approach in learning

programming language is quite low in general. They found that using general-

purpose languages creates the some obstacles for novice programmers, where these

languages are not visual and process of program execution is hidden. Therefore, the

authors suggested a visually intuitive, simple, and powerful way to introduce

students to programming, which is called mini-languages. The authors agreed that

tmini-languages are a good foundation for general computer science instruction,

provide insight into programming for the general population, and teach algorithmic

thinking. Mini-languages can provide a solid foundation for learning a general

purpose language such as Pascal, C, or LISP. They also provide a sound basis for

systematic problem solving for people who will program only to customize their

spreadsheet, database, or CAD package, or another application program. It is the

acquisition of algorithmic thinking as an explicit, familiar and powerful tool. These

authors found that a more successful way for teaching the principles of programming

is by supporting a mini-language approach with a good programming environment.

Such an environment should keep both the micro-world and the student program

visible on the screen.

Page 19: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

8

Research has revealed a significant gap between the thinking patterns and software

design habits of students of recent computer science university graduates, and those

of expert software developers [5]. Students prefer fast and simple writing and

computer science teachers often focus on syntax and specific examples that does not

encourage students to identify and use more complex structures. It is important to

adhere to proper programming rules. In order for students to acquire correct

programming habits, the author focuses on a study unit designed to teach software

designing skills in high school. One of the main objectives of the Software Design

Unit is to develop abstract thinking abilities among students. This unit is

accompanied by several teaching aids, which includes text book, teacher’s guide,

case study (project), exercises and solutions as well as PowerPoint presentations. The

unit aims to provide students with capabilities of analysing problems and abstract

thinking skills.

In [7] and [8], these authors developed a new lecture style for elementary

programming education named Program Reading Practice by using the Computer

Graphics Animation programs, which is named as WinTK. The objectives are to

improve C language course and to aid the understanding of the essence of computer

programming. In this practice, the teacher shows the visual subject or source code of

various kinds of computer graphics animation programs on the teacher’s instruction

screens. Then, the teacher instructs students to read and rewrite a similar source code

through modification or extension. These authors have done this practice for six

years and investigated various kinds of results in order to acquire the effect

objectively. In [7], the result from the questionnaire shows that 55% students have

confidence in programming and 51% students find it easy and normal to learn

programming.

Whereas in [8], the result shows that students can master the construction method of

computer programs in many cases by reading and re-writing these source codes.

They obtained from the questionnaire that 85% of students who want to study but not

using character based console mode framework but by using Graphics-Based

window framework. Although many students thought that Program Reading Practice

is very hard, they have developed excellent Final Work programs which have

exceeded their teacher’s expectancy.

Page 20: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

9

Some students think that programming is difficult due to mathematics based material

is used in the course of programming education. Thus, they often lose interest in

studying programming. According to [20], it has been suggested that the educational

material that is not mathematics-based should be used in order to make students

interested in studying programming. For this reason, [6] are making efforts to use

animation that does not require mathematical knowledge in class assignments in

order to make students interested in programming practices. These authors in [21]

and [22] provided students with material such as fundamentals for creating basic

animation, explanations of graphics functions, basic animation creation method, its

application and its programming example in printed form (black and white). They

also have developed teaching material on the web and used them in programming

course. The computer language used in this class is C language and Ultra-C Pro is

used to support graphic functions, step by step execution and trace, to monitor

variables for debugging, and the execution is interpreter-based. In this trial,

feedbacks received from the students suggested that, although programming is

difficult, they enjoyed the animation creation. The result of this research shows that

students gained a considerable amount of ability to produce computer software

programming. But some problems exist such as the fact that indentation to make

code readable is not used, comments on the block or code to describe the contents of

the program are not added, and source code format and construction have problems.

The possible reason is believed to be that students are busy writing source code and

have no time to think about format or construction.

In recent research study, the researchers in [23] agreed that program visualization is

one of the most powerful educational tools in computer and information science

education. The authors also stated that visualization can provide a clear image for

understanding complicated concepts and revealing the dynamics of processes that are

usually hidden from the student’s eye. There several research teams exploring

different approaches to making visualization more useful in daily educational

practice. The authors in [24] found an approach named as engaging visualization,

which is to turn the students from passive observers to active learners by engaging

them into some activity related to the visualization. Whereas, Kumar in [25] stated

that another approach called explanatory visualization that is to enhance every

animated step of visualization with natural language explanations. The Adaptive

Page 21: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

10

visualization researched by [26] is to match the level of detail in the visualization of

each construct or step to the level of student knowledge about it. In [23], the authors

have prepared a questionnaire that was broadly distributed among teachers of

programming-related subjects to guide our work on adaptive explanatory program

visualization. At the end of the survey, the authors found that a very high percentage

of respondents considered adaptive and explanatory visualization valuable in

programming education.

2.4 Courseware

Courseware is a term that combines the words 'course' with 'software' [28].

Originally, it was used to describe additional educational material intended as kits for

educators or as tutorials for students, usually packaged for use with a computer. The

term's meaning and usage is now referring to the entire course and any additional

material used in referring to an online or 'computer formatted' classroom, which

consisting of various lessons notes, tests, and other materials needed. The courseware

can be presented in different formats. Many courseware are only available online

such as through web pages, while others can download the PDF files or other types

of document files. Nowadays, many forms of e-learning are now blended with term

courseware.

There are many types courseware teaching C programming language via the Internet

nowadays. In [29], [30] and [31], the courseware provided in the web sites consists

of all text based learning materials. The authors of the web site categorized the C

programming topics by using hyperlinks. Online users are allowed to click on the

desired link phrased with C programming topics, in order to learn more about the

explanation of the topics. Examples are provided in the Web sites for online users to

learning how to write the programs. Exercises are provided for online users to

practice on how to write the C programs after every topic. Figure 2.1 illustrates the

web site design of the courseware.

Page 22: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

11

Figure 2.1: Web site design of the courseware

In [31], the authors create command buttons for online users to easily refer to back

and forth of the topics that they desired to read, as shown in Figure 2.2.

Figure 2.2: Courseware Web site with command buttons.

The courseware created by these authors contains too much of text. Besides that, it is

not visually attracted. Thus, it is difficult to learn by novice programmers who cannot

capture how the programming logic actually works.

Page 23: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

12

2.5 Conclusion of Chapter

As a conclusion from all the literature reviews that have been discussed,

programming thinking is not easy to develop, because it requires a person to be able

to think logically and has to create abstract thinking capabilities. Moreover, it is very

difficult for beginners in learning programming language from changing non-

practical mental to practical mental without incorporating any visualisation feature

into the teaching the materials. Therefore, in the recent research, most of the

researchers proposed different ways in improving programming education. It can be

concluded that, as stated in Section 2.3, many authors found that visualization is

valuable in programming education to help student in griping the programming logic.

Page 24: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

13

CHAPTER 3

METHODOLOGY

This chapter describes in detail the methodology used in this research in order to

achieve the objectives stated in chapter 1. The methodology used is adopting the

waterfall model, which is an System Development Life Cycle approach that assumes

the various phases of a project can be completed sequentially, which means one

phase leads (falls) to the next phase [19]. There are total six phases in this

methodology is shown in Figure 3.1 Section 3.1 describes the problem analysis from

literature review. Section 3.2 describes the formulation of an easy way in learning

programming language. Section 3.3 explains the tools used in developing the

courseware prototype. Section 3.4 explains the questionnaire design process. Section

3.5 explains the evaluation process of the prototype. Section 3.6 describes the

process of data preparation for analysis. Finally, in 3.7 explains the tool used to

analyse the evaluation data.

3.1 Problem Analysis from Literature Review

The methodology used in this research begins with problem analysis from literature

review. From reading many existing studies it, can be seen that many computer

science students have programming thinking problems. Many students cannot think

logically and do not have abstraction thinking abilities. As programming logic is a

very abstract process, students will have problems in understanding the programming

logic. Besides that, it is an undeniable fact that each student is born with different

levels of inherent programming abilities [12].

Page 25: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

14

3.2 Formulate an Easy Way in Learning Programming Language

After analysing the problems in studying programming language, an easy way to

learn programming logic is formulated focusing on providing visualization to aid the

learning. Educators who are responsible to elementary programming education in

universities or colleges usually use diagrams or animations to explain the basic

programming concepts and algorithm. As researched by the authors in [12], they

assumed that visualization could assist those students of lower program

understanding levels in grasping image manipulations and then understanding the

program concepts, based on the positive correlation between the image manipulation

ability and the understanding level of programming concepts.

Since most of the problems faced by students in developing the programming is

thinking problem, through reading the existing studies and from the researcher

experience, visualization can be an easy and effective way to allow students to

understand programming logic. Besides visualization capabilities, by relating

programming logic with human anatomy, such as human digestive system, which is

common knowledge for everyone since primary school, it will be easier for students

to understand the programming logic. Moreover, to make it easier for students to

visualize the programming logic and the programming structure examples should be

related to simple mathematic functions, such as addition function. At the end of this

process, an easy way in learning programming logic is by using visualization, as well

as, incorporating human anatomy and simple mathematic functions will be

formulated.

3.3 Develop Courseware Prototype

An easy way in learning programming by using visualization approach will be

applied on a courseware prototype. This courseware can be developed with any

suitable graphical software. However, in this project the research will be using

Microsoft Power Point 2007 due to time constraint. PowerPoint is a tool that helps

user to plan, organize, design and deliver professional presentations [16]. It is

designed to work with a projector to display presentations that will bedazzle the

audience and instantly sway audience to the presenter point of view [18]. According

Page 26: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

15

to [18], it is useful for teachers or conference speakers who want to back up their

lectures with slides. It also allows user to create handouts for the audience and

speaker notes to help user deliver the presentation. Animation tool is provided that

add on predefined special effects to objects on a slide in order to make the slides

show more visually attracted. Custom Animation tool in Power Point was fully

utilized in the courseware prototype developed in order to achieve the visualization

feature in the courseware prototype.

The programming language selected to develop the prototype is C programming.

Since C programming topics are very wide and due to time limitation problem, the

courseware prototype developed will be focusing on C programming repetition

structure, which includes the while loop statement, do while loop statement and for

loop statement. A courseware prototype on C programming repetition structure will

be developed at the end of this process, which will be reported with print screen

samples in Chapter 4.

3.4 Questionnaire Design

To design a relevant questionnaire to evaluate students’ interest in learning

programming language from traditional teaching method and through visualization

courseware prototype, questionnaire design guidelines have to be followed.

According to [13], most individuals are willing to participate in a survey, but if the

questions require too much effort to answer, this sense of cooperation may vanish.

The author stated that a question may be unstructured or structured. Unstructured

questions are open-ended questions that respondents answer in their own words and

it is useful in exploratory research. On the other hand, structured questions are

questions that may offer multiple-choices, or a scale, which are easier for

respondents to answer, as well as, easier to analyze and tabulate than open-ended

questions. Besides that, the author also stated that in general, respondent cooperation

is improved if the majority of the questions are structured. Since the evaluation form

will be conducted to many students during tutorial hours, structured questions will be

selected in designing the evaluation form.

Page 27: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

16

According to [13], there are two concerns in designing multiple-choice questions.

The first is the number of alternatives that should be included and second is the order

or position bias. Multiple choice questions should include choices that cover the full

range of possible alternatives. Instructions should clearly indicate whether the

respondent is to choose only one alternative or select all that apply. In the

questionnaire designed of this study, there are instructions included in each part of

questionnaire to guide students how to response to questions stated.

Multiple choice questions can be set to have itemized rating scale, which has a

number or a brief description associated with each response category. The categories

are typically arranged in some logical order, and the respondents are required to

select the categories that best describe their reactions to whatever is being rated. One

of the most widely used itemized scales is called the Likert scale, which named after

its developer, Rensis Likert. The end-points of a Likert scale are typically “strongly

disagree” and “strongly agree.” The respondents are asked to indicate their degree of

agreement by checking one of five response categories. The advantage of adopting

this scale is that it is easy for the researcher to construct and administer the scale.

Besides that, it is easy for the respondent to understand. In Part A of the

questionnaire designed in this study is adopting the Likert scale to evaluate interest

on the programming unit.

To avoid problems in question wording, Malhotra in [13] offers five guidelines in his

research. First is to define the issue, second is to use ordinary words, third is to avoid

ambiguous words, fourth is to avoid leading questions, and lastly is to use positive

and negative statements. The statements in measuring attitudes and lifestyles’

questions, which respondents indicate their degree of agreement or disagreement

using Likert scales, can be worded either positively or negatively. For instance, “You

obtain a good result in programming unit.” is worded in positive way.

Questions set in the questionnaire should be arranged in a logical order, organized

around topic areas. The opening questions should be interesting, simple, and

nonthreatening. Questions that ask respondents for their opinions are always good

openers because most people like to express their opinions. Some studies require a

prescreening of the respondents to ensure that they are eligible to participate in the

Page 28: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

17

survey. Thus, qualifying questions are used as opening questions. For this study, in

order to survey on students’ interest and understanding level in programming unit,

the qualifying question has been asked to make sure they have experience in writing

computer program.

According to [13], three types of information can be obtained from a questionnaire.

The first type is basic information, which relates directly to the research problem.

Second type of information is classification information, which consists of

socioeconomic and demographic characteristics. The third type of information is

identification information, which includes name, address, and telephone number.

Questions that could be perceived as difficult should be placed late in the sequence

after a relationship has been established and the respondent is involved in the process.

As a rule, a series of questions should start with a general introduction to a topic,

followed by specific questions related to the topic.

3.5 Evaluation of Prototype

The courseware prototype developed will be presented to first year DIT students in

TARC, Penang branch campus. An evaluation form, which is a questionnaire, is

designed in the previous to analyze students’ interest in learning programming

language and their understanding level on C programming repetition structure. A

questionnaire enables quantitative data to be collected in a standardized way so that

the data are internally consistent and coherent for analysis [13]. This form of survey

method will reduce interviewer biasness, where these types of questions work very

well in self-administered conditions. It is probably the most widely-used data source

in educational research [15]. Many experts have estimated that as many as half of the

research studies conducted use questionnaire as a part of their data collection

process. Therefore, it is suitable format of evaluation to evaluate 90 students in DIT

course during tutorial hours. The questionnaire design will be discussed further in

chapter 4.

Before the presentation of the courseware prototype, DIT students will be divided

into two batches, the control group and tested group. The control group students will

be evaluated on a traditional way in learning programming language and

Page 29: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

18

understanding level of repetition content. Later, the tested group students will also

be evaluated on the presentation of courseware prototype in learning programming

language and understanding level. Before distributing the questionnaires to these two

batches of the students, the students will be briefed on the overview of the project

and the programming language unit that they will be evaluated on in the

questionnaires. Besides that, the students will be briefed on the meaning and the

requirement of the questions in the evaluation form before students give their answer.

The evaluation forms from the two batches of students will be obtained.

3.6 Data Preparation

There are 2 batches of evaluation forms collected from DIT first year students. One

batch of the evaluation forms are collected from the students who are evaluating on

programming unit teach by using traditional method. Another batch of evaluation

forms are collected from students who are evaluating on the courseware prototype

presented.

In the data preparation phase, data collected from the evaluation forms are entered

into Microsoft Excel 2007. Microsoft Excel 2007 is a powerful spreadsheet program

that allows users to organized data, complete calculations, make decisions, graph

data and develop professional looking reports [17]. The data in a worksheet is

organized into a rectangular grid containing vertical columns and horizontal rows.

The data collected this study is organized into different 11 attributes (columns) and

45 records (rows) for each batch of evaluation forms collected. The 11 attributes are

divided into 2 parts, which consists of Part A and Part B attributes, following the 2

parts of questions contained in the evaluation forms. The attributes used in this

questionnaire is described in more detail in Table 3.1. Part A contains 6 attributes,

which are used to keep track of the answer given by the students in the evaluation

form of Part A,which are questions from Q1 to Q6 respectively. Part B contains 6

attributes, which are used to keep track of the answer given by the students in

evaluation form of Part B, which are questions from Q1 to Q5 respectively. Each

record in Part A attributes are ranging from 1 (Strongly Disagree) to 5 (Strongly

Agree) assigned in a double-review process by physicians. Whereas, each record in

Part B attributes are valued with True or False, based on the answer given in the

Page 30: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

19

evaluation form Part B questions are correct or incorrect. The detail description about

each attribute is shown in Table 3.1.

Table 3.1: Attributes Representation

The complete evaluation data collected will be reported in chapter 4.

3.7 Analyze Prototype Evaluation data

Finally, the result of the evaluations will be analyzed using Microsoft Excel 2007

software, which is using the chart tool provided in Excel. A chart is visual

representation of data that is used to convey information in an easy-to-understand

and attractive manner [17]. Different types of charts are used to represent data in

different ways. The pie chart is selected to analyze the data collected from the

evaluation forms, which is suitable to show the relationship or proportion of parts to

a whole. Therefore, it is suitable to show the percentage of students’ answers for part

A questions. Whereas, Clustered column chart is selected to analyze the part B data

collected from the evaluation forms, due to it can clearly present the number of

correct and wrong answers that students are able to attempt. At the end of this

research, a comparison of the students’ interest in learning programming language

No. Attribute Representation

1

P

a

r

t

A

Q1. Experience in writing computer program.

1 – Strongly

Disagree

2 – Disagree

3 – Normal

4 – Strongly Agree

5 – Agree

2 Q2. Obtain a good result in the current programming

unit.

3 Q3. Taught material has been presented clearly

4 Q4. Taught material has helped in developing

student’s knowledge of the unit.

5 Q5. Taught material has helped in developing

student’s programming skill.

6 Q6. The teaching method is visually interesting.

7 P

a

r

t

B

Q1. Number of repetition. True – Correct

answer

False – Incorrect

answer

8 Q2. Find the final value of variable.

9 Q3. Tracing the question.

10 Q4. Tracing the question.

11 Q5. Find the final value of variable.

Page 31: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

a

p

d

3

F

o

o

o

p

i

p

and understa

programmin

discussed in

3.8 Conclus

Figure 3.1 p

output that w

output gene

objective st

programmin

in phase 3

prototype wh

Figu

Phase 1

Phase 2

Phase 3

Phase 4

Phase 5

Phase 6

Phase 7

anding level

ng logic by u

n chapter 5.

sion of Chap

process diagr

will be obtain

erated after

tated in cha

ng logic by

will achiev

hich has visu

ure 3.1: Met

An

F

P

De

Po

Qu

D

AMi

l will be gen

using visualiz

pter

ram illustrat

ned at the en

every phase

apter 1, wh

incorporatin

ve the seco

ualization fe

thodology pr

o

nalyse Probleliterature re

Formulate anWay to Le

Programming

evelop CoursPrototype uMicrosoft Pooint 2007 sof

uestionnaire D

EvaluationPrototype

Data Prepara

Analyse Data icrosoft Exce

Methodolo

nerated, whi

zation. The r

tes the meth

nd of every p

e. The outp

hich is to f

ng visualizat

ond objectiv

eatures.

rocess diagra

of this chapt

em from eview

n Easy earn g Logic

seware sing ower ftware

Design

n of e

ation

using el 2007

ogy

ich will show

result of the

odology use

phase in the

put of phase

formulate a

tion capabili

ve that is t

am Move thi

er.

Problems iprogram

langu

An easy wprogrammusing visu

Coursewareon C progra

s

ProgramLanguag

Evaluati

Students' evform

Students' evdata in Mir

Excel fo

Students learning pr

and underst

w the easine

evaluation w

ed in this res

methodolog

e 2 will ach

an easy way

ities. Where

to develop

is Figure in

n learning mming uage

ay to learn ming logic ualization

e prototype foamming condstructure

mming ge Unit on Form

valuation ms

valuation rcrosoft ormat

interest in rogramming tanding level

Output

ess in learnin

will be furth

search and th

gy. There is a

hieve the fir

y in learnin

as, the outp

a coursewa

the beginnin

ocusing ditional

ng

her

he

an

rst

ng

put

are

ng

Page 32: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

21

3.9 Project Schedule

The project schedule planned started from 5/7/2009 until week 18/10/2009. Every

Time Frame represents one week.

Table 3.2: Project Schedule Plan

Weeks

Steps

1 2 3 4 5 6 7 8 91

0

1

1

1

2

1

3

1

4

1

5

1

6

Literature Review ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

Analyse Problem ● ●

Formulate way ● ●

Develop

Courseware

Prototype

● ● ● ●

Evaluation of

Prototype

● ●

Data Preparation ● ●

Analyse Data ● ● ●

Documentation ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

Page 33: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

22

CHAPTER 4

PROJECT DEVELOPMENT REPORT

This chapter describes the details in the project development process. The Microsoft

Power Point 2007 software’s custom animation tool is fully utilized in every slides of

the courseware prototype, in order to make the presentation more visually attractive

and to easily express the programming logic. Section 4.1 explains the courseware

prototype development with print screen samples provided. Section 4.2 explains the

questionnaire designed for this study. Finally in section 4.3 explains the preparation

of data collected from students’ evaluation.

4.1 Courseware Prototype Development

The following figure illustrated the courseware prototype on C programming

repetition structure.

Figure 4.1: Human Digestive System

Figure 4.1 shows the human digestive system, which is used to relate to the while

loop structure. When human are alive (condition), we will have to repeatedly take in

food (input) everyday. The body digestive system will help us to digest (process) the

Page 34: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

23

food and later produce output from our body. These processes are similar to

computer programming logic. While the condition is true, the programming

statements written within the while loop structure will be repeatedly carried out by

the computer system. The programming statements may be input statement,

processing statement or output statement. The custom animation tool in Microsoft

Power Point was used in showing the process of human digestive system, from food

input to pass motion.

Figure 4.2: While condition false

Figure 4.3: Digestive System stop

Figure 4.2 and 4.3 shows that while the human die, which means alive equal to false,

the digestive system will stop and the human in a coffin. To relate the while loop

structure, while the loop condition equal to false, the programming statements within

the while loop structure will stop running and continue with to statements followed

after while loop structure. The custom animation tool in Microsoft Power Point was

used to show the condition change to false and human body start to contract, and

then the coffin appear with the word “STOP” display on screen.

Page 35: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

24

Figure 4.4: While loop structure Figure 4.5: While loop stop

Figure 4.4 shows that while loop structure starts from start value statement, followed

by while loop condition. The actions Statement(s) are repeated written within the

braces and Update statement right before the close braces. When the program

executed reach the close braces, the execution will be moving back to while

condition for checking, if the condition is true, then process keeps on repeating. The

custom animation tool in Microsoft Power Point was used in creating the arrow from

end braces moving back to while condition checking in order to show the looping. As

shown in Figure 4.5, while the condition becomes false, the while loop statements

execution will be stopped and the execution will be continued with the statements

followed by the close braces.

Figure 4.6: Do While loop structure Figure 4.7: Do While loop stop

Figure 4.6 shows that do while loop structure starts from start value statement and

the do while loop condition is written immediately after the close braces. The actions

(Statement(s)) to be repeated written within the braces and update statement right

before close braces. When the program executed has reached the close braces, the

Page 36: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

25

condition check will be executed, if the condition is true, then program execution

will be moving back to the do statement and continue executing the statements right

between do while structure. The custom animation tool in Microsoft Power Point was

used in creating the arrow from end braces move back to while condition checking in

order to show the looping. This process will keep on repeating until the condition

becomes false, as shown in Figure 4.7. The do while loop statements execution will

be stopped and the execution will be continued with the statements followed by the

close braces. In Figure 4.5 and 4.7, Custom animation tool in Microsoft Power Point

was also used in showing the condition change to false and the “STOP loop” phrase

appear on screen.

Figure 4.8: While loop and Do While loop Comparison

Figure 4.8 shows the comparison between while loop and do while loop. This figure

shows that the positioning of the condition (label in number 2) for while loop and do

while loop is different. The condition statement comes before update statement in

while loop. This shows that the condition will be checked before the statements

within while loop are executed. Whereas, the condition statement for do while loop

was written at the end of close braces. This shows that the statements contain within

the do while will be executed before checking the condition. As a result, the do while

loop statements will be carried out at least one time before the condition is checked.

Page 37: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

26

Figure 4.9: While loop example Figure 4.10: While loop example

Figure 4.9 shows the while loop structure example that will display the “@” symbol

on output screen with the condition of variable num is less than 10. The while loop

statement start with the variable num (loop counter) set to 1. Meanwhile, the RAM

location shows the num variable holding the value 1. Figure 4.10 shows the

continuation process for checking the condition whether variable num is less than 10

or not, where the condition is true.

Figure 4.11: While loop example Figure 4.12: While loop example

Figure 4.11 shows that after checking the condition is true, the execution of while

loop will be continued to the next statement within the while loop structure. After the

printf() statement executed, an “@” symbol will be printed on the output screen,

which will be shown through the entrance customize animation tool. Figure 4.12

shows the execution continued to the next statement, which is an Update statement in

while loop structure. After running this statement, the num variable in RAM will be

updated to hold value 3.

Page 38: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

27

Figure 4.13: While loop example Figure 4.14: While loop example

Figure 4.13 shows that after updating the counter, the execution will be looping back

to the while loop condition checking statement. Figure 4.14 the condition checking

process is retrieving the counter value from the RAM and check against the condition

whether it is less than 10. The result of the condition check is true.

Figure 4.15: While loop example Figure 4.16: While loop example

Figure 4.15 shows that the execution continued from Figure 4.14, after the condition

check is true, second “@” symbol will be printed on the output screen and the

counter is updated to value 5, as shown in the RAM location. The execution will be

looping back to while loop condition checking statement again. Since the condition is

true, the printf() statement will be executed and the third “@” symbol will be printed

on the output screen, as shown in Figure 4.16. Then the update statement will be

executed and the num variable in RAM will be updated to hold value 7.

Page 39: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

28

Figure 4.17: While loop example Figure 4.18: While loop example

Figure 4.17 shows that the execution continued from Figure 4.16, after the condition

check is true with num value 7 less than 10, the printf() statement will be executed

and the fourth “@” symbol will be printed on the output screen. The counter is then

updated to value 9, as shown in the RAM location. The execution will be looping

back to while loop condition checking statement again. Since the condition is true,

the printf() statement will be executed and the fifth “@” symbol will be printed on

the output screen, as shown in Figure 4.18. Then the update statement will be

executed and the num variable in RAM will be updated to hold value 11. The

execution will be looping back to while loop condition checking statement again.

This time the value of num (11) is greater than 10, it will return false. This will cause

the execution of while loop structure to stop.

Figure 4.19: While loop example

Figure 4.19 shows at the end of the while loop process. The final value of the

variable num stored in RAM location is 11 and the final output printed on the output

screen is five “@” symbols.

Page 40: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

29

Figure 4.20: Do While loop example Figure 4.21: Do While loop example

Figure 4.20 shows the do while loop structure example that will display the “@”

symbol on output screen with the condition of variable num is less than 10. The do

while loop statement start with the variable num (loop counter) set to 1. Meanwhile,

the RAM location shows the num variable holding the value 1. Figure 4.21 shows the

continuation process which will execution the printf() statement directly without

checking the condition.

Figure 4.22: Do While loop example Figure 4.23: Do While loop example

Figure 4.22 shows that after the printf() statement executed, a “@” symbol will be

printed on the output screen. Then, the update statement follows will be executed.

After running this statement, the num variable in RAM will be updated to hold value

3. Figure 4.23 shows the condition check process, where num value 3 is less than 10,

so the condition check will return true. The execution will be looping back to do

statement.

Page 41: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

30

Figure 4.24: Do While loop example Figure 4.25: Do While loop example

Figure 4.24 the continuation process from figure 4.23, whereby the printf() statement

will be executed, and the second “@” symbol will be printed on the output screen.

Then, the update statement follows will be executed. After running this statement,

the num variable in RAM will be updated to hold value 5. The condition is check

again, where num value 5 is less than 10, so the condition check will return true. The

execution will be looping back to do statement. The execution continued to the

printf() statement again and the third “@” symbol is printed on the output screen, as

shown in Figure 4.25. Then, the update statement follows will be executed. After

running this statement, the num variable in RAM will be updated to hold value 7.

The condition is check again, where num value 7 is less than 10, so the condition

check will return true and loop back to do statement.

Figure 4.26: Do While loop example Figure 4.27: Do While loop example

Figure 4.24 shows after looping back to do statement, the printf() statement will be

executed, and the fourth “@” symbol will be printed on the output screen. Then, the

update statement follows will be executed. After running this statement, the num

variable in RAM will be updated to hold value 9. The condition is check again,

where num value 9 is less than 10, so the condition check will return true. The

Page 42: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

31

execution will be looping back to do statement. The execution continued to the

printf() statement again and the fifth “@” symbol is printed on the output screen, as

shown in Figure 4.27. Then, the update statement follows will be executed. After

running this statement, the num variable in RAM will be updated to hold value 11.

Figure 4.28: Do While loop example Figure 4.29: Do While loop example

Figure 4.28 shows the continuation process from figure 4.27. The condition is check

again, where num value 11 is greater than 10, so the condition check will return false.

This will cause the whole do while loop to stop execution. Figure 4.29 shows at the

end of the do while loop execution, the final value of the variable num stored in

RAM location is 11 and the final output printed on the output screen is five “@”

symbols. The final counter value and final output are the same as while loop structure

example.

Figure 4.30: While loop and Do While loop example comparison

Figure 4.30 shows the comparison between while loop and do while loop. The while

loop example shows that checking of condition will be carried out first. In this

Page 43: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

32

example, showing variable num value 1 is greater than 0, therefore the condition

returned false. This will cause the while loop to execute at all. Thus, the printf()

statement will not be executed at all, as well as the update statement. Therefore, the

final value of num will not be changed, which is value 1, and there will be no “@”

symbol printed on the output screen. Whereas, for the do while loop example, the

printf() statement will be carried out first, so that the output screen will display one

“@” symbol. Then, the update statement will be executed and this will cause the

change in num value in RAM location, which holding value 2. After the updated

process, the condition will then be checked. The variable num value 2 is greater than

0, therefore the condition will return false. This will cause the do while loop

execution to stop.

Figure 4.31: For loop structure Figure 4.32: For loop structure

Figure 4.31 shows that for loop structure can be relate to the situation when a person

falls sick. When a person falls sick, the person has consumed medicine for a few

times, for example 6 times. In this example, it shows that the count will start at

number 1, while the condition is less than or equal 6. Every time the sick person

consumes a medicine, the count will be plus 1 time. The count will be checked after

each addition, to make sure the sick person does not consume more than the dosage

recommended by the doctor. The count will be updated until 6 times, and then the

sick person will have to stop consuming the medicine, as shown in Figure 4.32.

Page 44: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

33

Figure 4.33: For loop structure

Figure 4.33 shows the for loop structure consists of counter start value, conditional

statement and the update statement written within the bracket of for statement

sequentially.

Figure 4.34: For loop example Figure 4.35: For loop example

Figure 4.34 shows the example of for loop that will display the “This is value %d”,

where %d is referring to the variable num value (loop counter) stored in RAM

location, on output screen with the condition of variable num is less than 10. The for

loop statement will start with the variable num set to 1. Meanwhile, the RAM

location shows the num variable holding the value 1. Figure 4.35 shows the

continuation process which will check the condition before executing the statements

within the for loop structure. The condition for the first check returned true, which

will direct the execution to the printf() statement. After the execution of the printf()

statement, the output screen will display the message “This is value 1”.

Page 45: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

34

Figure 4.36: For loop example Figure 4.37: For loop example

Figure 4.36 shows the continuation process from Figure 4.35. The execution will

loop back to the for statement and the update statement will be carried out. The num

value will be updated to 3, which is shown in the RAM location. The checking

condition process continued, as shown in Figure 4.37. It returns true and the printf()

statement is continued to print “This is value 3” on the output screen.

Figure 4.38: For loop example Figure 4.39: For loop example

Figure 4.38 shows the continuation process from Figure 4.37. The execution will

loop back to the for statement and the update statement will be carried out. The num

value will be updated to 5, which is shown in the RAM location. The checking

condition process continued, and the checking returns true. Then the printf()

statement is continued to print “This is value 5” on the output screen. Figure 4.39

shows that the execution will loop back to the for statement and the update statement

will be carried out again to update the num value to 7, which is shown in the RAM

location. The checking condition process continued, and it returns true. Then the

printf() statement is continued to print “This is value 7” on the output screen.

Page 46: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

35

Figure 4.40: For loop example Figure 4.41: For loop example

Figure 4.40 shows the continuation process from Figure 4.39. The execution will

loop back to the for statement and the update statement will be carried out. The num

value will be updated to 9, which is shown in the RAM location. The checking

condition process continued, and the checking returns true. Then the printf()

statement is continued to print “This is value 9” on the output screen. Figure 4.41

shows that the execution will loop back to the for statement and the update statement

will be carried out again to update the num value to 11, which is shown in the RAM

location. The checking condition process continued, and this time it will return false.

This will cause the whole for loop process to stop execution.

Figure 4.42: For loop example

Figure 4.42 shows the final value of the counter variable, num, stored in the RAM

location is 11 and the final output will consists of 5 lines, as printed “This is value 1”

until “This is value 9”.

Page 47: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

36

4.2 Questionnaire Design

In this study, first information to be obtained from students is programming language

evaluating and course title. To avoid bias problem, students’ information such as

name and student’s identification are not requested. Part A questions are continued to

obtain basic information relate to the study, which refers to students’ interest in

programming language unit. The last part of the questionnaire is designed to test

students on their understanding level in programming language presented through

traditional way and courseware prototype presentation. Refer to Appendix A for the

evaluation form created that incorporates the guidelines given in [13] and with

reference to [14].

4.3 Evaluation Data Collection

The evaluation data collected from two batches of students are tabulated into two

tables by using Microsoft Excel 2007 software. The evaluation data collected from

the batch of students who evaluated on traditional way in teaching programming

language are entered into to the table labelled as programming language unit

evaluation (using traditional approach), as shown in Appendix B. Whereas, the

evaluation data collected from the batch of students who evaluated on the courseware

prototype incorporating visual capabilities in teaching programming language are

entered into to the table labelled as programming language unit evaluation (using

courseware prototype), as shown in Appendix C. Each of these tables consists of the

11 attributes, as stated in Table 3.1.

Page 48: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

T

a

w

u

T

r

f

T

w

u

The data co

analyzed usi

stated in Tab

will be obt

understandin

The results

reported in s

for evaluatio

5.1 Evaluat

The followin

which eval

understandin

Fig

llected from

ing Microso

ble 3.1 in Ch

tained. Whe

ng level of s

of the eval

section 5.1 fo

on on course

tion on Tra

ng figures sh

luating on

ng level of p

ure 5.1: Par

C

RESULTS

m the evaluat

oft Excel 200

hapter 3, stu

ereas, by an

students in t

luation colle

for evaluation

eware prototy

ditional Tea

how the ana

students’

programming

rt A Q1 analy

Normal44%

Disagree11%

SD

P

CHAPTER

AND SIGN

tion forms, a

07 software.

udents’ intere

nalyzing Par

the program

ected from

n on traditio

ype.

aching Meth

alysis of the

interest in

g unit throug

ysis (using t

StroAgr7%

Strongly Disagree

5%

Part A ‐ Q

R 5

NIFICANCE

as shown in

By analyzin

est in learnin

rt B attribu

mming langua

the two bat

onal teaching

hod

data collecte

n learning

gh traditiona

traditional te

ngly ree%

Agr33

Q1

E

n Appendix B

ng the Part A

ng programm

utes (refer to

age unit wil

tches of stu

g approach a

ed from eval

programmin

l teaching ap

eaching appr

ree%

B and C we

A attributes

ming languag

o Table 3.1

l be obtaine

udents will b

and section 5

luation form

ng unit an

pproach.

oach)

ere

as

ge

1),

ed.

be

5.2

ms,

nd

Page 49: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

F

a

p

c

N

b

d

P

F

t

t

p

g

c

h

o

Figure 5.1 s

answered th

program. M

computer p

summing up

Normal exp

basic progra

during pract

Part B quest

Fig

Figure 5.2 s

that they hav

that they ob

perform ave

group of st

consists of

have obtain

of the studen

shows the pi

heir agreeme

Majority of t

rogram, wh

p the percen

erienced in w

amming stru

tical hours. I

tions in the s

ure 5.2: Par

shows the pi

ve obtained

btained norm

eragely in th

tudents agre

16%. The r

a good resu

nts cannot ca

ie chart with

ent on whet

the students

hich is 88%

ntage of no

writing com

ucture and h

It shows tha

survey form.

rt A Q2 analy

e chart with

a good resul

mal result in

he programm

ee that they

rest of the s

ult in progra

apture progr

Disagre29%

P

h the percen

ther they ha

s, agree tha

% of 45 stu

ormal 44%,

mputer progra

have experie

at the 88% o

ysis (using t

h the percent

lt in program

n programmi

ming unit’s te

have obtai

tudents disa

amming lang

ramming log

St

Agr16ee

Strongly Disagree

2%

Part A ‐ Q

ntage of num

ave experien

at they have

udents. The

agree 33%

ams means t

enced in wr

of the studen

traditional te

tage of numb

mming unit.

ing languag

ests or exam

ined good r

agree and st

guage unit. T

gic very well

trongly Agree0%

ree6%

Normal53%

Q2

mber of stud

nced in writ

e experience

88% is cal

and strong

that the stud

riting compu

nts will be a

eaching appr

ber of studen

53% of 45 s

e test, whic

mination. The

result in thi

trongly disag

This implies

.

dents who h

ting comput

ed in writin

lculated fro

gly agree 7%

ents know th

uter program

able to answ

oach)

nts who agre

students state

ch means the

ere is a min

s unit, whic

gree that the

s that majori

has

ter

ng

om

%.

he

ms

wer

ee

ed

ey

nor

ch

ey

ity

Page 50: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

F

t

t

b

d

t

m

c

i

Fig

Figure 5.3 s

that the teac

teaching ma

been deliver

delivered as

teaching ma

material ha

completely

includes 47%

Fig

ure 5.3: Par

shows the pi

ching materi

aterial has be

red as usual

s usual me

aterials prese

as been del

understand

% students a

ure 5.4: Par

rt A Q3 analy

e chart with

al has been

een clearly d

by using tra

aning that

ented to them

livered clea

the teachin

answering no

rt A Q4 analy

Disagree29%

Strongly Disagree

0%

P

Normal40%

Dis2

P

ysis (using t

h the percent

presented cl

delivered by

aditional me

the student

m. 29% of th

arly. This i

ng material

ormal and 29

ysis (using t

StronglyAgree2%

No4

e

Part A ‐ Q

sagree20%

Strongly Disagree

0%

Part A ‐ Q

traditional te

tage of numb

learly. 24%

the lecturer

ethod. The te

s cannot cl

he students

mplies that

ls provided

9% students

traditional te

Agree22%

rmal7%

Q3

Strongly Agree4%

Agr36%

Q4

eaching appr

ber of studen

of students

and 47% sta

eaching mat

learly under

disagree tha

t many stud

by the le

answering d

eaching appr

ee%

oach)

nts who agre

agree that th

ated that it h

erial has bee

rstand all th

at the teachin

dents do n

cturer, whic

disagree.

oach)

ee

he

has

en

he

ng

not

ch

Page 51: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

F

t

p

h

w

a

m

w

F

a

p

p

d

t

T

t

Figure 5.4 s

that the tea

programmin

has helped t

which consi

agree selecti

materials do

write progra

Fig

Figure 5.5 s

answered th

programmin

programmin

disagree it h

the teaching

This implies

skill through

them not abl

shows the pi

ching mater

ng language

them in dev

ists of 80%.

ion and 4%

o help them

amming lang

ure 5.5: Par

shows the pi

heir agreeme

ng skill. 36

ng skill. Whe

helps in deve

g materials d

s that total

h learning p

le to write co

e chart with

rial has help

unit. Majori

veloping thei

. The 80% i

from strong

m to understa

guage.

rt A Q5 analy

ie chart with

ents on the t

6% agree th

ereas, 40% o

eloping their

o help them

76% of 45

programming

omputer pro

Nor40

Disagr22%

P

h the percent

ped them in

ity of the stu

ir knowledg

included 40

gly agree se

and what pr

ysis (using t

h the percen

taught mater

hat the uni

of the 45 stu

r programmi

in developin

students are

g language u

ogram.

StrA

mal0%

ree%

Strongly Disagree

2%

Part A ‐ Q

tage of numb

n developing

udents agree

e of the pro

% from nor

election. Thi

rogramming

traditional te

ntage of num

rial has help

it really he

udents feels

ing skill. No

ng their prog

e able to de

using traditio

rongly Agree7%

Agree29%

Q5

ber of studen

g their know

that the teac

ogramming l

rmal selectio

s shows tha

g language i

eaching appr

mber of stud

ped them to

elps in dev

that it is nor

ormal selecti

gramming at

evelop their

onal method

nts who agre

wledge of th

ching materi

language un

on, 36% fro

at the teachin

s and how

oach)

dents who h

develop the

veloping the

rmal and 24

on means th

t certain leve

programmin

d and some

ee

he

ial

nit,

om

ng

to

has

eir

eir

%

hat

el.

ng

of

Page 52: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

F

t

t

d

i

t

a

F

n

u

Fig

Figure 5.6 s

that the teac

teaching me

disagree and

interest in l

traditional m

added more

Fi

Figure 5.7 s

number on

understandin

0

Q1

Q2

Q3

Q4

Q5

ure 5.6: Par

shows the pi

ching method

ethod used w

d disagree t

learning pro

method has r

in programm

igure 5.7: P

hows the ba

axis-y. Par

ng level on r

5

5

4

3

rt A Q6 analy

e chart with

d is visually

was normal,

that the teac

ogramming.

room for imp

ming langua

Part B analys

ar chart with

rt B in the

repetition str

Disagree22%

Strongly Disagree16%

P

10 15

9

12

ysis (using t

h the percent

y interesting.

which cons

ching metho

This show

provement, w

ge teaching

sis (using tra

h the number

e evaluation

ructure that h

Strongly Agree2%

N

Part A ‐ Q

20

FALSE

traditional te

tage of numb

Majority of

sists of 44%

od does not

s that the t

whereby vis

materials.

aditional teac

r of students

n form is t

has been tau

Agree16%

Normal44%

Q6

25 30

TRUE

eaching appr

ber of studen

f the student

%. Some stud

contribute

teaching me

sualization fe

ching approa

s on axis-x a

to test stud

ught. From th

0 35

33

3

oach)

nts who agre

ts feel that th

dents strong

to build the

ethod used

eatures can b

ach)

and question

dents on the

he bar chart,

40 4

41

42

40

36

ee

he

gly

eir

in

be

ns’

eir

it

45

Page 53: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

a

a

g

c

a

l

a

a

v

B

b

q

c

i

A

w

shows that m

and Q4. Q1

and Q4 are s

given progr

structure exe

correctly, w

are asking st

loop. From

answer mos

actual progr

value in repe

Figure 5.

Based on th

by students,

questions co

correctly, w

students atte

in programm

A is accurat

well and m

Number of 

Questions

Correctly 

Attempted

majority of t

is asking st

similar type

ram stateme

ecution. Wh

which consist

tudents to fi

this analys

st of the trac

ramming log

etition struct

8: Number o

he Figure 5.8

, the column

orrectly. The

which consis

empted 1 que

ming is aver

te, where ma

many studen

1

2

3

4

5

3

4

4

Number o

the 45 stude

tudents on h

of questions

ents. This i

hereas, for Q

ts 40 studen

ind the final

sis, it can b

cing output

gic behind th

ture.

of questions

tradition

8, which sho

n chart show

ere are 31%

sts of 11 s

estion correc

age and belo

ajority of the

nts do not

11

of Question

ents are able

how many tim

s, which are

implies that

2 and Q5, m

nts and 36 st

value of the

be concluded

questions c

he user inter

correctly att

nal teaching

ows the num

ws that most

of 45 studen

tudents atte

ctly. This sh

ow average.

e students ca

completely

ns CorrectNumbe

to give the

mes will the

asking stud

t students a

most of the st

tudents resp

e variable, w

d that altho

orrectly, but

rface, which

tempted by s

approach)

mber of ques

t of the stud

nts are able t

empted 2 qu

hows that stu

This shows

annot capture

understand

23

ly Attempter of Student

correct answ

e while loop

dents to trace

are able to

tudents not a

pectively. Th

which is the

ugh student

t they canno

is the chang

students ana

stions correc

dents are abl

to answer le

uestions cor

udents under

s the results

e programm

d the teach

ted by Stuts

wer in Q1, Q

executed. Q

e the output

capture loo

able to answ

hese question

counter of th

ts are able

ot capture th

ges of count

alysis (using

ctly attempte

e to answer

ss 3 question

rrectly and

rstanding lev

get from Pa

ming logic ve

hing materia

udetns

Q3

Q3

of

op

wer

ns

he

to

he

ter

ed

3

ns

3

vel

art

ry

als

Page 54: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

p

p

p

i

v

l

5

T

w

u

F

a

p

c

w

I

f

provided by

programmin

programmin

introduce to

visualization

learning pro

5.2 Evaluat

The followin

which eval

understandin

Figure 5.9 s

answered th

program. M

computer pr

writing com

structure and

It shows tha

form.

y the lectur

ng language

ng skill. Th

o overcome

n may be a

ogramming lo

tion on Cour

ng figures sh

luating on

ng level of p

Figure 5.9:

shows the pi

heir agreeme

Majority of t

rogram, wh

mputer progra

d have exper

at the all stu

rer. Besides

e, some st

herefore, ma

the ineffic

helpful wa

ogic.

rseware Pro

how the anal

students’

programming

Part A Q1 a

ie chart with

ent on whet

the students

hich is total

ams meanin

rienced in w

udents will b

Agree53%

Norma11%

P

s that, throu

tudents are

ay be alter

ciency in tr

ay in improv

ototype

lysis for the

interest in

g unit throug

analysis (usi

h the percen

ther they ha

s, agree tha

100% of 4

ng that the st

writing comp

be able to an

al

Disagree0%

Part A ‐ Q

ugh traditio

e not effec

rnative teac

raditional m

ving student

data collecte

n learning

gh coursewar

ng coursewa

ntage of num

ave experien

at they have

45 students

tudents know

puter program

nswer Part B

Strongly Agree36%

Q1

onal method

ctively dev

ching metho

method. As

ts understan

ed from eva

programmin

re prototype

are prototype

mber of stud

nced in writ

e experience

. Normal ex

w the basic

ms during pr

B questions

Strongly Disagree

0%

d in teachin

eloping the

od should b

a conclusio

nding level

luation form

ng unit an

e presented.

e)

dents who h

ting comput

ed in writin

xperienced

programmin

ractical hour

in the surve

ng

eir

be

on,

in

ms,

nd

has

ter

ng

in

ng

rs.

ey

Page 55: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

F

t

t

p

w

w

p

F

Figure 5.10

that they hav

that they ob

perform ave

students agr

which consi

students disa

which is 2

programmin

F

Figure 5.10

shows the p

ve obtained

btained norm

eragely in t

ree and stron

ists of 45%

agree that th

%. This im

ng logic well

Figure 5.11

: Part A Q2

pie chart with

a good resul

mal result in

the program

ngly agree t

and 31% r

hey have obt

mplies that

l.

: Part A Q3

Norm22%

Disa2

P

Agree40%

Nor9

P

analysis (us

h the percent

lt in program

n programmi

mming unit’

that they ha

respectively.

tain a good

majority o

analysis (us

Agree45%

mal%

agree2%

Part A ‐ Q

St

rmal9%

Part A ‐ Q

ing coursew

tage of num

mming unit.

ing languag

s tests or e

ave obtained

. There are

result in pro

f the stude

ing coursew

Strongly Agree31%

StroDisa

0

Q2

trongly Agree51%

Disagree0%

Q3

ware prototyp

mber of stude

22% of 45 s

e test, whic

examination

d good resul

only minor

ogramming l

ents are abl

ware prototyp

ongly gree%

e StronglyDisagre

0%

pe)

nts who agre

students state

ch means the

. Majority

lt in this un

group of th

language un

le to captu

pe)

y e

ee

ed

ey

of

nit,

he

nit,

ure

Page 56: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

F

t

t

t

p

d

t

d

o

t

a

F

t

p

m

T

t

i

u

Figure 5.11

that the teac

teaching ma

that the tea

prototype. T

delivered as

teaching ma

disagree tha

of the studen

through the

and strongly

F

Figure 5.12

that the tea

programmin

materials do

Thus, it can

them in de

included 7%

strongly agr

understand w

shows the p

ching materi

aterial has be

aching mate

There is 9%

s usual, me

aterials pres

at the teachin

nts do under

use of cours

y agree.

Figure 5.12

shows the p

ching mater

ng language

o help them

be conclude

veloping th

% from nor

ree selection

what program

No7

pie chart with

al has been

een clearly d

erial has b

% of 45 stud

eaning that

sented to th

ng material h

rstand most o

seware proto

: Part A Q4

pie chart with

rial has help

unit. Norma

m in develop

ed that all stu

heir knowled

rmal selecti

n. This show

mming langu

Agree40%

ormal7%

P

h the percent

presented cl

delivered by

een clearly

dents stated

the student

hem. None o

has been del

of the teachi

otype, which

analysis (us

h the percent

ped them in

al selection m

ping their k

udents agree

dge of the

on, 40% fr

ws that the

uage is and h

Disagree0%

Part A ‐ Q

tage of num

learly. 40%

y the lecture

delivered

that the tea

ts cannot cl

of the stude

livered clear

ing materials

h is total of

ing coursew

tage of num

n developing

means that s

knowledge o

e that the tea

programmin

rom agree s

teaching m

how to write

StronglyAgree53%

Q4

mber of stude

of students

r and 51% s

through th

aching mate

learly under

ents disagre

rly. This imp

s delivered b

91% whose

ware prototyp

mber of stude

g their know

some parts o

of the progr

aching mater

ng language

selection an

materials do

e programmi

StrongDisagr

0%

nts who agre

agree that th

strongly agre

e coursewa

erial has bee

rstand all th

ee or strong

plies that mo

by the lectur

answer agre

pe)

nts who agre

wledge of th

of the teachin

ramming un

rial has helpe

e unit, whic

nd 53% fro

help them

ing language

gly ree

%

ee

he

ee

are

en

he

gly

ost

rer

ee

ee

he

ng

nit.

ed

ch

om

to

e.

Page 57: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

F

a

p

p

d

n

t

l

l

v

F

Figure 5.13

answer thei

programmin

programmin

developing t

normal in he

that the teac

level. This i

learning pr

visualization

F

Figure 5.13

shows the

ir agreemen

ng skill. 42

ng skill and 5

their program

elping them

ching materi

implies all s

ogramming

n features.

Figure 5.14

: Part A Q5

pie chart w

nt on the ta

2% agree th

51% of 45 st

mming skill.

developing

ials do help

students are

language

: Part A Q6

Agree42%

Normal7%

P

Agree38%

P

analysis (us

with the per

aught mater

hat the uni

tudents stron

. There is on

their progra

them in dev

able to deve

using cour

analysis (us

Part A ‐ Q

Normal0%

Part A ‐ Q

ing coursew

rcentage of

rial has hel

it really he

ngly agree th

nly 7% of the

amming skill

veloping thei

elop their pr

seware pro

ing coursew

Strongly Agree51%

Disagr0%

Q5

Strongly Agree62%

Disagr0%

Q6

ware prototyp

number of

lped them

elps in dev

hat the unit r

e 45 student

l. Normal se

ir programm

rogramming

totype that

ware prototyp

ree StronDisag

0%

reeStrongDisagr

0%

pe)

students wh

develop the

veloping the

really helps

s feel that it

election mean

ming at certa

g skill throug

incorporat

pe)

gly ree

%

gly ree

ho

eir

eir

in

is

ns

ain

gh

tes

Page 58: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

F

t

t

w

v

F

n

u

q

c

a

u

a

c

o

c

Figure 5.14

that the tea

teaching me

which inclu

shows that

visualization

Figure 5.15

number on

understandin

shows that

questions, w

correctly att

attempted Q

using traditi

students in Q

answer corre

correct respe

of variable.

courseware

0

1

2

3

4

5

1

1

shows the p

aching meth

ethod does

des 62% for

the teachin

n features do

Figure 5.1

shows the b

axis-y. Par

ng level on r

majority of

which cons

tempted Q2

Q4, and 44

ional teachi

Q2 and Q5

ectly, compa

ectively. The

. From this

prototype fo

5 10

3

3

pie chart with

hod is visua

contribute t

r strongly ag

ng method

o build their

15: Part B an

bar chart with

rt B in the

repetition str

the 45 stud

ists of 42

, 34 student

students co

ing approach

has been ap

ared to previ

ese are the q

s analysis,

or repetition

0 15

11

h the percent

ally interest

to build the

gree selectio

using cour

interest in le

nalysis (usin

h the numbe

e evaluation

ructure that h

dents are ab

students co

ts correctly

rrectly attem

h, it can be

pparently im

iously only 5

questions req

it can be c

structure to

20 25

FALSE TR

tage of num

ting. Every

ir interest in

on and 38%

rseware pro

earning prog

g coursewar

er of students

n form is t

has been tau

ble to give t

orrectly atte

attempted Q

mpted Q5. C

e seen that

mproved, whi

5 and 9 stude

quiring stude

concluded a

students, ma

5 30

RUE

mber of stude

students a

n learning p

for agree s

ototype that

gramming lan

re prototype)

s on axis-x a

to test stud

ught. From th

the correct a

empted Q1,

Q3, 42 stud

Comparing

correct answ

ich is 97% o

ents attempt

ents to find t

after the pr

ajority of the

35 40

34

nts who agre

agree that th

programmin

selection. Th

t incorporat

nguage.

)

and question

dents on the

he bar chart,

answer for a

, 44 studen

dents correct

to Figure 4

wer given b

of 45 studen

ted Q2 and Q

the final valu

resentation

em are able

0 45

42

44

42

44

ee

he

ng,

his

tes

ns’

eir

it

all

nts

tly

49,

by

nts

Q5

ue

of

to

Page 59: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

c

c

B

b

q

q

3

T

u

c

p

r

l

v

c

l

r

capture the

changes of c

Figure 5.1

Based on th

by students,

questions co

questions co

students atte

31% of 45 s

students und

This shows t

understand m

courseware

programmin

result also p

learning pr

visualization

certain leve

logic, espec

repetition str

0

5

10

15

20

25

30

35N

actual progr

counter value

16: Number

e Figure 5.1

, the bar cha

orrectly, wh

orrectly and

empted less

students are

derstanding l

the results g

most of the t

prototype. T

ng language

proved every

ogramming

n features. T

el in improv

cially able t

ructure.

0

1

Number o

ramming log

e in repetitio

of questions

cour

16, which sh

art shows th

ich consists

only 3 stud

than 3 que

able to answ

level in prog

get from Part

teaching mat

Thus, the tea

is and how

y student are

language

Therefore, it

ving student

to allow th

0

2

of Quest

gic behind th

on structure.

s correctly at

rseware proto

hows the num

hat majority

of 29 stude

dents answe

estions corre

wer less 3 qu

gramming ha

t A is accura

terials delive

aching mater

w to write p

e able to dev

using cour

can be conc

ts understan

hem visualiz

3

3

tions Co

he user inte

ttempted by

otype)

mber of ques

of the stude

ents. There

er 3 question

ectly. Comp

uestions corr

as been appa

ate, where m

ered by the l

rials do help

programming

velop their pr

seware pro

cluded that v

nding level i

ze the value

13

4

orrectly A

rface, which

students ana

stions correc

ents are able

are 13 stude

ns correctly

paring to Fig

rectly. This s

arently increa

majority of th

lecturer throu

p them to un

g language.

rogramming

totype that

visualization

in learning

e changes o

29

5

Attempt

h refers to th

alysis (using

ctly attempte

e to answer

ents answer

. None of th

gure 50, on

shows that th

ased.

e students ca

ugh the use

derstand wh

This analys

g skill throug

incorporat

n do helpful

programmin

of counter

ted

Numbeof Studen

he

g

ed

5

4

he

nly

he

an

of

hat

sis

gh

tes

at

ng

in

er 

ts

Page 60: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

49

5.3 Conclusion

High failure rate problem in programming courses happened in almost every

educational institution. This is due to the difficulties to deliver abstract and logical

thinking materials to students by only using traditional teaching approach. After the

completion of this research, an easy way in leaning programming logic by using

visualization is formulated. With this approach that has been presented through the

courseware prototype, 45 first year DIT students in TARC are requested to carry an

evaluation on their interest in learning programming and tested their understanding

level in C programming repetition structure. It can be seen that majority of the

students can understand most of the repetition structure teaching materials delivered

to them through the use of courseware prototype that incorporate visualization

capabilities. Thus, it leads them to understand the repetition structure well and enable

each of them to score at least 3 questions correctly in the Part B of the questionnaire,

which is test their understanding level on the repetition structure taught. Moreover,

another essential fact results from the survey is that every student agree that using

courseware prototype with incorporation of visualization features will help them to

develop their programming skill more efficiently.

As a conclusion, visualization incorporated into traditional teaching method is

helpful in improving students understanding level in learning programming logic.

With this formulation, it may provide educators an alternative in teaching

programming logic, which may help them easily express the abstract thinking of

programming logic in their teaching material. Thus, it may create an effective way in

delivery the teaching materials to students.

5.4 Limitation and Future Work

Some future work that can extend this research is to create a complete courseware for

C programming language, which may incorporate the traditional teaching method in

teaching the principles of programming languages and visual capabilities in showing

the actual execution of programming logic hidden from the user interface.

Page 61: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

50

REFERENCES [1] WordNet 3.0 (2008). [Online]. Available:

http://www.thefreedictionary.com/programming

[2] Bruce, C., Buckingham, L., Hynd, J., McMahon, C., Roggenkamp, M. &

Stoodley, I. (2004). Ways of Experiencing the Act of Learning to Program: A

Phenomenographic Study of Introductory Programming Students at

University. Journal of Information Technology Education, Volume 3, pp. 143

– 160.

[3] Eckerdal, A. & Berglund, A. (2004). What Does It Take to

Learn ’Programming Thinking’?. Journal of Information Technology

Education Volume 3, ACM.

[4] Feronato, E. (2006). 10 tips that will help you when you are about to learn a

new language [Online]. Available: http://www.emanueleferonato.com

[5] Gal-Ezer, J. (1998). Teaching Software Designing Skills. The Open

University of Israel.

[6] Nakashima, T., Matsuyama, C., & Ishii, N. (2007). Analysis of Source Codes

Created by Beginners in Programming Education. Eighth ACIS International

Conference on Volume: 2 July 30 2007 - Aug. 1 2007, pp. 774-78.

[7] Shindo, Y. (2000). Programming education based on computer graphics

animation. Proceedings. International Workshop on 2000, pp. 292-293.

[8] Matsuda, H. & Shindo, Y. (2001). Effect of using computer graphics

animation in programming education. Proceedings. IEEE International

Conference on 2001, pp. 164-165.

Page 62: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

51

[9] Brusilovsky, P., Calabrese, E., Hvorecky, J., Kouchnirenko, A., & Miller, P.

(1997). Mini-languages: A Way to Learn Programming Principles. Education

and Information Technologies 2 (1), pp. 65-83.

[10] Leo, N. (2003). How hard is it to learn programming? [Online]. Available: http://ask-leo.com

[11] Admin of Geek Files (2007). 5 Tips on Improving Programming Logic

[Online]. Available: http://www.sunilb.com/programming/5-tips-on-

improving-programming-logic

[12] Ohki, M. & Hosaka, Y. (2003). A program visualization tool for program

comprehension. Proceedings. 2003 IEEE Symposium on 28-31 Oct. 2003, pp.

263- 265.

[13] Malhotra, N. K. (2006). Chapter 5 - Questionnaire Design And Scale

Development [Online]. Available:

http://www.terry.uga.edu/~rgrover/chapter_5.pdf

[14] TARC Unit & Instructor Evaluation Survey form

[15] Whitney, D. R. (1972). The Questionnaire as a Data Source [Online].

Available: http://wbarratt.indstate.edu/documents/questionnaire.htm

[16] Shelly, G. B., Cashman, T. J., & Vermaat, M. E. (2008). Microsoft Office

2007: Introductory Concepts and Techniques. Thomson Course Technology.

[17] O’Leary, T. J., O’Leary & L. I., Lee K. M. (2007). Microsoft Excel 2007.

McGraw Hill.

[18] Lowe, D. (2007). Microsoft Office Power Point 2007 for Dummies. Willey

Publishing, Inc.

Page 63: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

52

[19] Satzinger, J., Jackson, R. & Burd, S. (2009). System Analysis & Design In A

Changing World 5th edition. Course Technology.

[20] Yasumura, M., Arisawa, M. & Saito, N. (1991). A Case Study of Computer

Literacy Education. IPSJ, Vol.32, No.12. Japan, Dec. 1991, pp. 1310-1316.

[21] Matsuyama, C., Nakashima, T. & Ishii, N. (2004). An Attempt of Making

Program-Generated Animation in a Beginners’ Programming Class. IEEJ

Trans. EIS, Vol.124, No.12. Japan, Dec. 2004, pp. 2482-2488.

[22] Matsuyama, C., Nakashima, T. & Ishii, N. (2005). Animation Creation in

Computer Software Programming Education and its Evaluation. Proceedings

6th ACIS International Conference on Software Engineering, Artificial

Intelligence, Networking and Parallel /Distributed Computing (SNPD), 2005,

pp. 346-351.

[23] Brusilovsky, P., Grady, J., Spring, M. & Lee, C. H. (2006). What Should Be

Visualized?. The SIGCSE Bulletin 44 Volume 38, Number 2, 2006.

[24] Naps, T.L., Eagan, J.R., & Norton, L.L. (2000). An environment to actively

engage students in Web-based algorithm visualizations. ACM SIGCSE

bulletin. 32, 1 (2000), pp. 109-113.

[25] Kumar, A.N. (2003). Model-based generation of demand feedback in a

programming tutor. In: Kay, J. (ed.) Supplementary Proceedings of the 11th

International Conference on Artificial Intelligence in Education (AI-ED

2003). IOS Press, Amsterdam, 2003, pp. 425-432.

[26] Brusilovsky, P. and Su, H.-D. (2002). Adaptive Visualization Component of a

Distributed Web-based Adaptive Educational System. In: Intelligent Tutoring

Systems. Vol. 2363. Springer-Verlag, Berlin, 2002, pp. 229-238.

Page 64: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

53

[27] Ma, L., Ferguson, J., Roper, M., Ross, I., & Wood, M. (2008). Using

Cognitive Conflict and Visualisation to Improve Mental Models Held by

Novice Programmers. SIGCSE’08, March 12–15, 2008.

[28] (2009, Sept.) Educational software [Online]. Available:

http://en.wikipedia.org/wiki/Courseware#Courseware

[29] Marshall, A. D. (1994 - 2005). Programming in C

UNIX System Calls and Subroutines using C [Online]. Available:

http://www.cs.cf.ac.uk/Dave/C/CE.html

[30] (1995, Jan.) C programming courseware Web site [Online]. Available:

http://www2.its.strath.ac.uk/courses/c/

[31] Brown, B. (1984-2000). C Programming, v2.7. [Online]. Available: 

http://physinfo.ulb.ac.be/cit_courseware/cprogram/default.htm

Page 65: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

54

Appendix A

Programming Language Unit Evaluation Survey

Please indicate the extent to which you believe these statements describe your

experience in programming language unit (Part A) and your understanding level

(Part B).

Programming Language evaluating: _________________________ Course

title: _____________

Part A

Instruction: You should fill in your responses with a tick “ ” in the appropriate

column. If you think a statement is a good description, please mark “strongly agree”.

If you think it is a poor description, then please mark as appropriate.

N

o.

Questions Strongly

Agree

Agree Normal Disagree Strongly

Disagree

1. You have experience in

writing computer program.

2. You obtain a good result in

programming unit.

3. The taught material has been

presented clearly.

4. The taught material has helped

you develop your knowledge

of the unit.

5. The taught material has helped

you develop your

programming skill.

6. The teaching method is

visually interesting.

Page 66: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

55

Part B

Instruction: Based on your C programming knowledge, answer the following

questions. Please circle “ ” on the appropriate answer.

1. The while loop statements will be carried out how many times?

num = 1;

while(num<=10){

….

num++;

}

a. 0

b. 1

c. 9

2. What is the final value of the variable age?

age = 13;

while(age<=20){

printf(“I’m a teenager!\n”);

age+=3;

}

a. 16

b. 19

c. 20

3. What is the output of the following program statements?

x=1;

do{

printf(“I Love U\n”);

x+=2;

}while(x<3);

a. I Love U

b. I Love U

I Love U

d. 10

c. 11

d. I Love U I Love U

c. nothing

d. 21

c. 22

a.

Page 67: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

56

c. I Love U

I Love U

I Love U

4. Trace the output of the following for loop program statements.

for(count=1; count<6; count++){

printf(“$ ”);

}

a. $ $ $ $ $ $

b. $ $ $ $ $

c. $ $ $ $

5. What is the final value of the variable count in Q4?

a. 7

b. 6

c. 5

d. $ $ $

c. nothing

d. 0

c. 1

Page 68: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

57

Appendix B

Programming Language Unit Evaluation (using traditional approach)

No.

Part A Part B

Q1 Q2 Q3 Q4 Q5 Q6 Q1 Q2 Q3 Q4 Q5

1 1 3 3 3 3 4 T T T T T

2 3 3 2 3 4 4 T F T T T

3 4 3 2 2 2 5 T F T T T

4 3 3 2 2 2 1 T F F T F

5 3 2 2 4 3 1 T F T T F

6 3 3 2 3 2 3 T F T T F

7 5 4 4 5 3 3 T F T T F

8 4 4 3 4 5 3 T F T T F

9 4 3 3 4 4 2 T F T T F

10 4 3 3 4 4 3 T F T T F

11 3 3 4 3 3 3 T F F T F

12 4 4 4 5 5 3 T F T T F

13 4 4 3 4 4 3 T F T T F

14 4 3 3 2 2 2 T F T T F

15 4 2 2 2 2 1 T F T T T

16 3 2 2 3 2 1 T T T T F

17 1 4 3 2 2 1 T F T T F

18 2 2 4 2 2 4 T F T T F

19 4 3 3 3 3 4 T F T T F

20 3 2 4 3 3 4 T F T T F

21 3 3 2 3 3 2 T F T T F

22 2 2 5 4 3 3 T F T T F

23 2 2 2 2 4 3 T F F T F

24 3 2 3 3 3 3 T F F F T

25 4 3 4 4 3 2 T F T T F

26 3 3 4 4 4 3 T F F T F

Page 69: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

58

27 2 2 3 3 3 3 T F T T F

28 4 3 4 4 4 4 T F T T F

29 3 2 2 3 3 2 T F F T F

30 3 3 3 4 4 3 T F T T F

31 3 2 3 3 3 2 T F F F F

32 5 3 3 3 3 2 T T T T T

33 5 3 3 4 4 3 T T T T T

34 4 4 3 3 3 2 T T T T T

35 4 3 3 4 4 3 T F T T F

36 4 4 3 3 3 3 T F F T F

37 4 3 4 4 5 4 T F T T F

38 3 3 3 4 4 3 T F F T F

39 3 2 2 3 3 2 T F T T F

40 3 3 3 3 3 3 F F F T F

41 3 1 2 2 1 1 F F F F T

42 3 3 3 4 4 3 T F F T F

43 2 2 3 2 2 2 F F T T F

44 3 3 2 3 2 1 F F T T F

45 3 3 4 4 4 3 T F T T F

Page 70: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

59

Appendix C

Programming Language Unit Evaluation (using Courseware Prototype)

No.

Part A Part B

Q1 Q2 Q3 Q4 Q5 Q6 Q1 Q2 Q3 Q4 Q5

1 3 4 5 5 5 5 T T F T T

2 3 3 4 5 4 4 F T F T T

3 5 4 5 5 5 5 T T F F T

4 5 5 5 5 5 5 T T F T T

5 4 4 4 4 4 4 T T T T T

6 5 4 5 5 4 5 T T T T T

7 5 5 5 5 4 4 T T T T T

8 4 4 5 5 5 5 T T F T T

9 4 4 5 5 5 5 T T F T T

10 4 4 5 5 5 5 T T T T T

11 4 3 3 3 3 5 T T T T T

12 4 4 5 4 5 5 T T T T T

13 4 2 3 4 4 4 T T T T T

14 5 4 5 5 5 4 T T T F T

15 4 4 5 5 5 5 T T T T T

16 4 4 5 5 5 5 T T T T T

17 4 4 4 4 4 4 T T T T T

18 5 5 5 5 5 5 T T T T T

19 5 5 4 5 5 5 T T T T T

20 5 5 5 5 5 5 T T T T T

21 5 5 5 5 5 5 T T T T T

22 3 3 5 4 5 5 F T T T F

23 4 5 4 5 5 4 T T T T T

24 4 5 4 5 5 4 T T T T T

25 4 3 3 3 3 4 T T T T T

26 4 5 4 5 4 5 T T T T T

Page 71: USING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC · PDF fileUSING VISUALIZATION AS AN EASY WAY TO LEARN PROGRAMMING LOGIC ... pengaturcaraan sangat penting untuk membina

60

27 5 5 5 5 5 5 T T T T T

28 4 4 4 4 4 4 T T T T T

29 4 3 3 3 3 4 T T T T T

30 5 4 5 4 5 5 T T T T T

31 5 5 5 4 4 5 T T F T T

32 4 3 4 4 4 4 T T T T T

33 4 3 4 4 4 4 T T T T T

34 4 4 4 4 4 4 T T T T T

35 5 5 5 5 5 5 T T F T T

36 4 4 5 5 4 4 T T F T T

37 5 5 5 5 5 5 T T F T T

38 5 5 5 5 5 5 T T F T T

39 5 4 4 4 4 5 F T T T T

40 4 4 4 4 4 5 T T T T T

41 4 3 4 4 4 5 T T T T T

42 3 3 4 4 4 4 T T T T T

43 3 4 4 4 5 5 T T T F T

44 4 4 4 4 4 5 T T T T T

45 4 3 4 4 4 4 T F T T T