skip to main content
10.1145/3304221.3319776acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article

Pedagogical Content for Professors of Introductory Programming Courses

Authors Info & Claims
Published:02 July 2019Publication History

ABSTRACT

Teaching introductory programming requires knowledge of both content and pedagogy. Pedagogy includes understanding the typical difficulties students face as they learn, as well as recognizing didactic strategies professors can use to help students to overcome these difficulties. Our research aims to improve the pedagogical knowledge instructors have to teach introductory programming courses, especially those new in this area. We conducted 16 semi-structured interviews with instructors who teach introductory programming courses and collected diaries filled by 110 students during their studies. Qualitative analysis of this data revealed a set of difficulties students faced when learning programming basics and a set of didactic strategies professors use to mitigate them. The results were reviewed by senior instructors in order to confirm them and by junior instructors to verify the importance of this material from their perspective. The main contribution of our paper is a set of difficulties faced by students learning programming, a classification of the most harmful challenges, and the didactic strategies usually used to teach and avoid them. Thus, we provide the basis for the pedagogical content necessary to junior and senior professors planning introductory programming courses.

References

  1. Essi Lahtinen; Kirsti Ala-Mutka and Hannu-Matti Jarvinen. 2005. A study of the difficulties of novice programmers. ACM SIGCSE Bulletin, Vol. 37, 3 (Sept 2005), 14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Kirsti M. Ala-Mutka. 2004. Problems in learning and teaching programming-a literature study for developing visualizations in the Codewitz-Minerva project. Codewitz Needs Analysis (2004), 1--13.Google ScholarGoogle Scholar
  3. Jens Bennedsen and Michael E. Caspersen. 2007. Failure rates in Introductory Programming. ACM SIGCSE Bulletin, Vol. 39, 2 (Jun 2007), 32--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Ilias Bergstrom and Alan F Blackwell. 2016. The practices of programming. 2016 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) (2016), 190--198.Google ScholarGoogle ScholarCross RefCross Ref
  5. Yorah Bosse and Marco Aurelio Gerosa. 2016. Why is programming so difficult to learn? Patterns of Difficulties Related to Programming Learning. ACM SIGSOFT Software Engineering Notes, Vol. 41, 6 (2016), 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. John D. Bransford; Ann L. Brown and Rodney R. Cocking. 2000. How People Learn: Brain, Mind, Experience, and School. Expanded Edition. National Academy Press (2000), 384.Google ScholarGoogle Scholar
  7. Jill Cao; Irwin Kwan; Rachel White; Scott D. Fleming; Margaret M. Burnett and Christopher Scaffidi. 2012. From barriers to learning in the idea garden: An empirical study. IEEE Symposium on Visual Languages and Human (2012), 59--66.Google ScholarGoogle Scholar
  8. Juliet Corbin and Anselm Strauss. 1990. Grounded theory research: Procedures, canons, and evaluative criteria. Qualitative Sociology, Vol. 13, 1 (1990), 3--21.Google ScholarGoogle ScholarCross RefCross Ref
  9. Juliet Corbin and Anselm Strauss. 2015. Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory 4rd ed.). SAGE Publications, Inc. 456 pages. https://us.sagepub.com/en-us/nam/basics-of-qualitative-research/book235578Google ScholarGoogle Scholar
  10. John W. Creswell. 2014. Research design: Qualitative, quantitative, and mixed methods approaches 4rd ed.). SAGE Publications, Inc. 304 pages.Google ScholarGoogle Scholar
  11. Juan C. Rodriguez del Pino; Enrique Rubio-Royo and Zenon J. Hernandez-Figueroa. 2012. A Virtual Programming Lab for Moodle with automatic assessment and anti-plagiarism features. Conf. e-Learning, e-Business, Entrep. Inf. Syst. e-Government (2012).Google ScholarGoogle Scholar
  12. Michelle Ichinco; Yoanna Dosouto and Caitlin Kelleher. 2014. A tool for authoring programs that automatically distribute feedback to novice programmers. IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) (2014), 207--208.Google ScholarGoogle Scholar
  13. Matthew Fisher and Frank C. Keil. 2015. The Curse of Expertise: When More Knowledge Leads to Miscalibrated Explanatory Insight. Cognitive Science: A Multidisciplinary Journal, Vol. 40, 5 (Sep 2015), 1251--1269.Google ScholarGoogle Scholar
  14. Anabela Gomes and Antonio Mendes. 2007. Learning to program - difficulties and solutions. International Conference on Engineering Education - ICEE 2007 (2007). http://icee2007.dei.uc.pt/proceedings/papers/411.pdfGoogle ScholarGoogle Scholar
  15. Anabela Gomes and Antonio Mendes. 2015. A teacher's view about introductory programming teaching and learning: Difficulties, strategies and motivations. 2014 IEEE Frontiers in Education Conference (FIE) Proceedings (Feb 2015), 1--8.Google ScholarGoogle Scholar
  16. Sandy Garner; Patricia Haden and Anthony Robins. 2005. My program is correct but it doesn't run: A preliminary investigation of novice programmers' problems. ACE '05 Proceedings of the 7th Australasian conference on Computing education, Vol. 42 (2005), 173--180. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Michelle Ichinco and Caitlin Kelleher. 2017. Towards Block Code Examples that Help Young Novices Notice Critical Elements. 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) (2017), 335--336.Google ScholarGoogle ScholarCross RefCross Ref
  18. Tony Jenkins. 2002. On the Difficulty of Learning to Program. Language, Vol. 4 (2002), 53--58.Google ScholarGoogle Scholar
  19. Ian Drosos; Philip J.Guo and Chris Parnin. 2017. HappyFace: Identifying and predicting frustrating obstacles for learning programming at scale. Proceedings of IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC (2017), 171--179.Google ScholarGoogle Scholar
  20. Fadi P. Deek; Howard Kimmel and James A. McHugh. 1998. Pedagogical Changes in the Delivery of the First-Course in Computer Science: Problem Solving, Then Programming. Journal of Engineering Education, Vol. 87, 3 (July 1998), 313--320.Google ScholarGoogle Scholar
  21. Michael J. Lee. 2014. Gidget: An online debugging game for learning and engagement in computing education. 2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) (2014), 193--194.Google ScholarGoogle ScholarCross RefCross Ref
  22. Mahmoud M. Mhashi and Ali M. Alakeel. 2013. Difficulties Facing Students in Learning Computer Programming Skills at Tabuk University. Recent Advances in Modern Educational Technologies (2013), 15--24. https://www.tib.eu/en/search/id/BLCP%3ACN084897952/Difficulties-Facing-Students-in-Learning-Computer/Google ScholarGoogle Scholar
  23. Iain Milne and Glenn Rowe. 2002. Difficulties in Learning and Teaching Programming - Views of Students and Tutors. Education and Information Technologies, Vol. 7, 1 (Mar 2002), 55--66. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Martinha Piteira and Carlos Costa. 2013. Learning Computer Programming: Study of difficulties in learning programming. Proceedings of the 2013 International Conference on Information Systems and Design of Communication - ISDOC '13 (2013), 75--80. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Edward F. Redish. 1996. Discipline-Specific Science Education and Educational Research: The Case of Physics. Journal of Applied Developmental Psychology, Vol. 21, 1 (1996), 85--96.Google ScholarGoogle ScholarCross RefCross Ref
  26. Alexander Repenning. 2011. Making programming more conversational. IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) (2011), 191--194.Google ScholarGoogle ScholarCross RefCross Ref
  27. Maria Hristova; Ananya Misra; Megan Rutter and Rebecca Mercuri. 2003. Identifying and correcting Java programming errors for introductory computer science students. ACM SIGCSE Bulletin, Vol. 35, 1 (2003), 19--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Pranay Kumar Sevella and Young Lee. 2013. Determining the barriers faced by novice programmers. International Journal of Software Engineering (IJSE), Vol. 4, 1 (2013), 10--22. https://vpn.utm.my/docview/1416417332?accountid=41678Google ScholarGoogle Scholar
  29. Lee S. Shulman. 1986. Those Who Understand: Knowledge Growth in Teaching. American Educational Researcher Association, Vol. 15, 2 (Feb 1986), 4--14. http://www.jstor.org/stable/1175860Google ScholarGoogle ScholarCross RefCross Ref
  30. Lee S. Shulman. 1987. Knowledge and Teaching: Foundations of the New Reform. Harvard Educational Review, Vol. 57, 1 (Apr 1987), 1--23. http://hepgjournals.org/doi/10.17763/haer.57.1.j463w79r56455411Google ScholarGoogle ScholarCross RefCross Ref
  31. David Weintrop. 2015. Blocks, text, and the space between: The role of representations in novice programming environments. 2015 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), Vol. 2015-Decem, C (2015), 301--302.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Pedagogical Content for Professors of Introductory Programming Courses

        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
          ITiCSE '19: Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education
          July 2019
          583 pages
          ISBN:9781450368957
          DOI:10.1145/3304221

          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 ACM 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: 2 July 2019

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate552of1,613submissions,34%

          Upcoming Conference

          ITiCSE 2024

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader