Escolar Documentos
Profissional Documentos
Cultura Documentos
a r t i c l e i n f o a b s t r a c t
Article history: Web-based programming has become a popular and vital issue in recent years. The rapid growth of var-
Received 6 March 2008 ious applications not only demonstrates the importance of web-based programming, but also reveals the
Received in revised form 26 July 2008 difficulty of training relevant skills. The difficulty is owing to the lack of facilities such as online coding,
Accepted 30 July 2008
debugging and peer help to assist the students in promoting their cognitive development in web-based
Available online 12 August 2008
programming. To cope with these problems, in this paper, a web-based programming assisted system,
‘‘WPAS”, is proposed, which is able to support five programming activities with various difficulty levels
Keywords:
of cognition based on Bloom’s cognitive taxonomy. WPAS provides online coding, debugging and anno-
Web-based programming
Digital learning environment
tation tools to conduct the training and peer assessment for web-based programming. Experimental
Cognitive development results of 47 undergraduate students show that the innovative approach is helpful to the students in
Teaching/learning strategies improving their cognitive development in Web-based programming. In addition, according to the results
of the questionnaire, most of the participants perceived the ease of use and usefulness of the proposed
system. Therefore, this study suggests that teachers could design Web-based programming activities sup-
ported by the WPAS system to improve students’ cognitive development in web-based programming.
Ó 2008 Elsevier B.V. All rights reserved.
0953-5438/$ - see front matter Ó 2008 Elsevier B.V. All rights reserved.
doi:10.1016/j.intcom.2008.07.002
W.-Y. Hwang et al. / Interacting with Computers 20 (2008) 524–534 525
as variable block definition or control block building; afterwards should be facilitated to develop their cognitive structure of pro-
these skills can be combined together to solve the whole problem gramming in an appropriate way. In other words, learners’ cogni-
(Lieberman, 1986). Moreover, peer program assessment is helpful tive development in programming should be taken into account
for students in developing high level cognition for evaluating the during the design of programming learning activities. Lister and
quality of programs (Fallows and Chandramohan, 2001). Both pro- Leaney (2003) illustrated the following learning activities that stu-
gram gap filling and peer program assessment are important for dents are expected to learn in programming courses:
cognitive development in programming, but are not easily con-
ducted if no proper assisting tools are provided. The requirement (1) Knowledge activities including ‘‘memorize”, ‘‘state”, ‘‘name”
for assistance is especially highlighted in web-based programming and ‘‘recognize”. For example, students memorize the elements,
because complex considerations of server–client and database syntax, structure and methods of one programming language.
environments are usually needed. Thus, it has become an impor- (2) Comprehension activities including ‘‘restate” and ‘‘translate”.
tant and challenging issue to design computer-assisted tools that For example, students restate how a program executes.
take cognitive development of programming learning into (3) Application activities including ‘‘calculate”, ‘‘write” and
consideration. ‘‘solve”. For example, students accomplish a specific programming
Based upon Bloom’s cognitive taxonomy (1956), this study task such as giving partial code or gap filling according to some
attempts to design a series of web-based programming learning expressions.
activities to enhance students’ cognitive developments in (4) Analysis activities including ‘‘categorize”, ‘‘differentiate” and
web-based programming. Moreover, a Web-based Programming ‘‘discriminate”. For example, students identify whether a complete
Assisted System, WPAS, has been developed to support the learn- program is correct or not.
ing activities. From some practical applications of WPAS, it can (5) Synthesis activities including ‘‘create”, ‘‘design” and ‘‘plan”.
be seen that the innovative approach is helpful to the students in For example, students generate a complete program to solve a
both the cognitive and affective aspects for learning Web-based problem.
programming. In detail, after conducting the experiment, the ped- (6) Evaluation activities including ‘‘assess”, ‘‘evaluate” and
agogical findings show that the ‘‘program gap filling” activity is ‘‘judge”. For example, students review programs written by other
more difficult and needs much more consideration in the program- students and give comments, then the instructor grades the
ming learning than ‘‘program debugging”. The activity of ‘‘peer comments.
assessment” is found to be the most strongly related to students’
Programming concepts cannot be directly transferred from
learning achievements, and it is the best predictor variable of
instructors to students; they must be acquired actively by the stu-
learning achievements. As for evaluating the WPAS, most of the
dents (Ben-Ari, 2001). This research applies several programming
students are satisfied with the system.
learning activities, based on Bloom’s taxonomy of cognition and
Lister’s research, to facilitate students’ active learning and contin-
2. Literature review
uous practice in an experimental course.
Table 1
The criteria to evaluate students’ programs
peer assessment has been applied in many different courses. Peer to solve problems and peer assessment, which correspond to the cog-
assessment is generally considered to be effective in promoting nitive levels, evaluation, synthesis, analysis, application, knowledge
students’ higher cognitive skills (Fallows and Chandramohan, and comprehension, in Bloom’s taxonomy.
2001), since students use their knowledge and skills to interpret,
analyze and evaluate others’ work in order to clarify and correct 3.1. Participants and subject
it (Segers and Dochy, 2001; Ballantyne et al., 2002). The use of peer
assessment is claimed to enhance students’ evaluative capacities Forty-seven undergraduate students majoring in Management
(Fallows and Chandramohan, 2001). Information Systems participated in the experiment. Most of the
students had basic computer concepts, but had no experience in
2.3. Criteria for evaluating students’ programs computer programming. The experimental course, which was car-
ried out from October 2005 to January 2006, was entitled ‘‘active
It is an important issue to evaluate and judge students’ pro- server page (ASP) programming” and took place three hours per
grams in all kinds of programming courses (Jackson, 1996). The week in a computer classroom. In addition to the in-class practice,
correctness of a program is a basic criterion when a teacher is judg- several learning activities were conducted in the WPAS environ-
ing the quality of students’ programs. To evaluate the correctness ment as homework. With the help of the WPAS, the researchers
of a program, three kinds of programming errors are classified were able to observe the learning behaviors of the students and
and employed: syntax errors, logical errors and runtime errors analyze the data at the end of each activity to find some interesting
(Jackson, 1996). Syntax errors will occur when a programmer mis- learning phenomena.
uses the syntax of a programming language. Logical errors (or
semantic errors) will occur when the logical thinking of a program- 3.2. Instructional design and learning activities
mer is not correct enough. Runtime errors will occur in many situ-
ations. For example, if a programmer does not notice the value Three topics were arranged in the following sequence.
domain of a variable, an ‘‘overflow/underflow” runtime error could
be encountered. The next important criterion to evaluate the qual- Topic 1: The programming concepts and syntax of ASP.
ity of students’ programs is efficiency. The quality of programs can Topic 2: Web form, variables, data passing and objects of ASP.
be finely distinguished by their efficiency when they run correctly. Topic 3: Concepts of database programming and system
Many factors, like algorithms and data structures, will influence a implementation.
program’s efficiency. The other important programming criterion
is programming style (readability). A program with a good program- Due to the limitations of the experiment period, this research
ming style is preferable since it is more readable and focused on topics 1 and 2 of the course. Fig. 1 illustrates the proce-
understandable. dure of the five activities. The learning activities were conducted in
When judging the quality of students’ programs, the above the following sequence: programming concepts testing, program gap
three criteria are taken into account in this study. Table 1 lists cri- filling, and so on. As shown in Fig. 2, these activities correspond to
teria for evaluating students’ programs from the previous related one or more cognitive levels in Bloom’s taxonomy, that is, evalua-
research (Jackson, 1996; Cheang et al., 2003; Sitthiworachart and tion, synthesis, analysis, application, knowledge and comprehension.
Joy, 2004). Note that knowledge and comprehension were considered together
and corresponded to the first activity, programming concepts test-
2.4. Technology acceptance model: TAM ing, in this research.
Peer
Evaluation
assessment
Fig. 2. The five programming learning activities corresponding to Bloom’s taxonomy of educational objectives.
3.3. Design and development of the WPAS system online. Fig. 4 shows a snapshot of ‘‘program gap filling”. Also, with
the online coding tool, students were allowed to upload programs
The WPAS system was designed and developed to support Web- for practice, and were encouraged to do so. After the programs
based programming as mentioned above. The research data, such were uploaded, they were depicted as a list of hyperlinks in WPAS.
as the programs and the homework uploaded by the students, If the hyperlinks were clicked, the corresponding programs would
were collected and stored in the WPAS database. Moreover, stu- be executed, and the execution results as well as the source codes
dents were encouraged to make some annotations on the learning were also depicted simultaneously, as shown in Fig. 5. This mech-
materials (e.g., the demonstrated programs introduced by the anism facilitated the students to modify and improve their web
teachers). The annotations and notes made by the students were programs more conveniently and efficiently.
helpful to them while they were reviewing the materials after
class. Fig. 3 illustrates an overview of the WPAS system architec-
3.3.2. Annotation tool for assessing the programs
ture. Three main tools were provided by the system:
Students were encouraged to make annotations on the supple-
mental materials or programs uploaded by any other student. In
3.3.1. Online coding tool
this way, they could share their knowledge, comments and sugges-
An online coding tool was utilized in the ‘‘program gap filling”,
tions with each other. Fig. 6 illustrates annotations made by differ-
‘‘program debugging” and ‘‘coding to solve problems” activities.
ent students on a single program. The functionality of the
For example, during the ‘‘program gap filling” activity, the students
annotation tool included highlighting, underlining and comment
were asked to finish incomplete programs by writing codes in one
boxes (Hwang et al., 2007). Also, the annotation tool provided in
assigned blank block. Once students finished the program gap fill-
WPAS was utilized in the ‘‘programming concepts testing” and
ing and submitted their program within the online WPAS environ-
‘‘peer assessment” activities. During the ‘‘programming concepts
ment, the system would try to execute the program and instantly
testing” activity, students were asked to use the annotation tool
show the execution results with the source codes. If errors
to give their answers right beside the web-based assignments. As
occurred, students could modify their source codes immediately
for ‘‘peer assessment”, students were asked to review the programs
Fig. 4. Using the online coding tool in the ‘‘program gap filling” activity.
1. Learning Period
2. Content of curriculums
Coding to solve
problem
Learning
Program debugging
achievem ents
Table 3
Pearson correlation between students scores for the five programming activities
Pearson correlation Programming concepts testing Program gap filling Program debugging Coding to solve problems Peer assessment
** ** **
Programming concepts testing 1 .386 .662 .577 .493**
Program gap filling .386** 1 .351* .532** .548**
Program debugging .662** .351* 1 .496** .397**
Coding to solve problems .577** .532** .496** 1 .608**
Peer assessment .493** .548** .397** .608** 1
*
p < 0.05.
**
p < 0.01.
Table 4
The results of simple regression between the scores for the five programming learning activities and learning achievements
investigate whether the above five activities were sufficiently inde- low achievement group in each activity. That is, the better the stu-
pendent, collinearity was considered in multiple regressions. dents performed in each learning activity, the higher the learning
According to statistics theory, Vif (Variance inflation factors) mea- achievements. Note that ‘‘program gap filling” (p = .002) is more
sures how much the variance of the standardized regression coef- significant than ‘‘program debugging” (p = .023), even though ‘‘pro-
ficient b is inflated by collinearity. According to Neter et al., there gram debugging” is supposed to be a higher cognition activity in
was no collinearity between the predictor variables if Vif value programming learning. This finding was also supported by the val-
was less than 10 (Neter et al., 1985). In Table 6, all Vif values are ues of R square shown in Table 4 (the R square value of ‘‘program
between 1.581 and 2.151. This means that there is no collinearity gap filling” is larger than that of ‘‘program debugging”). This was
between the score of the five programming learning activities. That an interesting phenomenon worth studying further by interview-
is, each programming learning activity had its own effectiveness on ing some students in both the high and low achievement groups
learning achievements. after the experiment. From the interviews with the students in
the high achievement group, it was found that the ‘‘program gap
4.4. The results of independent sample T-tests: performances of high filling” activities, which asked the students to provide a block of
and low achievement groups in the five programming learning program codes to work with the given codes, were harder than
activities the ‘‘programming debugging” activities. Also for the students in
the low achievement group, the ‘‘program gap filling” activities
The experimental class was further divided into a high achieve- were quite difficult in comparison with the ‘‘program debugging”
ment group and a low achievement group according to their post- activities. Therefore, in arranging ‘‘program gap filling” activities,
test scores (i.e., their learning achievements). The students whose longer practice time and more support from the teachers are
post-test score was in the top 27% belonged to the high achieve- needed. On the other hand, the significance of an independent
ment group, while those whose post-test score was in the bottom sample t-test in ‘‘program debugging” is .023. The significance is
27% were in the low achievement group. As shown in Table 7, the weaker than for the other activities, and the Standard deviation
scores of the five programming learning activities of the high of the low achievement group was obviously high
achievement group were all significantly higher than those of the (SD = 28.01934). Two reasons were found to cause this result,
namely, the number of ‘‘program debugging” assignments was
insufficient and the ‘‘program debugging” assignments were com-
paratively easy for some students.
Table 5
The summary of model in multiple regressions
4.5. Analysis of the questionnaire
Model R R2 Adjusted R square F p
1 .682 .466 .397 6.796 0.000 To investigate the students’ viewpoints about WPAS and the
five programming learning activities, the students were asked to
Table 6
The coefficient of multiple regressions between the scores for the five programming learning activities and learning achievements
Table 7
The results of independent sample T-tests: average scores of high and low achievement groups for the five programming activities
fill out a questionnaire, which included three dimensions: per- ities, other than ‘‘peer assessment”, could respectively improve
ceived ease of use (PEOU) of WPAS, perceived usefulness (PU) of their programming abilities (the average values of items 13, 14,
WPAS, and the PU of the five programming learning activities. 15 and 16 were all higher than 3.8). For ‘‘peer assessment”, one
The PEOU and PU were based on the Technology Acceptance Model point is worth mentioning; that is, the average rating for item 17
(TAM). was 3.50, which was the lowest in Table 11. It was found that 15
students chose ‘‘unable to answer” in that item, indicating that
4.5.1. Reliability and validity of the questionnaire peer assessment was too difficult for some students to give mean-
The questionnaires were given to 47 students in the experimen- ingful suggestions concerning others’ programs. Thus, the teacher
tal class and 46 valid answer sheets were obtained. The question- might need to give more support to those students who did not
naire consisted of 18 test items using a five-point Likert scale. The have high achievements in peer assessment. Finally, most of the
researchers utilized Cronbach’s a analysis to evaluate the internal students thought that, on the whole, the five programming learn-
consistency of each dimension of the questionnaire. As shown in ing activities could help promote their web-based programming
Table 8, the Cronbach a values in all dimensions were higher than concepts and abilities.
.80, and hence the questionnaire was considered to be highly reli-
able (Carmines and Zeller, 1979). Also, expert validity was used to 4.6. The results of the in-depth interviews
evaluate the validity of the questionnaire. During the questionnaire
design phase, all of the items were verified and validated by Eight students were interviewed by the researchers after con-
domain experts, and some ambiguous or unsuitable questions ducting the experiment. Three students were from the high
were modified and removed accordingly. achievement group and the others from the low achievement
group. These students gave some in-depth and interesting feed-
4.5.2. Results of questionnaire analysis back and suggestions as follows:
With respect to the perceived ease of use shown in Table 9, (1) Regarding the five programming learning activities, the
most of the students thought that the annotation tool and the on- interviewees thought that the learning design was well-structured
line coding tool in WPAS were easy to use. They also indicated that and ordered. Also, those few students who had previously taken
the operations of the two tools could be learned quickly. With programming courses thought that the learning activities in this
respect to the perceived usefulness listed in Table 10, the average course were more interesting than those in the other courses. For
ratings in items 8 and 10 were comparatively higher than for other example, two students shared the same feeling:
items. Also, 15 students chose ‘‘strongly agree” for item 8. Thus, ‘‘Compared with the programming course I had taken before, I
most of the students thought that the ‘‘online coding and execu- am interested in the five programming learning activities in this
tion” function provided in WPAS was useful for their programming class. I do not feel bored during the learning process. Various learn-
learning. In item 9, 38 students (10 ‘‘strongly agree” and 28 ing activities can train my thinking. They are helpful for me...”
‘‘agree”) agreed that the online coding tool can increase their learn- (2) Students would like to have more practice opportunities
ing efficiency. Moreover, according to the results of item 11, the immediately after lecturing in class. As some interviewees
students thought it was helpful to learn Web-based programming responded:
with WPAS. Finally, most of the students were satisfied with the ‘‘I need more time to practice after lectures in class. . .. . .”
WPAS system overall (item 12). By summarizing the results of per- ‘‘I think if the teacher can give us more time to do practice in
ceived ease of use and perceived usefulness, it can be seen that the class, we can learn better. . .. . .. . .”
students highly accepted the use of WPAS. As for the perceived ‘‘During practice, I may encounter some problems if I don’t
usefulness of the five proposed activities shown in Table 11, most understand enough, then I can ask and get help from the teacher
of the students thought that the four programming learning activ- and classmates soon in class. This will improve learning a lot.. . .. . .”
(3) The program gap filling activity created more challenges
than the program debugging. As four students in the low achieve-
Table 8 ment group responded:
Questionnaire dimension and the Cronbach a values ‘‘The of program-gap-filling assignments were difficult. Even
Dimension Cronbach a though I found several methods to solve the problem, I did not
value know which should be filled in the block. . .. . .”
Perceived ease of use of WPAS .8813 ‘‘I think the program-gap-filling activity is more difficult than
Perceived usefulness of WPAS .9152 the program-debugging activity. . .. . .”
Perceived usefulness of the five programming learning .9088 (4) Through the peer assessment activity, logical thinking will
activities
be stimulated, and programming skills will be enhanced. As one
Total Cronbach a value .9500
student in the low achievement group mentioned:
W.-Y. Hwang et al. / Interacting with Computers 20 (2008) 524–534 533
Table 9
Perceived ease of use
# Question SA A U D SD Average
1 I thought that I could easily finish the ‘‘programming concepts testing” assignments with the 11 31 2 2 0 4.09
annotation tool 23.9% 67.4% 4.3% 4.3% 0%
2 I thought that I could easily evaluate programs with the annotation tool 11 31 1 3 0 4.09
23.9% 67.4% 2.2% 6.5% 0%
3 I thought that I could easily finish the ‘‘program gap filling”, ‘‘program debugging” and ‘‘coding to 8 31 4 3 0 3.96
solve problems” assignments with the online coding tool 17.4% 67.4% 8.7% 6.5% 0%
4 I can proficiently use the annotation tool to finish assignments soon 6 33 6 0 1 3.91
13% 71.7% 13% 0% 2.2%
5 I can proficiently use the online coding tool to finish the programming assignments soon 5 33 7 0 1 3.87
10.9% 71.7% 15.2% 0% 2.2%
SA, strongly agree; A, agree; U, unable to answer; D, disagree; SD, strongly disagree.
Table 10
Prceived usefulness
# Question SA A U D SD Average
6 I thought that the annotation functionality was useful for me to learn programming 13 27 2 4 0 4.07
28.3% 58.7% 4.3% 8.7% 0%
7 I thought that the annotation functionality was useful to finish the ‘‘peer assessment” 6 30 8 2 0 3.87
13% 65.2% 17.4% 4.3% 0%
8 I thought it was useful that the system can automatically execute programs and show the results 15 29 0 2 0 4.22
32.7% 63% 0% 4.3% 0%
9 I thought that using online coding tool could improve my learning efficiency 10 28 6 2 0 4.00
21.7% 60.9% 13% 4.3% 0%
10 I thought that the functionality of modifying programs was helpful in the ‘‘program gap filling”, 10 33 2 1 0 4.13
‘‘program debugging” and ‘‘coding to solve problems” activities 21.7% 71.7% 4.3% 2.2% 0%
11 On the whole, I thought that it was helpful to learn ASP programming with WPAS 9 32 4 1 0 4.07
19.6% 69.6% 8.7% 2.2% 0%
12 On the whole, I was satisfied with WPAS 5 35 5 1 0 3.96
10.9% 76.1% 10.9% 2.2% 0%
SA, strongly agree; A, agree; U, unable to answer; D, disagree; SD, strongly disagree.
Table 11
Perceived usefulness of the five programming learning activities
# Question SA A U D SD Avg.
13 I thought that I could get help from the content of the materials during ‘‘program concepts testing” 3 39 4 0 0 3.98
activities 6.5% 84.8% 8.7% 0% 0%
14 I thought that it was helpful to apply my knowledge during ‘‘program gap filling” activities 5 34 3 3 1 3.85
10.9% 73.9% 6.5% 6.5% 2.2%
15 I thought that my ability in programming could be improved during ‘‘program debugging” 6 31 6 2 1 3.83
activities 13% 67.4% 13% 4.3% 2.2%
16 I thought that my skill in programming could be improved during ‘‘coding to solve problems” 7 31 5 2 1 3.89
activities 15.2% 67.4% 10.9% 4.3% 2.2%
17 I thought that I could improve my ability in programming evaluation and giving suggestions 4 22 15 3 2 3.50
during ‘‘peer assessment” 8.7% 47.8% 32.7% 6.5% 4.3%
18 On the whole, I thought that teaching with the five programming learning activities could help me 4 35 6 1 0 3.91
learn web-programming 8.7% 76.1% 13% 2.2% 0%
SA, strongly agree; A, agree; U, unable to answer; D, disagree; SD, strongly disagree.
‘‘Although I often did not fully understand others’ programs in ‘‘If the frequency of the ‘‘coding to solve problems” activity can
the peer assessment activity, I think that the activities will do me be increased, I think my programming skills will be better. . .. . .”
good.”
Also, three students in the high achievement group gave the fol-
lowing feedback: 5. Conclusions and discussion
‘‘I like to do peer-assessment. . .. . .. . .”
‘‘I can review and check my programming concepts when I This study proposes an innovative approach for the cognitive
assess my classmates’ programs. . .. . .. . .” development of programming learning. A Web-based Program-
‘‘I suggest that the teacher provide more peer assessment ming Assisted System (WPAS) that supports five programming
activities for us. . .. . .” learning activities from simple to complicated has been developed
‘‘Seeing and evaluating others’ programs can increase my based on the approach. The motivation of this study was to provide
programming experience. . .. . .” appropriate activities and sufficient practice to students, and help
(5) The interviewee suggested that more ‘‘coding to solve them develop their cognition in programming learning. From the
problems” should be added. As two interviewees responded: experimental results of a practical programming course, several
‘‘I think the arranged time in the ‘‘coding to solve problems” interesting and important findings were derived. First, the stu-
activity should be extended, because it was really the opportunity dents’ scores in each learning activity were positively related with
for me to integrate my knowledge. . .. . .” the score in the next activity, which implies that a well-structured
534 W.-Y. Hwang et al. / Interacting with Computers 20 (2008) 524–534