A Learning Model for Software Coding Education
Article information
Abstract
Purpose
In this study, we review the creative problem-based learning model (CPBL), flipped learning, creativity, and the relationship between creativity and software coding.
Methods
Following a literature review and development and implementation of a learning model suited to the field of software coding, students (n=31) were surveyed for their perceptions of their experiences with the model.
Results
From the survey, we conclude that collaborative learning and additional self-directed practices in classrooms help students more deeply appreciate program concepts. However, most students still thought software coding too difficult to declare self-confidence on creative programming a code over one semester.
Conclusion
Today, knowing how to code software is indispensable and in a growing range, coding skills are highly valued. Software coding education has been the subject of several studies, since it is considered that the learning activities can contribute to the cultivation of students who are able to solve problems and to adapt to new circumstances or problems. The design of learning events is student-centered with the instructor taking a facilitative role in guiding student learning.
INTRODUCTION
With the advent of convergence information, communication and digital technologies, a hyper-connected society means greater connectivity; the internet is embracing everything with person-to-person, person-to-machine and machine-to-machine connectivity. There will be an explosive increase in the amount of information and knowledge that is shared and accumulated. Technological convergence will now be more complex and mutable than in the fourth industrial revolution era, thus the extent of increases in levels of diversity and creativity that can cope with unexpected situations and solve complex problems will be significant. In other words, it will be essential to acquire new knowledge in classrooms and to be able to creatively solve novel problems through application of newly acquired concepts and knowledge.
Comprehensive three-dimensional thinking aspiring to excellence, greater adaptability, openness and communication ability will be indispensable; the economic structures in the fourth industrial revolution era will evolve to the ‘inspiration’ economy from the ‘perspiration’ economy. So, it is essential to make good use of what we have learned rather than learning a lot. Based on power to think on one’s own, we should be able to personally identify new problems and suggest our own solutions to those problems: ‘Know-why based creativity’ may be a source of future social competitiveness.
In developed countries such as the United States and the United Kingdom, software coding education encompassing concepts and principles for programming languages and algorithms to cultivate students’ logical thinking ability, self-directed problem definition and solving ability, collaboration ability and creativity, is becoming compulsory. The valuable skill in software programming is essential to prepare for the fourth industrial revolution and to develop abilities in logical thinking and communication. The aim of software coding education should not simply focus on grammatical elements of programming language but on language to improve creativity, problem definition and solving, self-direction and cooperation abilities. Those students with sufficient programming abilities will be able to solve problems in daily life given their creative ideas and future computer technologies.
Software coding education should stimulate students to find imaginative solutions to problems when effective teaching strategies and novel learning resources are present: We provide suggestions for a flipped learning model that aims to enhance students’ creativity, self-directed and collaborative learning abilities to solve real problems of daily life. To begin we review the concepts and features of creativity, then describe the proposed model and discuss its effectiveness.
CONCEPTS AND FEATURES OF CREATIVITY
Creativity is the ability to define and solve problems and recognize new possibilities and opportunities. It is a core competence involving flexibility to deal with greater diversity and uncertainty in future society; it has been the subject of discussion in every field of society since Guilford's presentation on divergent thinking in the 1950s. He associated the concept with creativity that featured fluency, flexibility, originality, and elaboration (Sergey, 2017).
With the advent of Guilford’s model of intellect, key instruments to measure divergent thinking or creativity were investigated by the early 1970s. Those interested in understanding creativity generated many definitions, disagreed over its nature and its many facets; Rhodes (1961) suggested 4Ps: Person, process, product, and press (Park, 2014). A person may exhibit his/her creativity in one of four different facets. The 4Ps represent the nature of creative persons, processes they use, products or outcomes of their efforts, the press, or environment that supports or hinders a person’s creativity. Many studies have defined creativity in terms of individual cognitive ability or personality, manifestations of creativity processes, products of creativity, and the ecology harmonizing with social contexts and circumstances (Lim, 2015). Table 1 shows the concept of creativity according to creativity categories.
From Table 1, we conclude that an appropriate learning model for promoting creativity should be based on the ecology of creativity where four categories interact as in a flipped learning model involving a creativity-friendly environment, creative problem-based and collaborative learning that are based on processes of creativity.
For humans, creativity is needed in every conceivable task. It is at the root of every idea or concept and applies to new ways of solving problems. Most investigations of creativity have taken one of two directions (Kaufman & Beghetto, 2009). The first, eminent creativity (called “Big-C creativity”) is a breakthrough but rare type of thinking that may come from a creative genius. The other relates to personal creativity (called “Little-c creativity”) that an average person may use daily to enhance and enrich lives (creating new recipes, new fusions of two cuisines or coming up with new ways to increase production efficiency) (Richards, 1990). Beghetto and Kaufman (2007) found limitations in this approach, noting the interpersonal and developmental nature of creativity. Their model consists of four Cs adding Mini-c and Pro-c to represent the developmental steps of creativity. Mini-c is the personally novel and meaningful interpretation of experiences, actions and events constructing personal knowledge and understanding in a particular sociocultural context. Pro-c, attained by the developmental and effortful progression beyond Little-c, represents the professional-level expertise in any creative area. They discussed several transition paths (Beghetto & Kaufman, 2007; Kaufman & Beghetto, 2009) where everyone begins in Mini-c and can reach Pro-c through the formal apprenticeship in academic institutions or reach Little-c through tinkering – cultivating creativity in a domain through creative experiments even without well-structured mentorship. Someone, who has reached Little-c, may often reach Pro-c through an informal apprenticeship like working with an older, more experienced colleague or mentor.
Creative Process
The creative process relates to the sequence of thoughts and actions that catalyze novel adaptive products (Todd, 2001). Understanding the creative process is very useful for establishing a learning model for creativity education. Wallas suggested the four-stage model to describe the creative process model; preparation, incubation, illumination and verification (Wallas, 1926). Guilford, however, was not satisfied with this process model which did not mention mental operations that actually occur, in terms of comprehensive understanding of creative process. He continued to identify certain abilities that might be involved in creativity; an ability to analyze problems, a capacity to produce many ideas, an ability to handle complexity and an ability to evaluate the idea (Todd, 2001).
Specifying the sub-processes in the creative process has been progressed during the past half-century. The preparation stage involves preliminary analyzing the problem, defining and setting up the problem, and preparing our brain for a trip to create something new. To investigate a problem accurately and to prepare our brain for creation, it will have to draw on education, analytical skills, and problem-solving using relevant knowledge. During the incubation stage, all conscious activities, relating to the creation that we had initially set our mind to do, are stopped and unconscious mental explorations on the problem continue. The unconscious mind discerns between useless ideas and promising ideas and rejects the vast majority of useless ideas. The illumination stage happens when the promising idea moves on to conscious awareness like the ah-ha moment. The illumination can be compared to a flash, a sudden enlightenment and is often proceeded by an intimation that an idea is happening (Todd, 2001). After deriving an idea, the individuals consciously verify whether the idea is worth pursuing in the verification stage. The verification stage involves evaluating, refining, and developing one’s idea. Wallas noted that a person can go back to the early stages of the creative process in the creative problem solving (Wallas, 1926). When an idea is proven to be defective during the verification stage, one may deliberate on how to resolve this flaw.
Todd (2001) noted that variations of a creative process depend on the domain or the characteristics of the individual and should be considered in both theoretical and empirical work. The stages involved in creativity and the methods that enable these to be used together, may vary with the nature of the problem-solving task and need to be taken into account. In order words, when the individuals master specific skills in the creative process but do not know how to combine them when working on a task, creativity education may not be effective.
Creative Problem Solving
Edward & Monika (1994) defined Creative Problem Solving (CPS) as a framework that encourages whole-brain, iterative-thinking as the most effective process; problem definition, idea generation, idea synthesis, idea evaluation, and solution implementation.
Figure 1 illustrates the cyclic, iterative nature of the creative problem-solving process and associated mindsets. Since each mindset has its own value and is suited for particular tasks and involvement in problem solving processes, the whole-brain teams or individuals, practicing whole-brain modes of information processing, are indispensable for solving a problem creatively.
Edward & Monica (1994) argued that activities related to imaginative thinking and interpersonal thinking must be part of the engineering curriculum so individuals can develop their potential in all four quadrants of the brain. CPS can be used to strengthen the productivity, the quality of teamwork, and the thinking and communication skills of students and instructors in all quadrants. It can be also used to deal with everyday problems as well as long-term challenges and opportunities (Treffinger, 2003). The CPS framework involves the four main components; understanding the challenge, generating ideas, preparing for action, and planning your approach.
Creativity Education
Creativity education consists of three categories: “teaching about creativity”, “teaching for creativity” and “teaching creatively”. “Teaching about creativity” is about the concept and characteristics of creativity. “Teaching for creativity” involves a teaching plan that enables students to cultivate and demonstrate potential creativity and to derive creative outcomes. “Teaching creatively” means delivering learning processes in a creative way. Figure 2 shows the educational activities and entities in terms of three categories of creativity education.
These three categories, not mutually exclusive, cultivate innovative teaching/learning strategies and improvement in the learning model involving problem-solving and self-directed learning should be considered; acquisition of new knowledge and talent will emerge for utilization in particular situations involving either individual and/or group tasks. Learning activities should be student-centered rather than instructor-centered; Table 2 shows the instructor’s roles in creativity education.
Software coding education and Problem Solving
Software coding-centric curricula, based on the concepts and principles of program languages and algorithms, aims to improve problem-solving skills consisting of logical and procedural thinking abilities. Software coding is the enabler that allows students to learn new ways of communication and expression but this is a complex skill to master (Jenkins, 2002). Applying conventional learning and teaching models to software coding does not work; there is a need to customize learning processes to allow different students to learn in different ways and at their own pace. The formative assessment with appropriate feedback rather than reliance on the summative assessment lessens the learning pressure on students.
Increasing problem solving and analytical skills enables students to grow intellectually and to think creatively (Tori, 2017), improving capacity for logical thinking and reasoning. It is the iterative experience of software coding, that increases algorithmic thinking, problem solving, and logical thinking; it can provide various opportunities for developing students’ computational thinking ability. Verification items measuring effectiveness of software coding education according to three categories are depicted in Table 3.
Students who resolve their own errors when developing software programs learn also how to solve the problems of daily life because the focus is on cultivating students’ cognitive, logical thinking and reflective skills. This provides a sense of accomplishment and confidence that is transferable to other courses.
Problem-based Learning Model
A learning model includes a conceptual framework that describes methods for organizing learning experiences to achieve specific mental and physical learning outcomes; this serves as a guide for instructors in creating learning activities (Sugiyanto, 2007). The intent is to make student’s learning outcomes as effective as possible because they can make sense of ill-structured situations that they regularly confront in their workplace now and in the future. An important role is that of problem solver, an important aspect of professional practices (Lohman, 2000).
A model that advocates real-world problems for students’ development and application of logical thinking skills is PBL (Problem-based Learning). Students organize prior knowledge and seek new information for solving problems with critical thinking, and build their suite of new concepts knowledge. This model requires students to apply lessons learned from several disciplines and to adapt the concepts to new situations in a very practical way (Strobel & Barmeveld, 2009). According to Strobel (2009), a PBL model is significantly more effective than traditional instruction model in terms of producing competent students and promoting long-term retention of ways of building knowledge and skills acquired during ongoing learning experiences.
In addition, by placing students in the active role of problem solvers confronted with real-world problems in this type of instruction, students work with and alongside each other in their classrooms and communities. The main idea behind PBL is presentation of problems, queries or puzzles, that engage students’ curiosity, introduce or motivate learning, and enable students to pose solutions; the starting point for PBL process is shown in Figure 3.
Similar to creativity processes, PBL, in general, consists of three phases; problem analysis phase, self-directed learning phase, and a subsequent reporting phase (Yew & Goh, 2016). Yew and Goh investigated the effectiveness of the PBL process. Previous studies showed collaborative verbal interactions around learning in the classroom can give rise to their subsequent learning achievements. Expert facilitators guide students’ discussion and assist in the process of developing their collective knowledge, with open-ended metacognitive questions.
The learning issues generated by students and the availability of learning resources identified in the problem analysis phase determine self-directed learning activities to some extent. Another study found that students, who study beyond the learning issues during self-directed learning phase, can achieve better academic achievements (Dolmans, 1994; Van den Hurk, 2002; Yew & Goh, 2016). Ultimately, process variables such as the extent of the problem relevance, tutor expertise, student’s prior knowledge, the extent of identification of personal learning needs, group activity, and time spent on self-directed learning all influence academic achievement. In particular, the quality of learning issues generated in the problem analysis phase, influences group activity that in turn affects the time spent on self-directed learning. The more time spent on self-directed learning, the greater the potential for acquisition of new knowledge. In terms of learning activities, previous studies mainly considered self-directed learning and collaborative learning that are essential in the learning process. However, formal investigation to ascertain the extent to which activities or phases of PBL process impact students’ learning achievement has not been done (Yew & Goh, 2016).
Concepts and Features of Flipped Learning
Flipped learning is a pedagogical approach in which the conventional notion of classroom-based learning is reversed; instructors provide online learning materials or related materials to students before class to prepare in-class time dedicated to deepen understanding through interactive exercises, projects, or discussion with peers based on the learning materials and problem-solving activities facilitated by instructors (Flipped learning, 2019). The concept stemmed from a model of ‘peer instruction’ developed by Eric Mazur. He encouraged student engagement in deeper cognitive thinking via peer instruction and instructor’s challenges in the classroom. This model was expanded to include technological elements such as web course management tools by Baker (2000) who developed the ‘flip’ concept and enunciated the role of instructors as facilitator, adviser, coach or ‘guide on the side’. Subsequently, flipped learning provided an inclusive learning environment in which personalized coaching and mentoring were the norm (Flipped learning, 2019). The learning processes intentionally cause a shift to a student-centered model in which students explore given topics in greater depth and get meaningful learning opportunities. Another intent is to move students away from passive learning to active learning involving collaborative activity and peer learning within PBL. In this context, instructors are no longer knowledge transferors but rather facilitators of students’ more self-directed learning. After in-class activity, students reflect on the feedback they receive and use the feedback to further their learning.
Flipped learning has some pros and cons. The main advantage is that students can learn at their own pace, cultivate personalized learning experiences, the ability for student-centered learning and collaborative learning and this model encourages student’s engagement. However, it requires student active participation and collaboration and all students may not complete the pre-class session. It may be more effective for students who have meta cognitive skills that are about knowing ourselves such that how to learn and what learning style suit us very well. self-discipline is indispensable for the flipped learning. Thus, flipped learning is suitable for university students.
Despite disadvantages of the flipped learning model, flipped learning seems to be a very effective, hands-on approach for diving deeper into the learning material, improving student outcomes, helping where needed but enabling greater student involvement in their own learning processes. “Flipping the class” is an iterative process, so as instructors implement these practices, they can reflect on what works well or what needs to be enhanced (Flipped Classroom, 2019).
DEVELOPMENT OF SOFTWARE CODING LEARNING MODEL
Within a computer programming course about C++ language in the fall semester of 2018, 31 students were enrolled. Using flipped learning, students can acquire basic knowledge, concepts, or simple program codes that help some conceptual understanding before the class and then they have enough time during in-class time to profoundly expand on pre-class learning as a result of particular activities. We adopted collaborative learning and CPBL in the classroom for basic problem-solving and then application to complex problems in order to cultivate individual creativity through self-direction in problem finding and resolution. It seems that collaborating with and learning from other students may be just what is needed to give the likelihood of creative outcomes a boost.
Collaborative learning, in this study, aims at learning how to program a code practically and creatively through discussion with others but reaching their own solution, deriving an algorithm, and programming a code with other students. Instructors selected and presented problems that students should solve individually or in collaboration with their colleagues. Each group consisted of four or five students. Instructors had all students of each group summarize results of discussion including pseudo codes or flow-charts expressing algorithms. Students wrote an individual report on the required function descriptions and program codes. Following report submission, students evaluated the reports of up to five other students. With this peer assessment, students investigated the procedures other students proposed and looked for different or better approaches than their own. Then, instructors evaluated students’ program codes for resolution of presented problem and gave quizzes to check whether each student understood basic concepts. Finally, instructor had students present their own result. In Figure 4, we depict overall educational practice activities in our proposed flipped learning model involving elements of PBL.
Educational processes may be influenced by individual differences such as aptitude, passion, or curiosity about something new. Some students may experience difficulties in understanding basic concepts, while others can easily or creatively apply what they learned to solve new problems. In this study, learners, who were assigned to small groups, began interacting with an instructor or peers to build up knowledge based on relevant materials. They also learned where to go to seek out more to solve a large real-world problem, using the CPBL model.
To encourage creativity, we provided adequate problems to act as a driving force for developing meta cognitive skills; students considered carefully how to learn more effectively by monitoring self-directed learning and managing it. Student activities included the following:
i) identifying a problem, describing a problem, and defining a learning plan – current understanding and analysis of overall goal(s)
ii) decomposing a problem into sub-problems that are manageable
iii) identifying resources to solve the problem including what students have already learned
iv) brainstorming ideas to find a conclusion for a specific problem
v) making and testing the best solution, and evaluating results
vi) articulation of problems and solutions
vii) reflecting on how students learned more effectively, and self-assessment of what students achieved
viii) self-assessment of learning by developing strategies for testing new programming knowledge and making use of supplied self-assessment tools
ix) practicing active listening and other communication skills to share their own solutions, to clarify elements of solutions, and improve solutions.
The activities of collaborative learning and CPBL models in the context of flipped learning are shown in Figure 4. Collaborative learning includes peer-review on the individual report.
Findings
Given our belief that students’ perceptions and attitudes towards the learning model may have a noticeable effect on learning, we used an open-ended questionnaire using a typical five-level Likert items from “strongly disagree” to “strongly agree”. We sought students’ perceptions of experiences with collaborative learning model and CPBL models and the general impact of flipped learning.
An open-ended section of the questionnaire included some items which gave students the opportunity to provide further information, on their negative or positive perceptions of the learning approaches”, “Can flipped learning be applied in other classes?”, “Do you have any other comments, criticisms or suggestions?” Table 4 provides an overview of responses.
To investigate the effectiveness of the proposed learning model, additional questions were posed. The questions and responses are depicted in Figures 5 and 6. From the survey, we conclude that collaborative learning and additional self-directed practices in classroom can help students more deeply appreciate the concepts of programming language. However, most students still think software coding too difficult to declare self-confidence on creative programming a code over one semester.
CONCLUSION
In this study, we proposed a learning model for software coding education combining flipped learning and collaborative learning models with CPBL and investigated its perceived effectiveness on the cultivation of creativity through activities in software coding education for students majoring in game engineering. Since modern generation students are accustomed to learning new knowledge using applications with the information communication technology (ICT), instructors, in modern classrooms, are no longer the only major source of knowledge, but have become facilitators of student learning.
The proposed learning model was designed to provide customized learning content so that students could engage in self-directed learning at their own pace; each student received the appropriate feedback after formative evaluations of problem-solving ability and creativity in response to various problems.
Our survey in this study showed feedback on student perceptions of self-directed practices, potential to improve creativity and understanding of basic concepts and principles of programming languages. The timeline was too short for us to investigate the effectiveness of the proposed learning model in detail.
In future work, we intend to continue this study in order to collect more data about the proposed learning model and its effectiveness; an objective evaluation method should be developed if we are to verify the effectiveness of the proposed learning model. Various creative problems with different difficulty levels should be provided to students to cultivate the likelihood of students’ self-confidence.
Acknowledgements
This work was supported by the Halla/Newcastle PBL Center.
I would like to record my gratitude to Professor Margaret Mcmillan, who has generously reviewed my pages and edited the structure of this manuscript, offering detailed and invaluable comments.