skip to main content
10.1145/3300115.3309521acmconferencesArticle/Chapter ViewAbstractPublication PagescompedConference Proceedingsconference-collections
research-article

Using Data to Understand Difficulties of Learning to Program: A Study with Chinese Middle School Students

Published:09 May 2019Publication History

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle Scholar
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle Scholar
  12. 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 ScholarGoogle ScholarCross RefCross Ref
  13. Guzdial, M. (2016). Bringing computer science to U.S. schools, state by state. Communications of the ACM, 59(5), 24--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarCross RefCross Ref
  15. Jadud, M. C. (2005). A First Look at Novice Compilation Behaviour Using BlueJ. Computer Science Education, 15(1), 25--40.Google ScholarGoogle ScholarCross RefCross Ref
  16. Kohn, T. (2017). Teaching Python Programming to Novices: Addressing Misconceptions and Creating a Development Environment.Google ScholarGoogle Scholar
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarCross RefCross Ref
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. Stefik, A., & Siebert, S. (2013). An Empirical Investigation into Programming Language Syntax. Trans. Comput. Educ., 13(4), 19:1--19:40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Sweller, J. (1988). Cognitive load during problem solving: Effects on learning. Cognitive Science, 12(2), 257--285.Google ScholarGoogle ScholarCross RefCross Ref
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Using Data to Understand Difficulties of Learning to Program: A Study with Chinese Middle School Students

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          CompEd '19: Proceedings of the ACM Conference on Global Computing Education
          May 2019
          260 pages
          ISBN:9781450362597
          DOI:10.1145/3300115

          Copyright © 2019 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 9 May 2019

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          CompEd '19 Paper Acceptance Rate33of100submissions,33%Overall Acceptance Rate33of100submissions,33%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader