Optimizing Instruction for Learning Computer Programming – A Novel Approach

Computer programming is a highly cognitive skill. It requires mastery of many domains. But in reality many learners are not able to cope with the mental demands required in learning programming. Thus it leads to rote learning and memorization. There are many reasons for this situation. However one of the main reasons is the nature of the novice learners who experience high cognitive load while learning programming. Given the fact that the novice learners lack well defined schema and the limitation of the working memory, the students could not assimilate the knowledge required for learning. Many types of learning supports like visualization is provide to reduce the cognitive load. It is expected that the visualization will help in reducing the cognitive load by expanding the working memory. However the effect of visualization in learning is not clearly tangible. There are two common methods used to measure the cognitive load namely physiological and non physiological measures .It is found based on our prior studies that non physiological measure are more appropriate for measuring cognitive load in a class room situation. The non physiological measures include NASA TLX rating scale. It is also observed from our prior studies that there is a variation in learning performance using same visualization support among the students in a homogenous group. This variation is attributed to the level of Long Term Memory which includes prior mathematical, prior language skills, demographics and gender. This paper will propose a framework to optimize the instruction to learners based on their background profile and the extent of the long term memory and will employ neural network to optimize the instruction by suggesting the best visualization tool for each learner. The paper also validates the performance of the proposed tool by a study with the learners to evaluate the accuracy of the tool.

[1]  Milton S. Boyd,et al.  Designing a neural network for forecasting financial and economic time series , 1996, Neurocomputing.

[2]  Stuart K Garner A Quantitative Study of a Software Tool that Supports a Part-Complete Solution Method on Learning Outcomes , 2009 .

[3]  F. Paas,et al.  Cognitive Load Measurement as a Means to Advance Cognitive Load Theory , 2003 .

[4]  Eberhard Schöneburg,et al.  Stock price prediction using neural networks : A project report , 2003 .

[5]  M.P. Bruce-Lockhart,et al.  Lifting the hood of the computer: program animation with the Teaching Machine , 2000, 2000 Canadian Conference on Electrical and Computer Engineering. Conference Proceedings. Navigating to a New Era (Cat. No.00TH8492).

[6]  Anabela Gomes,et al.  Learning to program - difficulties and solutions , 2007 .

[7]  Elliot Soloway,et al.  Learning to program = learning to construct mechanisms and explanations , 1986, CACM.

[8]  A. Baddeley,et al.  Working memory and executive control. , 1996, Philosophical transactions of the Royal Society of London. Series B, Biological sciences.

[9]  Cláudio T. Silva,et al.  A User Study of Visualization Effectiveness Using EEG and Cognitive Load , 2011, Comput. Graph. Forum.

[10]  Tapio Salakoski,et al.  Effectiveness of Program Visualization: A Case Study with the ViLLE Tool , 2008, J. Inf. Technol. Educ. Innov. Pract..

[11]  Juhani Tuovinen,et al.  Optimising student cognitive load in computer education , 2000, ACSE '00.

[12]  Janet Rountree,et al.  Learning and Teaching Programming: A Review and Discussion , 2003, Comput. Sci. Educ..

[13]  Martha E. Crosby,et al.  Assessing Cognitive Load with Physiological Sensors , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[14]  Wendy Doubé,et al.  Applying Cognitive load theory to computer science education , 2003, PPIG.

[15]  Amy B. Woszczynski,et al.  Personality as a Predictor of Student Success in Programming Principles , 2004 .

[16]  Janet Carter,et al.  Gender differences in programming? , 2002, ITiCSE '02.

[17]  Leon E. Winslow,et al.  Programming pedagogy—a psychological overview , 1996, SGCS.

[18]  Susan Wiedenbeck,et al.  A comparison of the comprehension of object-oriented and procedural programs by novice programmers , 1999, Interact. Comput..

[19]  Iain Milne,et al.  Difficulties in Learning and Teaching Programming—Views of Students and Tutors , 2002, Education and Information Technologies.

[20]  Fang Chen,et al.  Galvanic skin response (GSR) as an index of cognitive load , 2007, CHI Extended Abstracts.

[21]  John Sweller,et al.  Cognitive Load During Problem Solving: Effects on Learning , 1988, Cogn. Sci..

[22]  Nancy Pennington,et al.  Comprehension strategies in programming , 1987 .

[23]  Pavlo D. Antonenko,et al.  Using Electroencephalography to Measure Cognitive Load , 2010 .