Exploring perceived cognitive load in learning programming via Scratch (original) (raw)
Related papers
Measuring Cognitive Load - A Solution To Ease Learning Of Programming
2007
Learning programming is difficult for many learners. Some researches have found that the main difficulty relates to cognitive load. Cognitive overload happens in programming due to the nature of the subject which is intrinisicly over-bearing on the working memory. It happens due to the complexity of the subject itself. The problem is made worse by the poor instructional design methodology used in the teaching and learning process. Various efforts have been proposed to reduce the cognitive load, e.g. visualization softwares, part-program method etc. Use of many computer based systems have also been tried to tackle the problem. However, little success has been made to alleviate the problem. More has to be done to overcome this hurdle. This research attempts at understanding how cognitive load can be managed so as to reduce the problem of overloading. We propose a mechanism to measure the cognitive load during pre instruction, post instruction and in instructional stages of learning. T...
It is important to teach students programming at an early age so that they do not have difficulty in understanding the programming logic when they reach the age of undergraduate education. Scratch, a visual two-dimensional programming tool, has been developed to accomplish this purpose. There are studies in the literature related to Scratch on problem-solving skills, but they are not directed at the steps of problem solving. In order to find a proper solution to a problem, it is necessary to carry out each problem-solving step in an appropriate way. Based on this need, the aim of this study is to investigate how teaching programming through Scratch affects the problem-solving skills of 5th and 6th grade middle school students and to identify the steps that students go through to solve ill-structured problems. It is also intended that these steps guide teachers in terms of the pedagogies for teaching coding. This study utilized an explanatory design, one of the mixed method research designs. In the quantitative stage of the study, a one-group pretest-posttest model, one of the simple experimental models, was used. In the qualitative stage, a case study model was used as the research design. A total of 226 5th and 6th grade students, including 109 males and 117 females, constituted the sample of the study. The data were collected using a problem-solving skills scale and interview questions. A statistically significant difference was found between the mean scores of the first and second measurements of the problem-solving skills scale according to the Wilcoxon signed-rank test result. According to the results, when teaching programming through Scratch, it is recommended to have students design games, as an alternative method, for them to develop problem-solving skills. The solution of a problem is facilitated when students construct a game in their minds in accordance with real-life conditions and design and detail it in accordance with computational expressions.
Applying Cognitive Load Theory to Computer Science Education
2003
Cognitive Load Theory provides a theoretical basis for understanding the learning process. It uses an information processing model to describe how the mind acquires and stores knowledge, and to provide an explanation for the limitations imposed by working memory. This paper describes Cognitive Load Theory, discusses its application in a number of areas, and explores its potential uses in understanding and improving novice programming and computer science education. A number of research directions are suggested.
International Journal of Eurasia Social Sciences, 2018
It is important to teach students programming at an early age so that they do not have difficulty in understanding the programming logic when they reach the age of undergraduate education. Scratch, a visual two-dimensional programming tool, has been developed to accomplish this purpose. There are studies in the literature related to Scratch on problem-solving skills, but they are not directed at the steps of problem solving. In order to find a proper solution to a problem, it is necessary to carry out each problem-solving step in an appropriate way. Based on this need, the aim of this study is to investigate how teaching programming through Scratch affects the problem-solving skills of 5th and 6th grade middle school students and to identify the steps that students go through to solve ill-structured problems. It is also intended that these steps guide teachers in terms of the pedagogies for teaching coding. This study utilized an explanatory design, one of the mixed method research designs. In the quantitative stage of the study, a one-group pretest-posttest model, one of the simple experimental models, was used. In the qualitative stage, a case study model was used as the research design. A total of 226 5th and 6th grade students, including 109 males and 117 females, constituted the sample of the study. The data were collected using a problem-solving skills scale and interview questions. A statistically significant difference was found between the mean scores of the first and second measurements of the problem-solving skills scale according to the Wilcoxon signed-rank test result. According to the results, when teaching programming through Scratch, it is recommended to have students design games, as an alternative method, for them to develop problem-solving skills. The solution of a problem is facilitated when students construct a game in their minds in accordance with real-life conditions and design and detail it in accordance with computational expressions.
Measuring the Cognitive Load of Learning to Program: A Replication Study
United Kingdom & Ireland Computing Education Research conference.
Cognitive load (CL) on a learner's working memory has emerged as an influential concept in computing education and beyond. CL is commonly divided in at least two components, intrinsic load (IL) and extraneous load (EL). We seek progress on two questions: (1) How can CL components be measured in the programming domain? (2) How should CL measurement deal with the "third component" of germane load (GL)? We replicate two studies: Morrison and colleagues' [49] evaluation of a questionnaire for self-assessing CL in programming, which is an adaptation of a generic instrument; and Jiang and Kalyuga's [24] study, which found support for a twocomponent measure of CL in language learning, with GL redundant. We crowd-sourced CL data using Morrison's questions at the end of a video tutorial on programming for beginners. A confirmatory factor analysis found strong support for a three-factor model, with factors matching the items intended to capture IL, EL, and GL, respectively. A two-factor model with IL-targeting and GL-targeting items combined gave a poorer fit. Our findings strengthen the claims of discriminant validity and internal reliability for Morrison's CL questionnaire for programming; construct validity for GL remains open, however. We affirm the need for further research on the twocomponent theory of CL and the sensitivity of CL self-assessments to contextual factors. CCS CONCEPTS • Social and professional topics → Computing education.
Computer programming is perceived as an important competence for the development of problem solving skills in addition to logical reasoning. Hence, its integration throughout all educational levels, as well as the early ages, is considered valuable and research studies are carried out to explore the phenomenon in more detail. In light of these facts, this study is an exploratory effort to investigate the effect of Scratch programming on 5th grade primary school students' prob� lem solving skills. Moreover, the researchers wondered what 5th grade primary school students think about programming. This study was carried out in an explanatory sequential mixed methods design with the participation of 49 primary school students. According to the quantitative results, programming in Scratch platform did not cause any significant differences in the problem solving skills of the primary school students. There is only a non-significant increase in the mean of the fac� tor of "self-confidence in their problem solving ability". When the thoughts of the primary students were considered, it can be clearly stated that all the students liked programming and wanted to improve their programming. Finally, most of the students found the Scratch platform easy to use.
Reducing cognitive load in learning computer programming
2006
Many difficulties are faced in the process of learning computer programming. This paper will propose a system framework intended to reduce cognitive load in learning programming. In first section focus is given on the process of learning and the shortcomings of the current approaches to learning programming. Finally the proposed prototype is suggested along with the justification of the prototype. In the proposed prototype the concept map is used as visualization metaphor. Concept maps are similar to the mental schema in long term memory and hence it can reduce cognitive load well. In addition other method such as part code method is also proposed in this framework to can reduce cognitive load.
Scaffolding Model for Efficient Programming Learning Based on Cognitive Load Theory
2018
Programming learning for beginners requires tremendous amount of exposure to understand the logic in each programming solution using the basic concepts despite the overwhelming syntax it might carries. Learning programming through examples with careful walkthrough builds learners’ confidence to embark with problems of any designs, avoids frustration due to syntax error and unintentional bugs. Scaffolding involves meta-programming approach of building software applications using supported materials that provides some inspiration of how the program could be developed. This research identifies important attributes in programming and proposes a scaffold model to enhance programming learning efficiency especially among novice programmers. The study applies cognitive load theory by providing users with two types of instructional design as learning support to reduce mental effort applied in the working memory i.e. worked-example and goal free programming problem solutions. The model is exp...
This study presents a set of categories of learning activities which could be performed by the students using the tools of the well-known educational software Scratch (www.scratch.mit.edu) that is dedicated for the learning of programming by novices. Specifically, eleven categories of learning activities that could be performed within Scratch were formed, namely: (a) Free creative activities, (b) Solving a specific problem, © Multiple solution tasks, (d) Experimentation within working Scratch projects, (e) Modification of working Scratch projects, (f) Working on a complete Scratch output and a correct but incomplete part of its code, (g) Working on a complete Scratch output and a mixed form of its code, (h) Working with a complete Scratch output and an incorrect part of its code, (i) Working with the complete code of a Scratch program and predicting its output, (j) Black-box activities, and (k) Collaborative learning activities. Computing teachers can use these categories of activities in their attempts to design appropriate every day classroom settings for the learning of programming by novices within Scratch.
Learning Computer Science Concepts with Scratch
Scratch is a visual programming environment that is widely used by young people. We investigated if Scratch can be used to teach concepts of computer science. We developed new learning materials for middle-school students that were designed according to the constructionist philosophy of Scratch and evaluated them in two schools. The classes were normal classes, not extracurricular activities whose participants are self-selected. Questionnaires and a test were constructed based upon a novel combination of the Revised Bloom Taxonomy and the SOLO taxonomy. These quantitative instruments were augmented with a qualitative analysis of observations within the classes. The results showed that in general students could successfully learn important concepts of computer science, although there were some problems with initialization, variables and concurrency; these problems can be overcome by modifications to the teaching process.