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...

Full description

Bibliographic Details
Main Authors: Marco SBARAGLIA, Michael LODI, Simone MARTINI
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