ABSTRACT
Programming is a complex cognitive skill that develops over an extended period of time. The development of programming ability is the product of a number of different cognitive, affective, and dispositional factors. Furthermore, programming ability itself is a complex learning outcome that cannot be measured simply. Prior research on the individual factors that are associated with success in programming is extensive, but detailed pictures of the interactions over time of the many factors involved are rare to non-existent. My dissertation research focuses on building such a detailed picture of the factors that contribute to students developing programming ability. If these processes were better understood by CS education researchers, then interventions to improve student learning in introductory programming contexts could be more theoretically informed and effectively applied.
- P. L. Ackerman. Determinants of Individual Differences During Skill Acquisition: Cognitive Abilities and Information Processing. Journal of Experimental Psychology: General, 117(3):288--318, 1988.Google ScholarCross Ref
- M. Ainley, S. Hidi, and D. Berndorff. Interest, Learning, and the Psychological Processes That Mediate Their Relationship. Journal of Educational Psychology, 94(3):545--561, 2002.Google ScholarCross Ref
- J. Bennedsen and M. E. Caspersen. Failure rates in Introductory Programming. ACM SIGCSE Bulletin, 39(2):32--36, 2007. Google ScholarDigital Library
- S. Bergin and R. Reilly. Programming: Factors that Influence Success. ACM SIGCSE Bulletin, 37(1):411--415, 2005. Google ScholarDigital Library
- R. Kanfer and P. L. Ackerman. Motivation and Cognitive Abilities: An Integrative/ Aptitude-Treatment Interaction Approach to Skill Acquisition. Journal of Applied Psychology, 74(4):657--690, 1989.Google ScholarCross Ref
- P. Kinnunen and B. Simon. CS Majors' Self-Efficacy Perceptions in CS1: Results in Light of Social Cognitive Theory. Proceedings of the seventh international workshop on Computing education research - ICER '11, pages 19--26, 2011. Google ScholarDigital Library
- A. Lishinski, A. Yadav, J. Good, and R. Enbody. Learning to Program: Gender Differences and Interactive Effects of Students' Motivation, Goals, and Self-Efficacy on Performance. Proceedings of the 12th Annual International ACM Conference on International Computing Education Research (ICER '16), 2016. Google ScholarDigital Library
- M. Lopez, J. Whalley, P. Robbins, and R. Lister. Relationships Between Reading, Tracing and Writing Skills in Introductory Programming. Proceedings of the fourth international workshop on Computing education research - ICER '08, pages 101--112, 2008. Google ScholarDigital Library
- National Science Foundation. CS For All, 2016.Google Scholar
- A. Robins. Learning edge momentum: a new account of outcomes in CS1. Computer Science Education, 20(1):37--71, 2010.Google ScholarCross Ref
Index Terms
- Cognitive, Affective, and Dispositional Components of Learning Programming
Recommendations
Affective Learning: Empathetic Agents with Emotional Facial and Tone of Voice Expressions
Empathetic behavior has been suggested to be one effective way for Embodied Conversational Agents (ECAs) to provide feedback to learners' emotions. An issue that has been raised is the effective integration of parallel and reactive empathy. The aim of ...
Cognitive Differences Between Procedural Programming and Object Oriented Programming
Software development is moving from procedural programming towards object-oriented programming (OOP). Past studies in cognitive aspects of programming have focused primarily on procedural programming languages. Object-oriented programming is a new ...
Multimedia learning object to build cognitive understanding in learning introductory programming
MoMM '09: Proceedings of the 7th International Conference on Advances in Mobile Computing and MultimediaProgramming is taught as foundation module at the beginning of undergraduate studies and/or during foundation year. Learning introductory programming languages such as Pascal, Basic / C (procedural) and C++ / Java (object oriented) requires learners to ...
Comments