Introductory programming courses (CS1) are difficult for novices. Inspired by Problem solving followed by instruction and Productive Failure approaches, we define an original "necessity driven" learning design. Students are put in an apparently well-known situation, but this time they miss an essential ingredient (the target concept) to solve the problem. Then, struggling to solve it, they experience the necessity of that concept. A direct instruction phase follows. Finally, students return to the problem with the necessary knowledge to solve it. In a typical CS1 learning path, we recognise a challenging "rollercoaster of abstraction". We provide examples of learning sequences designed with our approach to support students when the abstraction changes (both upward and downward) inside the programming language, for example, when a new construct (and the related syntactical, conceptual, and strategic knowledge) is introduced. Also, we discuss the benefits of our design in light of Informatics education literature.

SBARAGLIA, M., LODI, M., MARTINI, S. (2021). A Necessity-Driven Ride on the Abstraction Rollercoaster of CS1 Programming. INFORMATICS IN EDUCATION, 20(4), 641-682 [10.15388/infedu.2021.28].

A Necessity-Driven Ride on the Abstraction Rollercoaster of CS1 Programming

SBARAGLIA, Marco
;
LODI, Michael;MARTINI, Simone
2021

Abstract

Introductory programming courses (CS1) are difficult for novices. Inspired by Problem solving followed by instruction and Productive Failure approaches, we define an original "necessity driven" learning design. Students are put in an apparently well-known situation, but this time they miss an essential ingredient (the target concept) to solve the problem. Then, struggling to solve it, they experience the necessity of that concept. A direct instruction phase follows. Finally, students return to the problem with the necessary knowledge to solve it. In a typical CS1 learning path, we recognise a challenging "rollercoaster of abstraction". We provide examples of learning sequences designed with our approach to support students when the abstraction changes (both upward and downward) inside the programming language, for example, when a new construct (and the related syntactical, conceptual, and strategic knowledge) is introduced. Also, we discuss the benefits of our design in light of Informatics education literature.
2021
SBARAGLIA, M., LODI, M., MARTINI, S. (2021). A Necessity-Driven Ride on the Abstraction Rollercoaster of CS1 Programming. INFORMATICS IN EDUCATION, 20(4), 641-682 [10.15388/infedu.2021.28].
SBARAGLIA, Marco; LODI, Michael; MARTINI, Simone
File in questo prodotto:
File Dimensione Formato  
infedu-20-4-infedu2021_4_28.pdf

accesso aperto

Tipo: Versione (PDF) editoriale
Licenza: Licenza per Accesso Aperto. Creative Commons Attribuzione (CCBY)
Dimensione 921.92 kB
Formato Adobe PDF
921.92 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11585/841425
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 1
  • ???jsp.display-item.citation.isi??? 2
social impact