Using Data to Understand Difficulties of Learning to Program

Yizhou Qian, Peilin Yan, Ming-Ke Zhou · 2019

Computing education has been expanding into K-12 schools in many countries. The new national curriculum standards in China are going to include computational thinking as a core literacy for every student and make computer programming as a required module in the information technology course. Hence, it is imperative to understand the difficulties Chinese students may face when learning to program. This study investigated Chinese middle students' difficulties in learning to program in Python using the student data in an automated assessment system. Our results showed that the students struggled with fundamental Python syntax and programming rules. We also found that Chinese students faced a special difficulty, which was using correct punctuation symbols in code. We noted that many syntax errors students made were due to the use of Chinese punctuation symbols, which look almost identical to the English equivalents but are invalid to the Python interpreter. Our results suggest that when teaching a programming course to Chinese middle school students, teachers should first help students develop certain typing skills (e.g., switching input methods, distinguishing Chinese and English punctuation symbols, etc.). Such preparation may reduce students' mistakes in code. Finally, future research directions are discussed, including examining the effects of the typing skill training, designing feedback components for the automated assessment system, and so forth.

Read the paper · More papers on PaperTik