using visualization as an easy way to learn programming logic · pdf fileusing visualization...
TRANSCRIPT
USING VISUALIZATION AS AN EASY WAY TO LEARN
PROGRAMMING LOGIC
LOO SZE PHEI
UNIVERSITI UTARA MALAYSIA MSc. (IT) 2009
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.
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.
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.
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.
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
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
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
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
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)
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
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
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.
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.
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.
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
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
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.
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.
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
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.
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.
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.
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].
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
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.
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
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
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
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.
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
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 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
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
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.
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
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.
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.
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.
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.
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.
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
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
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.
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”.
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.
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”.
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.
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
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
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
y
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
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
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
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
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
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
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
y
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.
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
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
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
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.
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.
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.
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.
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
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.
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.
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
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
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
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
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