6 research outputs found

    Studying Transfer of Learning using a Brain-Inspired Spiking Neural Network in the Context of Learning a New Programming Language

    Get PDF
    Transfer of learning (TL) has been an important research area for scholars, educators, and cognitive psychologists for over a century. However, it is not yet understood why applying existing knowledge and skills in a new context does not always follow expectations, and how to facilitate the activation of prior knowledge to enable TL. This research uses cognitive load theory (CLT) and a neuroscience approach in order to investigate the relationship between cognitive load and prior knowledge in the context of learning a new programming language. According to CLT, reducing cognitive load improves memory performance and may lead to better retention and transfer performance. A number of different frequency-based features of EEG data may be used for measuring cognitive load. This study focuses on analysing spatio-temporal brain data (STBD) gathered experimentally using an EEG device. An SNN based computational architecture, NeuCube, was used to create a brain-like computation model and visualise the neural connectivity and spike activity patterns formed when an individual is learning a new programming language. The results indicate that cognitive load and the associated Theta and Alpha band frequencies can be used as a measure of the TL process and, more specifically, that the neuronal connectivity and spike activity patterns visualised in the NeuCube model can be interpreted with reference to the brain activities associated with the TL process

    Using Eye-Tracking Data to Compare Differences in Code Comprehension and Code Perceptions between Expert and Novice Programmers

    Get PDF
    Previous research has examined how eye-tracking metrics can serve as a proxy for directly measuring the amount of cognitive effort and processing required for comprehending computer code. We conducted a pilot study comprising expert (n = 10) and novice (n = 10) computer programmers to examine group differences in code comprehension abilities and perceptions. Programmers were asked to read two pieces of computer code, rate the code on various attributes, and then describe what the code does. Results indicate that experts and novices significantly differ in terms of their fixation counts made during the task, such that experts had more fixations than novices. This was counter to our hypothesis that experts would have fewer fixations than novices. We found no evidence that experts and novices differed in their average fixation durations, trustworthiness and performance perceptions, or willingness to reuse the code

    Representational Learning Approach for Predicting Developer Expertise Using Eye Movements

    Get PDF
    The thesis analyzes an existing eye-tracking dataset collected while software developers were solving bug fixing tasks in an open-source system. The analysis is performed using a representational learning approach namely, Multi-layer Perceptron (MLP). The novel aspect of the analysis is the introduction of a new feature engineering method based on the eye-tracking data. This is then used to predict developer expertise on the data. The dataset used in this thesis is inherently more complex because it is collected in a very dynamic environment i.e., the Eclipse IDE using an eye-tracking plugin, iTrace. Previous work in this area only worked on short code snippets that do not represent how developers usually program in a realistic setting. A comparative analysis between representational learning and non-representational learning (Support Vector Machine, Naive Bayes, Decision Tree, and Random Forest) is also presented. The results are obtained from an extensive set of experiments (with an 80/20 training and testing split) which show that representational learning (MLP) works well on our dataset reporting an average higher accuracy of 30% more for all tasks. Furthermore, a state-of-the-art method for feature engineering is proposed to extract features from the eye-tracking data. The average accuracy on all the tasks is 93.4% with a recall of 78.8% and an F1 score of 81.6%. We discuss the implications of these results on the future of automated prediction of developer expertise. Adviser: Bonita Shari

    Understanding User Cognition: From Spatial Ability to Code Writing and Review

    Full text link
    Understanding how developers carry out different computer science activities with objective measures can help to improve productivity and guide the use and development of supporting tools in software engineering. In this thesis, we present three research components using three different objective measures including neuroimaging (functional magnetic resonance imaging (fMRI) and functional near-infrared spectroscopy (fNIRS)) and eye tracking. We evaluate on over 140 human subjects to explore multiple computing activities, including data structure manipulations, code writing and code review. This thesis presents a systematic framework and shows that it is possible to conduct studies that acquire objective data in a natural setting to provide an understanding of users' underlying cognitive processes in software engineering tasks. We also provide basic principles and guidelines to adapt multiple psycho-physiological measures to software engineering.PHDComputer Science & EngineeringUniversity of Michigan, Horace H. Rackham School of Graduate Studieshttp://deepblue.lib.umich.edu/bitstream/2027.42/169678/1/yhhy_1.pd

    Towards a Neuroscience of Computer Programming & Education:A thesis submitted in partial fulfilment of the requirements of the University of East Anglia for the degree of Doctor of Philosophy. Research undertaken in the School of Psychology, University of East Anglia.

    Get PDF
    Computer programming is fast becoming a required part of School curricula, but students find the topic challenging and university dropout rates are high. Observations suggest that hands-on keyboard typing improves learning, but quantitative evidence for this is lacking and the mechanisms are still unclear. Here we study neural and behavioral processes of programming in general, and Hands-on in particular. In project 1, we taught naïve teenagers programming in a classroom-like session, where one student in a pair typed code (Hands-on) while the other participated by discussion (Hands-off). They were scanned with fMRI 1-2 days later while evaluating written code, and their knowledge was tested again after a week. We find confidence and math grades to be important for learning, and easing of intrinsic inhibitions of parietal, temporal, and superior frontal activation to be a typical neural mechanism during programming, more so in stronger learners. Moreover, left inferior frontal cortex plays a central role; operculum integrates information from the dorsal and ventral streams and its intrinsic connectivity predicts confidence and long-term memory, while activity in Broca’s area also reflects deductive reasoning. Hands-on led to greater confidence and memory retention. In project 2, we investigated the impact of feedback on motivation and reaction time in a rule-switching task. We find that feedback targeting personal traits increasingly impair performance and motivation over the experiment, and we find that activity in precentral gyrus and anterior insula decrease linearly over time during the personal feedback condition, implicating these areas in this effect. These findings promote hands-on learning and emphasize possibilities for feedback interventions on motivation. Future studies should investigate interventions for increasing Need for Cognition, the relationship between computer programming and second language learning (L2), and the role of explicit verbalization of knowledge for successful coding, given the language-like processing of code
    corecore