Distractions in Programming Environments (original) (raw)
Related papers
Exploring perceived cognitive load in learning programming via Scratch
Research in Learning Technology
The purpose of this study is to investigate the perceived cognitive load and its effects on the academic performance in Scratch-based programming. The four main concepts of programming (sequences, operators, conditions and loop) were delivered in the instructional package. Participants were 12 sixth-grade students enrolled at a public secondary school. The results from quantitative and qualitative instruments indicated that students' perceived cognitive loads were close to each other among four programming concepts. The attractive interface of Scratch was somewhat useful but some parts of the interface were problematic for achieving the programming tasks. This study concludes with suggestions for Scratch practitioners and researchers to pay attention to the sources of cognitive load effects.
Learning to program a computer is difficult for many. The Learning Edge Momentum hypothesis suggests that the difficulty may be due to the tightly integrated nature of programming concepts and adapting the way curriculum is offered may have a significant influence on the outcomes. We investigate applying cognitive load reducing methods to instruction of the introductory programming concepts of declaration, assignment and sequence, using a new learning environment that an instructor can adapt for a specific example or that a student can personalize for amount and modality of content provided. Our study has three learning surveys. Each learning survey has short instructional videos designed using cognitive load reducing methods and then asks participants to solve novel problems using the presented materials. Our first learning survey was completed by 123 participants recruited on Amazon’s Mechanical Turk (AMT). We found that 23% that watched the instructional video without computer memory (n=61) answered the three code tracing questions correctly. Our second learning survey included instructional videos prepared after analyzing the results of the iii previous survey and emphasized cognitive load reducing methods in preparing the new instruction. This second survey was completed by 220 participants also recruited via AMT. We found that 57% of the participants that watched the instructional video without computer memory (n=72) answered the three tracing questions correctly. Our third learning survey with 322 participants recruited via AMT confirmed that the difference between the two videos was statistically significant with medium effect size. In the third survey, 29% of the participants watching the first survey instructional video without computer memory and 45% of those that watched the second survey instructional video without computer memory answered all three tracing questions correctly. In the third learning survey, the gain from 29% from our first short video that we thought was a reasonable presentation to 45% in the second short video seems to lend strong support to the hypothesis that our typical methods of instruction for introductory programming simply overwhelm the cognitive capabilities of many of the students. Our results suggest that cognitive load reducing methods may be very helpful for teaching introductory programming concepts.
Various methods and tools have been proposed to overcome the learning obstacles for Object-Oriented Programming (OOP). However, it remains difficult especially for novice learners. The problem may be not only adopting an instructional method, but also an Integrated Development Environment (IDE). Learners employ IDEs as a means to solve programming problems and an inappropriate IDE may impose additional cognitive load. Therefore, this quasi-experimental study tried to identify the cognitive effects of a more visually supportive and functional IDE. It was explored by the functional near-infrared spectroscopy method, which is a relatively new physiological tool for measuring cognitive load. Novice students participated in the study in two experimental groups and they were required to write a Java application using two different IDEs. The results indicated a significant difference between the experimental groups and the findings are discussed in view of the principles of Cognitive Load Theory and Multimedia Learning.
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.
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...
The Combined Use of Lego Mindstorms NXT and App Inventor for Teaching Novice Programmers
Both in Greece and abroad, students in school and in introductory computer science courses perceive programming as a difficult task. Introductory programming courses are often disappointing both for students and for teachers. One of the major factors to which these difficulties in learning programming has been attributed is the traditional approach to teaching the fundamentals of programming, which is unable to provide students with an interesting and richly stimulating environment through which problems and concepts are the subject of investigation in a creative and enjoyable way. In contrast, several studies claim that teachings robotics is suitable to students regardless of age and background and is a way of encouraging learning. This paper presents an alternative use of robotic Lego Mindstorms constructions and the visual programming environment App Inventor for teaching programming with the goal of understanding basic programming structures.
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.
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...
On the Cognitive Effects of Learning Computer Programming: A Critical Look. Technical Report No. 9
This paper cnticallv examines current thinking about whether i e a n m q computer programming promotes the development o i general higher mental functlons \.\'e ,now hhuu ?ne lvailablc evidence. and the underiymg assumptions about the process of learning to program. fail to ~a d r e s s :his issue adequate!^ O u r analvsis is based an a deveioprnentai cynirlvr science perspecttve on learning ro proqram. incorporatine developmenrai and coqnitive science consider~rions ot' the mental activities involved in programmirig It nighlights the imponance tor future research oilnvestiqatinq students' interactions with instructional and programming contexzs. deveioprnentai transformations of their ?roeramming skills. and their background knowledge and rrasoninc ~b~i l c t r s .