A Problem Posing Based Practicing Strate
A Problem Posing Based Practicing Strate
DOI 10.1007/s11423-017-9551-0
DEVELOPMENT ARTICLE
123
X. Wang et al.
efficacy and lower cognitive load than those who learned with the conventional collabo-
rative learning approach.
Introduction
123
A problem posing-based practicing strategy for facilitating…
to investigate the effectiveness of the proposed approach. During the learning activity, the
team members took the programming tasks given by the teacher as a reference and started
to pose problems collaboratively to design a new programming task. They then collabo-
rated to complete the task. The teacher examined the results and gave feedback. Following
that, the tasks were exchanged among teams; that is, each team tried to solve the tasks
proposed by other teams. They then started a code review activity (i.e., examining the
programs developed by others), and the teacher examined their tasks as well as the review
results.
Literature review
123
X. Wang et al.
students to increase their learning participation and reduce their cognitive load (Yang et al.
2015).
Collaborative learning
Collaborative learning means two or more people learn, or attempt to learn, something
together, including knowledge, skills, abilities, and so on. It is usually seen as a process
whereby people would be helped to finish a certain target or a product with designated
goals (Serrano-Cámara et al. 2014). The term ‘‘collaborative learning’’ describes a scenario
in which people hope that certain interactions would occur, and this would trigger the
mechanism of group learning. In the past 10 years, researchers have reported the results of
collaborative learning applied in different courses, such as writing (Wichmann and
Rummel 2013), English (Rick et al. 2002; Law et al. 2015), natural science (Sung and
Hwang 2013), and computer programming (Serrano-Cámara et al. 2014; Bravo et al. 2013;
Preston 2005). Research has confirmed that collaborative learning encourages learners to
use higher level cognitive strategies, critical thinking, in-depth learning and understanding,
and positive attitudes towards learning and peers; such a learning approach provides them
with a more open and flexible way to collaborate with their peers (Wang and Lin 2007;
Laal and Ghodsi 2012; Laal et al. 2013). Meanwhile, researchers also believe that col-
laborative learning is an effective method to help learners solve difficult learning tasks with
the support of peer interaction (Wang and Lin 2011).
However, the benefits of collaborative learning only appear in positive and well-func-
tioning teams. Merely dividing students into learning groups cannot guarantee an effective
collaborative learning activity (Soller 2001). Therefore, how to provide learning strategies,
tools, and an environment to boost learners’ social interaction is the key to their success.
Problem-posing refers to the cognitive activity in which a new problem is posed with a
given question or certain situation; it also includes the process of problem solving to
reform the problem (Lavy and Bershadsky 2003). The problem-posing strategy is a
learning strategy which engages students in posing problems based on the issue specified
by the teacher during the learning process; such a strategy has been widely applied in
mathematics courses (Silver 2013; Shuk-kwan 2013; Singer and Voica 2013; Unal and
Arikan 2015). In recent years, researchers have also implemented this strategy in other
courses (Casagrande et al. 1998; Hung et al. 2014). For instance, they have adopted the
problem-posing strategy to guide students to learn about local culture in a collaborative
learning environment, with the results indicating that the strategy can effectively increase
both the learning effects and group learning self-efficacy (Sung et al. 2016).
Many studies have shown that the problem-posing strategy can promote learners’
curiosity regarding a certain concept, which is beneficial for knowledge construction and
critical thinking ability improvement (Moses et al. 1990). Researchers have also found that
when the teacher adopts the problem-posing strategy in school settings, the students
usually more actively engage in creating and solving their problems, and hence have better
learning performance (Barlow and Cates, 2006).
Furthermore, code review is an activity which engages students in examining pro-
gramming code. It was originally proposed by Fagan (1976) in the field of software
engineering to examine the quality of computer software (Mantyla and Lassenius 2009;
Liu et al. 2001). The successful application of code review in software engineering has
123
A problem posing-based practicing strategy for facilitating…
The online team-based learning environment with the problem posing-based practicing
strategy was developed by integrating the Wiki function module in the Moodle learning
management system. The learning environment allowed each team of students to edit and
provide comments; in addition, it recorded each version of the edited results to enable the
students to compare and see the changes between different versions.
In this study, the teacher used the grouping function to divide the students into learning
teams. Besides, the teacher assigned two teams to work as a pair to exchange the pro-
gramming tasks and conduct the coding review. Each team had two Wiki pages, one for
problem-posing and the other for code review. Take Team i and Team j as an example; the
problem-posing page for Team j was only visited by the members of Team j, but the code
review page for Team j could be visited by the members of both Teams i and j. Each team
needed to complete two programming tasks on these two pages: one was designed by
themselves, and the other was designed by the other team. For instance, the members of
123
X. Wang et al.
Team i not only posed a new programming task and provided the answer on the problem-
posing page, but were also asked to complete the task proposed by Team j.
Figure 1 presents the application of the problem posing-based practicing strategy for
Team i and Team j. When the students logged into the system and found their own group,
they started posing problems on the problem-posing page.
There are five steps in the problem-posing activity. In the first step, the team members
reviewed the learning contents based on the examples and problem-posing requirements
provided by the teacher. The examples and learning contents given by the teacher for Team
i and Team j were different. For instance, in Fig. 1, the content that Team i needed to pose
problems for was an abstract class in C#, while for Team j, the students needed to pose
problems about the interface of C#.
In the second step, after fully understanding the knowledge and the task requirements,
the team members linked what they had learned with their life experience and voiced their
opinions to settle the topic of the programming task. They then discussed the details of the
task. For instance, the problem that Team i needed to pose was about an abstract class.
They chose to calculate the area of a shape as the topic and requested to calculate the area
of a circle and a sphere in their derived class. After posing the most preliminary problem,
the team members entered the content of the task into the problem-posing page, as pre-
sented in Fig. 2. In should be noted that the learning content and system interface were in
Chinese.
Team i Team j
Log in Log in Log in
Step 1 Step 1
Review learning contents based on the Review learning contents based on the
examples and problem-posing examples and problem-posing
requirements. requirements.
Step 2 Step 2
Pose the preliminary problems. Pose the preliminary problems.
Step 3 Step 3
Gradually finish problem-posing based Gradually finish problem-posing based
on the teacher’s feedback. on the teacher’s feedback.
Step 4 Step 4
Finish the preliminary answers to the Finish the preliminary answers to the
problem. problem.
Step 5 Step 5
Give a thorough answer based on the Give a thorough answer based on the
teacher’s feedback. teacher’s feedback.
Problem-posing stage Problem-posing stage
Team i Team j
Fig. 1 Problem posing-based practicing strategy mechanism for Team i and Team j
123
A problem posing-based practicing strategy for facilitating…
Problem-posing requirements
from the teacher
In the third step, after the team members had finished the preliminary problem-posing,
using the comment function in Wiki, the teacher gave feedback for correction, checking the
discreteness and difficulty level of the task, and if the posed problem met the requirements.
The students subsequently worked together to improve the task based on the teacher’s
comments, using the Wiki collaboration function.
In the fourth step, after posing the programming task, the team members needed to
complete the task. They could work on the programming alone and then collaborate to
reach the final answer. It could also be conducted by having one member enter the coding
and letting others do the corrections. No matter which way they decided to collaborate,
they all needed to discuss the problem and reach a consensus. The history function in Wiki
recorded the editing process for each member. As shown in Fig. 2, Student B could adjust
the contents written by Student A and the system would record the adjustment for the users
to compare the two versions.
In the fifth step, the teacher gave feedback on the programming, such as the correctness
of the solution process and the code norms. The team members then adjusted the pro-
gramming based on the suggestions given by other groups. Meanwhile, the teacher went
around the class to observe the situation. Once each group had finished the problem-posing
stage, it went on to the code review stage.
In the code review activity, two matched groups exchanged their programming tasks.
For instance, Team i would put their task about abstract class on Team j’s code review
Wiki page, while Team j would put their task about the interface on Team i’s code review
Wiki page. Then, the members of the two groups worked on each other’s tasks. After
finishing the tasks, the two groups gave each other feedback. If the results were too diverse,
the students could discuss them and the teacher could also make comments.
123
X. Wang et al.
Methodology
Learning materials
A quasi-experiment was adopted, and the participants were 53 sophomores (second year
students) from two classes at a university located in eastern China. The learning activity
was conducted in a C# programming course. They had already studied C programming in
their freshman year and knew the procedure-oriented programming method. One class with
25 students (5 males and 20 females) was assigned to be the treatment group and the other
class with 28 students (6 males and 22 females) was the control group. The ratios of male
and female students for the two groups were very close; that is, 20 and 80% for the
treatment group, and 21 and 79% for the control group. The students in both groups were
majoring in Educational Information Technology, and had an average age of 20. All of the
students in the treatment group and the control group were taught by the same teacher who
has 15 years of teaching experience. During the quasi-experiment, the students’ personal
information was hidden so as to protect their privacy; moreover, they were informed that
joining the experiment was voluntary and would not affect their grades, and they were
allowed to withdraw from the experiment at any stage. It should be noted that in the
department of Educational Information Technology in many Asian countries, the students
need to take courses in both computer technology and educational technology.
In this experiment, through the implementation of the problem posing-based practicing
strategy in the collaborative learning activity, learners were guided to link the program-
ming learning with the real world to cultivate their problem-solving conceptions in the real
world and to enhance their object-oriented programming thinking. Meanwhile, compared
to conventional collaborative learning, whether such an approach can improve students’
learning was observed, in terms of learning achievement, cognitive load, and self-efficacy
for group learning.
Experimental procedure
Figure 3 presents the experiment process. Before the learning activity, all of the students
were instructed by the same teacher for 7 weeks in the C# programming course, including
the basic syntax and class of C#. Then, all of the students took a pre-test and completed a
pre-questionnaire. The purpose of the pre-test was to evaluate the students’ prior knowl-
edge of C# programming and programming skills, while the pre-questionnaire included an
assessment of the students’ self-efficacy for group learning.
Following that, all of the students received the instruction on the ‘‘inheritance’’ concept
in C# programming with corresponding examples for 2 weeks. Then, the treatment group
123
A problem posing-based practicing strategy for facilitating…
and the control group learned with the two different teaching strategies in the coming
5 weeks.
The students in the treatment group learned with the problem posing-based practicing
strategy, using the Wiki page in Moodle to engage in the collaborative problem-posing and
code review activities. During the learning activity, the members of the treatment group
were requested to finish two programming tasks on inheritance, one of which was proposed
by the team members, based on the examples given by the teacher in class, while the other
was proposed by the other matching team.
On the other hand, the students in the control group were guided to complete the
learning tasks in teams with the conventional collaborative learning approach. After log-
ging into the Moodle system and collaborating with their team members via discussion,
they directly completed two programming tasks given by the teacher, and then submitted
their results. The teacher then gave feedback on the students’ programs and provided
example programs to them. The students then reviewed the code provided by the teacher,
and examined and corrected their own programs by referring to the feedback provided by
the teacher and the example programs. Following that, the teacher answered the questions
raised by the students. Such a collaborative learning approach had been employed in the
selected school for years.
After the learning activity, a post-test and a post-questionnaire were conducted. The
content of the post-test included inheritance and polymorphism of C#, while that of the
post-questionnaire included group learning self-efficacy and cognitive load.
123
X. Wang et al.
Measuring tools
The measuring tools in this study were composed of the pre-test and post-test of learning
achievement, the pre-questionnaire of self-efficacy for group learning, and the post-
questionnaire of self-efficacy for group learning and cognitive load.
The purpose of the pre-test was to evaluate whether the students in both the treatment
group and the control group met the same minimum standard for learning the programming
knowledge and skills, while that of the post-test was to investigate whether any difference
existed as a result of the two groups of students adopting different learning strategies.
There were 14 multiple-choice items (70%) and one design item (30%) in the pre-test, and
8 multiple-choice items (40%) and two design items (60%) in the post-test, both with a
perfect score of 100. The multiple-choice items aimed to test the students’ C# program-
ming knowledge, while the design items were to test the students’ problem-solving pro-
gramming skills. Both the pre-test and the post-test were designed by two experienced
teachers, each with 15 years of programming teaching experience. The Cohen’s kappa
coefficients of the scores graded by the two teachers were 0.97 and 0.98 for the pre-test and
post-test, respectively, showing high consistency between their grading.
The self-efficacy of the group learning questionnaire was adopted from the one
developed by Wang and Lin (2007), which was revised from the original questionnaire of
Pintrich et al. (1991). There were eight items in the questionnaire, which was used to test
the individuals’ judgement of group ability and the evaluation of the group ability for the
upcoming tasks, such as ‘‘I am certain I can understand the most difficult material pre-
sented in the readings for this course’’ and ‘‘I am confident I can understand the basic
concepts taught in this course.’’ A 5-point Likert scheme was used, with 5 representing
Strongly agree, 4 representing Agree, 3 representing Neutral, 2 representing Disagree, and
1 representing Strongly disagree. The Cronbach’s alpha value for the self-efficacy of group
learning is .93, showing good internal consistency of the items, as indicated by Christmann
and van Aelst (2006) and Sijtsma (2009).
The cognitive load questionnaire was modified by Hwang et al. (2013) based on the
cognitive load measures proposed by Paas (1992) and Sweller et al. (1998). It includes two
dimensions, mental load (e.g., ‘‘The learning content in this learning activity was difficult
for me’’ and ‘‘I had to put a lot of effort into answering the questions in this learning
activity’’) and mental efforts (e.g., ‘‘The instructional way in the learning activity was
difficult to follow and understand’’). The former refers to the intrinsic cognitive load
caused by the difficulty or large amount of the learning content, while the latter refers to
the extraneous cognitive load caused by the teaching strategy (i.e., the way the learning
content is organized and presented). There are five items for mental load and three for
mental efforts. A 7-point Likert scheme was adopted for each item, with 7 representing
Strongly agree and 1 representing Disagree. A higher value means that the students have
higher cognitive loading in the learning process. The Cronbach’s alpha values for the two
dimensions are .92 and .84, respectively.
123
A problem posing-based practicing strategy for facilitating…
Results
The analysis of covariance (ANCOVA) was employed by using the pre-test scores as the
covariant, the post-test scores as the dependent variable, and the learning approach as the
independent variable in order to investigate whether the treatment and control groups
showed significant differences in their learning achievements by excluding the interaction
effects of the pre-test.
The test of the homogeneity of regression coefficients on the two groups’ pre-test scores
showed that the homogeneity of variance was not violated with F = 0.000 and
p = 0.998 [ 0.05. Following that, ANCOVA was then conducted on the two groups’ post-
test scores by excluding the impact of the pre-test scores, as shown in Table 1. The results
show that there was a significant difference in the scores of the students who adopted the
different learning strategies for collaborative learning (F = 5.09, p = 0.028 \ 0.05), with
the treatment group scoring higher than the control group. Therefore, it is concluded that
the problem posing-based practicing strategy used in collaborative learning can signifi-
cantly improve students’ learning achievement compared with conventional collaborative
learning. The Eta squared value g2 = 0.09 implies a medium to large effect size.
To further investigate the effects of the different collaborative learning strategies on the
students’ learning of programming knowledge and programming skills, the scores for the
multiple-choice items and design items in the pre- and post-tests were analyzed.
The test of the homogeneity of regression coefficients on the two groups’ pre-test scores
of programming knowledge and skills showed that the homogeneity of variance was not
violated with F = 0.68 (p = 0.42 [ 0.05) and F = 0.32 (p = 0.57 [ 0.05), respectively.
That is, ANCOVA can be used to compare the two groups’ scores of programming
knowledge and skills.
Table 2 shows the ANCOVA results of the two groups’ programming knowledge and
skills. It can be seen that the adjusted mean scores of the post-test for the multiple-choice
items in the treatment group and the control group were 25.77 and 24.52, respectively,
meaning that with the different collaborative learning strategies, the students still had
similar basic knowledge of C# (F = 0.686, p = 0.41 [ 0.05). On the other hand, the
ANCOVA results showed that the adjusted mean scores of the post-test for the design
items in the treatment group and the control group were 32.46 and 24.31, meaning that
with the different collaborative learning strategies, a significant difference was reached in
the design items of the post-test score, with the mean score of the treatment group higher
than that of the control group (F = 5.67, p = 0.021 \ 0.05). The Eta squared value
g2 = 0.1 implies a medium to large effect size.
Table 1 The ANCOVA result of the learning achievements post-test for the two groups
Group N Mean SD Adjusted Mean SE F g2
* p \.05
123
X. Wang et al.
Table 2 The ANCOVA result of the programming knowledge and skills post-test for the two groups
Variance Group N Mean SD Adjusted mean SE F g2
ANCOVA was employed by using the pre-questionnaire ratings as the covariant, the post-
questionnaire ratings as the dependent variable, and the learning approach as the inde-
pendent variable in order to investigate whether the treatment and control groups showed
significant differences in their group learning self-efficacy by excluding the interaction
effects of the pre-questionnaire ratings.
The test of the homogeneity of regression coefficients on the two groups’ pre-ques-
tionnaire ratings of self-efficacy of group learning showed that the homogeneity of vari-
ance was not violated with F = 0.453 with p [ 0.05. ANCOVA was then conducted on the
post-questionnaire ratings of self-efficacy of group learning. Table 4 shows the results for
the two groups. It can be seen that the adjusted mean scores for the treatment group and the
control group were 4.18 and 3.76, meaning that the treatment group significantly improved
their self-efficacy of group learning, compared to the control group (F = 4.90,
p = 0.03 \ 0.05). The Eta squared value g2 = 0.09 implies a medium to large effect size.
The results showed that the students learning with the problem posing-based practicing
strategy collaborative learning showed better self-efficacy for group learning than those
learning with the conventional approach. This result matches the result that the treatment
group students had higher learning achievement and lower cognitive load.
Table 3 Independent sample t test of the cognitive loads of the two groups
Group N Mean SD t p d
* p \.05
123
A problem posing-based practicing strategy for facilitating…
Table 4 The ANCOVA result of the self-efficacy of group learning post-test for the two groups
Group N Mean SD Adjusted mean SE F g2
* p \.05
A problem posing-based practicing strategy was proposed in this study. The results present
that, compared to conventional collaborative learning, the problem posing-based practicing
strategy can significantly improve students’ programming skills and group learning self-
efficacy, while also lowering their cognitive load.
In terms of learning achievement, some studies showed that learners can gain positive
learning achievement by having course content-related learning tasks and guiding them to
actively engage in construction, creation, and reflection activities to promote peer inter-
action as well as their problem-solving abilities (Lai and Hwang 2015; Hardy et al. 2014;
Auttawutikul et al. 2014). It is inferred that the problem-posing with follow-up code review
activities was in line with the social constructivist theory, which emphasizes the impacts of
social interactions on students’ cognitive process. In this study, the aim of the proposed
approach was to engage learners in a process whereby they could learn from each other and
receive comments or assistance from their peers. Such an approach offered the treatment
group students not only opportunities to deal with the problems raised by their peers and to
receive comments from their peers, but also to review their peers’ work, which situated
them in a learning environment to learn from each other. Such an activity reinforced the
learners’ active participation and responsible attitude towards engaging in learning. Fur-
thermore, the code review activity improved the learners’ interaction and gave them a
chance to reflect on and reinforce their understanding of programming problems and
coding. As indicated by Wang et al. (2012), engaging students in peer-review tasks enables
them to reflect on and reinforce their understanding of the learning content. In the learning
process of the problem posing-based practicing strategy, the learners continued partici-
pating in the interaction of knowledge construction, problem creation, problem solving,
comment giving, and reflection. This might be the reason why the treatment group out-
performed the control group in terms of learning achievement.
In terms of cognitive load, Antonenko and Niederhauser (2010) indicated that, in
addition to intrinsic load and extraneous load, germane load also contributes to the total
load caused by learning materials or tasks. They also indicated that, while germane load
improved cognition and learning, extraneous load did the opposite owing to the limitations
caused by the learning design. In this study, after teacher instruction in the control group,
the students followed the programming tasks given by the teacher to find the answer;
following that, they reviewed their own programming code as well as the feedback and
standard answer provided by the teacher to correct their code. On the other hand, the
students in the treatment group were provided with example tasks at the beginning of the
learning activity. With such scaffolding, they could pose a problem within a certain
knowledge range and collaborate to solve it. During the process, the learners were not
limited to one single task and could be more actively engaged and creative, which can meet
123
X. Wang et al.
the goal-free effect of cognitive load. This might be the reason why the treatment group
was able to have not only better learning achievement, but also lower cognitive load. The
study of Antonenko and Niederhauser (2010) also supports this point; that is, the goal-free
effect allows learners to express themselves without limitation, triggers creation, and hence
lowers their cognitive load and helps them achieve meaningful learning (Sweller
1994, 2010).
It should be noted that there are several limitations to this study. First, the sample size of
the participants was not large, and hence the findings cannot be generalized to represent the
cases with a large number of learners. Second, in the present study, the proposed approach
was applied to the selected units of the programming course for 7 weeks; therefore, the
impacts of the strategy cannot be generalized to all of the computer programming units.
Third, the effect sizes for the statistical results of cognitive load and self-efficacy were not
large, implying that the generalization of the findings in these dimensions is limited. In
addition, in the proposed strategy, it is assumed that the learners have equivalent basic
programming knowledge for posing problems in the first stage as well as reviewing peer
work in the second stage. For other courses in which learners are from different depart-
ments with different levels of basic knowledge or skills, additional considerations and
treatments could be required.
For future research, it is suggested that long-term experiments with large sample sizes
are required. It is also worth applying the strategy to other computer programming units to
investigate its impacts from different aspects, such as the tendencies of collaboration and
communication in team-based programming.
Acknowledgments This study is supported in part by the Key Research Base of Humanities and Social
Sciences in Colleges and Universities of Zhejiang Province (Zhejiang Normal University Education Base).
Conflict of interest The authors would like to declare that there is no conflict of interest in this study.
References
Antonenko, P. D., & Niederhauser, D. S. (2010). The influence of leads on cognitive load and learning in a
hypertext environment. Computers in Human Behavior, 26(2), 140–150.
Au, K. H. (1998). Social constructivism and the school literacy learning of students of diverse backgrounds.
Journal of literacy research, 30(2), 297–319.
Auttawutikul, S., Wiwitkunkasem, K., & Smith, D. R. (2014). Use of weblogs to enhance group learning and
design creativity amongst students at a Thai University. Innovations in Education and Teaching
International, 51(4), 378–388.
Barlow, A. T., & Cates, J. M. (2006). The impacts of problem posing on elementary teachers’ belief about
mathematics and mathematics teaching. School Science and Mathematics, 106, 64–73.
Blignaut, P., & Naude, A. (2008). The influence of temperament style on a student’s choice of and per-
formance in a computer programming course. Computers in Human Behavior, 24(3), 1010–1020.
Bloom, B. S. (1994). Reflections on the development and use of the taxonomy. Yearbook: National Society
for the Study of Education, 92(2), 1–8.
Bravo, C., Duque, R., & Gallardo, J. (2013). A groupware system to support collaborative programming:
Design and experiences. Journal of Systems and Software, 86(7), 1759–1771.
Bravo, C., Marcelino, M. J., Gomes, A. J., Esteves, M., & Mendes, A. J. (2005). Integrating educational
tools for collaborative computer programming learning. J. UCS, 11(9), 1505–1517.
Brooks, R. (1983). Towards a theory of the comprehension of computer programs. International Journal of
Man-Machine Studies, 18(6), 543–554.
Brush, T. A. (1998). Embedding cooperative learning into the design of integrated learning systems:
rationale and guidelines. Educational Technology Research and Development, 46(3), 5–18.
123
A problem posing-based practicing strategy for facilitating…
123
X. Wang et al.
Moons, J., & De Backer, C. (2013). The design and pilot evaluation of an interactive learning environment
for introductory programming influenced by cognitive load theory and constructivism. Computers &
Education, 60(1), 368–384.
Moses, B., Bjork, E., & Goldenberg, E. P. (1990). Beyond problem solving: Problem posing. In T. J. Cooney
(Ed.), Teaching and learning mathematics in the 1990s (pp. 82–91). Reston, VA: National Council of
Teachers of Mathematics.
Mow, I. C. (2008). Issues and difficulties in teaching novice computer programming. In Innovative tech-
niques in instruction technology, e-learning, e-assessment, and education (pp. 199–204). Berlin:
Springer.
Paas, F. G. W. (1992). Training strategies for attaining transfer of problem-solving skill in statistics: a
cognitive load approach. Journal of Educational Psychology, 84(4), 429–434.
Papert, S. (1980). Mindstorms: Children, computers, and powerful ideas. Basic Books, Inc.
Pintrich, P.R., Smith, D.A.F., Garcia, T., & McKeachie, W.J. (1991). A manual for the use of the motivated
strategies for learning questionnaire (MSLQ). MI: National Center for Research to Improve Postsec-
ondary Teaching and Learning. (ERIC Document Reproduction Service No. ED 338122)
Piteira, M., & Costa, C. (2013, July). Learning computer programming: study of difficulties in learning
programming. In Proceedings of the 2013 International Conference on Information Systems and
Design of Communication (pp. 75–80). ACM.
Preston, D. (2005). Pair programming as a model of collaborative learning: a review of the research. Journal
of Computing Sciences in Colleges, 20(4), 39–45.
Rick, J., Guzdial, M., Holloway-Attaway, K. C. L., & Walker, B. (2002, January). Collaborative learning at
low cost: CoWeb use in English composition. In: Proceedings of the Conference on Computer Support
for Collaborative Learning: Foundations for a CSCL Community (pp. 435–442). International Society
of the Learning Sciences.
Robins, A., Rountree, J., & Rountree, N. (2003). Learning and teaching programming: A review and
discussion. Computer Science Education, 13(2), 137–172.
Rogalski, J., & Samurçay, R. (1990). Acquisition of programming knowledge and skills. Psychology of
Programming, 18, 157–174.
Sabin, R. E., & Sabin, E. P. (1994, March). Collaborative learning in an introductory computer science
course. In: ACM SIGCSE Bulletin (Vol. 26, No. 1, pp. 304–308). ACM.
Serrano-Cámara, L. M., Paredes-Velasco, M., Alcover, C. M., & Velazquez-Iturbide, J. Á. (2014). An
evaluation of students’ motivation in computer-supported collaborative learning of programming
concepts. Computers in Human Behavior, 31, 499–508.
Shaw, R. S. (2012). A study of the relationships among learning styles, participation types, and performance
in programming language learning supported by online forums. Computers & Education, 58(1),
111–120.
Shuk-kwan, S. L. (2013). Teachers implementing mathematical problem posing in the classroom: challenges
and strategies. Educational Studies in Mathematics, 83(1), 103–116.
Sijtsma, K. (2009). On the use, the misuse, and the very limited usefulness of Cronbach’s alpha. Psy-
chometrika, 74(1), 107.
Silver, E. A. (2013). Problem-posing research in mathematics education: Looking back, looking around, and
looking ahead. Educational Studies in Mathematics, 83(1), 157–162.
Singer, F. M., & Voica, C. (2013). A problem-solving conceptual framework and its implications in
designing problem-posing tasks. Educational Studies in Mathematics, 83(1), 9–26.
Soller, A. (2001). Supporting social interaction in an intelligent collaborative learning system. International
Journal of Artificial Intelligence in Education, 12, 40–62.
Soloway, E. (1993). Should we teach students to program? Communications of the ACM, 36(10), 21–25.
Sung, H. Y., & Hwang, G. J. (2013). A collaborative game-based learning approach to improving students’
learning performance in science courses. Computers & Education, 63, 43–51.
Sung, H. Y., Hwang, G. J., & Chang, Y. C. (2016). Development of a mobile learning system based on a
collaborative problem-posing strategy. Interactive Learning Environments, 24(3), 456–471.
Sweller, J. (1994). Cognitive load theory, learning difficulty, and instructional design. Learning and
Instruction, 4(4), 295–312.
Sweller, J. (2010). Element interactivity and intrinsic, extraneous, and germane cognitive load. Educational
psychology review, 22(2), 123–138.
Sweller, J., Van Merriënboer, J. J. G., & Paas, F. G. W. C. (1998). Cognitive architecture and instructional
design. Educational Psychology Review, 10(3), 251–297.
Unal, H., & Arikan, E. E. (2015). An investigation of eighth grade students’ problem posing skills (Turkey
sample). International Journal of Research in Education and Science, 1(1), 23–30.
123
A problem posing-based practicing strategy for facilitating…
Uysal, M. P. (2014). Improving first computer programming experiences: The case of adapting a web-
supported and well-structured problem-solving method to a traditional course. Contemporary Edu-
cational Technology, 5(3), 198–217.
Vygotsky, L. S. (1962). Thought and language. Cambridge, MA: MIT Press.
Wang, Y., Li, H., Feng, Y., Jiang, Y., & Liu, Y. (2012). Assessment of programming language learning
based on peer code review model: Implementation and experience report. Computers & Education,
59(2), 412–422.
Wang, S. L., & Lin, S. S. (2007). The effects of group composition of self-efficacy and collective efficacy on
computer-supported collaborative learning. Computers in Human Behavior, 23(5), 2256–2268.
Wang, T., Su, X., Ma, P., Wang, Y., & Wang, K. (2011). Ability-training-oriented automated assessment in
introductory programming course. Computers & Education, 56(1), 220–226.
Wichmann, A., & Rummel, N. (2013). Improving revision in wiki-based writing: Coordination pays off.
Computers & Education, 62, 262–270.
Winslow, L. E. (1996). Programming pedagogy-a psychological overview. ACM SIGCSE Bulletin, 28(3),
17–22.
Yakimovicz, A. D., & Murphy, K. L. (1995). Constructivism and collaboration on the Internet: case study of
a graduate class experience. Computers & Education, 24(3), 203–209.
Yang, T. C., Hwang, G. J., Yang, S. J., & Hwang, G. H. (2015). A two-tier test-based approach to improving
students’ computer-programming skills in a web-based learning environment. Journal of Educational
Technology & Society, 18(1), 198.
Zhang, Y., & Yan, D. (2014). Curriculum reform of C language programming and cultivation of compu-
tational thinking. Advances in Natural Science, 7(4), 49–53.
Xiao-Ming Wang is a lecture in the School of Teacher Education, Zhejiang Normal University, China. His
research interests include computer education, computational thinking and web-based learning.
Gwo-Jen Hwang is a Chair Professor at National Taiwan University of Science and Technology, Taipei,
Taiwan. Dr. Hwang has published more than 330 academic papers. His research interests include e-learning,
computer mediated communication, intelligent tutoring system, and expert system. Owing to the good
reputation in academic research and innovative inventions of e-learning, in 2007 and 2011, he received the
annual Most Outstanding Researcher Award from the National Science Council in Taiwan.
123