Restoring "coding with intention" in introductory programming courses

  • Authors:
  • Alessio Gaspar;Sarah Langevin

  • Affiliations:
  • University of South Florida, Lakeland, FL;University of South Florida, Lakeland, FL

  • Venue:
  • Proceedings of the 8th ACM SIGITE conference on Information technology education
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

This descriptive study discusses two conceptual difficulties encountered by students in introductory programming courses regardless of the chosen language or pedagogical approach (e.g. objects, classes or fundamentals first). Firstly, students tend to learn programming by memorizing correct code examples instead of acquiring the programming thought process. Secondly, they tend to read code by "flying" over it at a comfortable altitude while thinking to its assumed intent. While relaxing, this practice fails to train students to develop the rigor to catch bugs in others' or their own code. Both trends result in an almost complete loss of intentionality in the programming activity; un-innovative code is generated by analogy with (or cut and paste from) existing solutions and is then almost randomly modified until "it fits" the minimal tests requirements without real analysis of its flaws. We review and evaluate pedagogical strategies which can be leveraged by instructors to address the above mentioned issues. Namely, we discuss the benefits of various forms of "Live coding" and test-driven pair programming active learning practices.