Project-first approach to programming in K–12: Tracking the development of novice programmers in technology-deprived environments

Research output: Contribution to journalArticlepeer-review

9 Citations (Scopus)

Abstract

Several instructional approaches have been advanced for learning programming. However, effective ways of engaging beginners in programming in K–12 are still unclear, especially among low socioeconomic status learners in technology-deprived learning environments. Understanding the learning path of novice programmers will bridge this gap and explain what constitutes an effective learning path for novice. Thirty-eight students from technology-deprived schools participated in a 10-h project-first constructionist learning. Using the Friedman test of repeated measures and Spearman’s rank correlation, trends in the students’ programming ability were evaluated. The findings showed that the students’ programming ability increased on the first day, remained stable throughout the intervention, and were not affected by either semantics or syntax of the Python programming language. However, the features of a program were inconclusive determinants of programming skills. The irregular patterns of programming concepts within and between the learners’ programming solutions suggest focusing on pedagogies that encourage project-first learning. A constructionist model of learning and the challenges educators may encounter amongst novice learners with low socioeconomic status are highlighted.

Original languageEnglish
Pages (from-to)407-437
Number of pages31
JournalEducation and Information Technologies
Volume28
Issue number1
DOIs
Publication statusPublished - Jan 2023
Externally publishedYes

Keywords

  • Computational thinking
  • Constructionism
  • Novice
  • Problem-solving
  • Programming

Fingerprint

Dive into the research topics of 'Project-first approach to programming in K–12: Tracking the development of novice programmers in technology-deprived environments'. Together they form a unique fingerprint.

Cite this