A Necessity-Driven Ride on the Abstraction Rollercoaster of CS1 Programming
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 essent...
Main Authors: | , , |
---|---|
Format: | Article |
Language: | English |
Published: |
Vilnius University
2021-12-01
|
Series: | Informatics in Education |
Subjects: | |
Online Access: | https://infedu.vu.lt/doi/10.15388/infedu.2021.28 |
_version_ | 1818360750671921152 |
---|---|
author | Marco SBARAGLIA Michael LODI Simone MARTINI |
author_facet | Marco SBARAGLIA Michael LODI Simone MARTINI |
author_sort | Marco SBARAGLIA |
collection | DOAJ |
description | 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. |
first_indexed | 2024-12-13T21:05:45Z |
format | Article |
id | doaj.art-791bf1a17edb404bb4abda71a5d6cf7c |
institution | Directory Open Access Journal |
issn | 1648-5831 2335-8971 |
language | English |
last_indexed | 2024-12-13T21:05:45Z |
publishDate | 2021-12-01 |
publisher | Vilnius University |
record_format | Article |
series | Informatics in Education |
spelling | doaj.art-791bf1a17edb404bb4abda71a5d6cf7c2022-12-21T23:31:29ZengVilnius UniversityInformatics in Education1648-58312335-89712021-12-0120464168210.15388/infedu.2021.28A Necessity-Driven Ride on the Abstraction Rollercoaster of CS1 ProgrammingMarco SBARAGLIA0Michael LODI1Simone MARTINI2Dipartimento di Informatica – Scienza e Ingegneria, Alma Mater Studiorum – Università di Bologna, Bologna, Italy Laboratorio Nazionale CINI Informatica e Scuola, ItalyDipartimento di Informatica – Scienza e Ingegneria, Alma Mater Studiorum – Università di Bologna, Bologna, Italy Inria Sophia Antipolis-Bologna, Valbonne, France Laboratorio Nazionale CINI Informatica e Scuola, ItalyDipartimento di Informatica – Scienza e Ingegneria, Alma Mater Studiorum – Università di Bologna, Bologna, Italy Inria Sophia Antipolis-Bologna, Valbonne, France Laboratorio Nazionale CINI Informatica e Scuola, ItalyIntroductory 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.https://infedu.vu.lt/doi/10.15388/infedu.2021.28abstractionabstraction rollercoasternecessitynecessity mechanismnecessity learning designlearning design |
spellingShingle | Marco SBARAGLIA Michael LODI Simone MARTINI A Necessity-Driven Ride on the Abstraction Rollercoaster of CS1 Programming Informatics in Education abstraction abstraction rollercoaster necessity necessity mechanism necessity learning design learning design |
title | A Necessity-Driven Ride on the Abstraction Rollercoaster of CS1 Programming |
title_full | A Necessity-Driven Ride on the Abstraction Rollercoaster of CS1 Programming |
title_fullStr | A Necessity-Driven Ride on the Abstraction Rollercoaster of CS1 Programming |
title_full_unstemmed | A Necessity-Driven Ride on the Abstraction Rollercoaster of CS1 Programming |
title_short | A Necessity-Driven Ride on the Abstraction Rollercoaster of CS1 Programming |
title_sort | necessity driven ride on the abstraction rollercoaster of cs1 programming |
topic | abstraction abstraction rollercoaster necessity necessity mechanism necessity learning design learning design |
url | https://infedu.vu.lt/doi/10.15388/infedu.2021.28 |
work_keys_str_mv | AT marcosbaraglia anecessitydrivenrideontheabstractionrollercoasterofcs1programming AT michaellodi anecessitydrivenrideontheabstractionrollercoasterofcs1programming AT simonemartini anecessitydrivenrideontheabstractionrollercoasterofcs1programming AT marcosbaraglia necessitydrivenrideontheabstractionrollercoasterofcs1programming AT michaellodi necessitydrivenrideontheabstractionrollercoasterofcs1programming AT simonemartini necessitydrivenrideontheabstractionrollercoasterofcs1programming |