Abstract

This study attempts to explore cognition during program comprehension through physiological evidence by recording and comparing electroencephalogram (EEG) activities in different frequency bands and the eye movements of the participants with high or low programming abilities. An experiment was conducted with thirty-three undergraduate students majoring in Computer Science. We recorded their EEG activities when they were reading two programs with three types of program constructs. At the same time, the participants’ eye movements were recorded by an eye tracker to further understand the relationship between the program comprehension process and EEG activities. Experimental results show that the high-performance participants displayed higher performance for working memory (theta power), attention resource allocation (lower alpha power), and interaction between working memory and semantic memory (upper alpha power) in program comprehension tasks of complex constructs, which proves related theories proposed in the existing research on programming and cognition. The results of this study not only offer objective evidence of the roles cognition plays in program comprehension but also provide educators with suggestions for designing suitable pedagogical strategies.

Highlights

  • Computer programming is a challenging skill involving complicated tasks executed based upon programmers’ mental models based upon cognitive structures and cognitive processes [1]

  • The results show that programming experts formed their mental representations of programming based mostly on control flow rather than functional or data flow abstraction

  • They, displayed high performance regarding the interaction between mental representation in the working memory and programming knowledge in the long-term memory [84]

Read more

Summary

Introduction

Computer programming is a challenging skill involving complicated tasks executed based upon programmers’ mental models based upon cognitive structures (what programmers possess in their memories) and cognitive processes (involved in using or adding knowledge) [1]. With regard to the execution of computer programming tasks, various mental models influence learners’ cognitive processes while writing or comprehending programs which influence their programming skills [4] Programming experts build their mental models based upon programming knowledge stored in long-term memory which includes programming structures, rules of programming discourse, and planning knowledge [5] [6]. Existing research relies more on subjective evidence, such as participants’ behaviors or results from interviews: previous studies are unclear with regard to the importance of parameters like memory capacity, mental models, and programming strategies in the overall process of learning and applying skills in the area of computer programming. Further research will be needed in order to clarify and explain these relationships

Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call