ABSTRACT
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.
- Altadmri, A., & Brown, N. C. C. (2015). 37 million compilations: Investigating novice programming mistakes in large-scale student data. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (pp. 522--527). New York, New York, USA: ACM Press. Google ScholarDigital Library
- Becker, B. A. (2016). An effective approach to enhancing compiler error messages. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education - SIGCSE '16 (pp. 126--131). Google ScholarDigital Library
- Becker, B. A., Glanville, G., Iwashima, R., McDonnell, C., Goslin, K., & Mooney, C. (2016). Effective compiler error message enhancement for novice programming students. Computer Science Education, 26(2--3), 148--175.Google Scholar
- Bell, T., Andreae, P., & Robins, A. (2014). A case study of the introduction of computer science in NZ schools. ACM Transactions on Computing Education, 14(2), 1--31. Google ScholarDigital Library
- Brown, N. C. C., & Altadmri, A. (2017). Novice java programming mistakes: Large-scale data vs. educator beliefs. ACM Transactions on Computing Education, 17(2), 7:1--7:21. Google ScholarDigital Library
- Brown, N. C. C., Sentance, S., Crick, T., & Humphreys, S. (2014). Restart: The resurgence of computer science in uk schools. ACM Transactions on Computing Education, 14(2), 1--22. Google ScholarDigital Library
- Denny, P., Luxton-Reilly, A., & Tempero, E. (2012). All syntax errors are not equal. Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education - ITiCSE '12, 75--80. Google ScholarDigital Library
- Denny, P., Luxton-Reilly, A., Tempero, E., & Hendrickx, J. (2011). Understanding the syntax barrier for novices. Proceedings of the 16th Annual Joint Conference on Innovation and Technology in Computer Science Education - ITiCSE '11, 208. Google ScholarDigital Library
- Douce, C., Livingstone, D., & Orwell, J. (2005). Automatic test-based assessment of programming. Journal on Educational Resources in Computing, 5(3), 4:1--13. Google ScholarDigital Library
- Grandell, L., Peltomäki, M., Back, R.-J., & Salakoski, T. (2006). Why Complicate Things?: Introducing Programming in High School Using Python. In Proceedings of the 8th Australasian Conference on Computing Education - Volume 52 (pp. 71--80). Darlinghurst, Australia, Australia: Australian Computer Society, Inc. Retrieved from http://dl.acm.org/citation.cfm?id=1151869.1151880 Google ScholarDigital Library
- Guo, P. (2014). Python Is Now the Most Popular Introductory Teaching Language at Top U.S. Universities. Retrieved October 12, 2018, from https://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-u-s-universities/fulltextGoogle Scholar
- Guzdial, M. (2015). Learner-centered design of computing education: research on computing for everyone. Synthesis Lectures on Human-Centered Informatics, 8(6), 1--165.Google ScholarCross Ref
- Guzdial, M. (2016). Bringing computer science to U.S. schools, state by state. Communications of the ACM, 59(5), 24--25. Google ScholarDigital Library
- Jackson, J., Cobb, M., & Carver, C. (2005). Identifying top Java errors for novice programmers. In Proceedings Frontiers in Education 35th Annual Conference (p. T4C--T4C).Google ScholarCross Ref
- Jadud, M. C. (2005). A First Look at Novice Compilation Behaviour Using BlueJ. Computer Science Education, 15(1), 25--40.Google ScholarCross Ref
- Kohn, T. (2017). Teaching Python Programming to Novices: Addressing Misconceptions and Creating a Development Environment.Google Scholar
- Pettit, R. S., Homer, J., & Gee, R. (2017). Do enhanced compiler error messages help students? Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education - SIGCSE '17, 465--470. Google ScholarDigital Library
- Price, T. W., Dong, Y., & Lipovac, D. (2017). iSnap: Towards intelligent tutoring in novice programming environments. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education - SIGCSE '17 (pp. 483--488). New York, NY, USA: ACM Press. Google ScholarDigital Library
- Qian, Y., & Lehman, J. D. (2016). Correlates of Success in Introductory Programming: A Study with Middle School Students. Journal of Education and Learning, 5(2), 73--83.Google ScholarCross Ref
- Qian, Y., & Lehman, J. (2017). Students' misconceptions and other difficulties in introductory programming: A literature review. ACM Transactions on Computing Education, 18(1), 1:1--1:24. Google ScholarDigital Library
- Qian, Y., & Lehman, J. (2018). Using technology to support teaching computer science: A study with middle school students. Eurasia Journal of Mathematics, Science and Technology Education, 14(12).Google Scholar
- Sirkia, T., & Sorva, J. (2012). Exploring programming misconceptions: An analysis of student mistakes in visual program simulation exercises. In 12th Koli Calling International Conference on Computing Education Research (pp. 19--28). Google ScholarDigital Library
- Stefik, A., & Siebert, S. (2013). An Empirical Investigation into Programming Language Syntax. Trans. Comput. Educ., 13(4), 19:1--19:40. Google ScholarDigital Library
- Sweller, J. (1988). Cognitive load during problem solving: Effects on learning. Cognitive Science, 12(2), 257--285.Google ScholarCross Ref
- Swidan, A., Hermans, F., & Smit, M. (2018). Programming Misconceptions for School Students. In Proceedings of the 2018 ACM Conference on International Computing Education Research (pp. 151--159). New York, NY, USA: ACM. Google ScholarDigital Library
Index Terms
- Using Data to Understand Difficulties of Learning to Program: A Study with Chinese Middle School Students
Recommendations
Students’ Misconceptions and Other Difficulties in Introductory Programming: A Literature Review
Efforts to improve computer science education are underway, and teachers of computer science are challenged in introductory programming courses to help learners develop their understanding of programming and computer science. Identifying and addressing ...
A comprehensive software engineering education program for grades 6 to 12 in NYC public schools (abstract only)
SIGCSE '13: Proceeding of the 44th ACM technical symposium on Computer science educationHow do we best prepare middle and high school students for college and career pathways in software engineering? Current industry and academic trends suggest that students are best prepared for postsecondary success in new and emerging interdisciplinary ...
Rapid Entry into Masters in Computing Program for Non-Majors
ITiCSE '21: Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education V. 1The COSMIC: Change Opportunity - Start Masters in Computing graduate curriculum initiative strives to provide a rapid entry pathway to a professional Master of Science (MS) degree for individuals who do not have an undergraduate degree in computing, but ...
Comments