Saved in:
Bibliographic Details
Main Authors: Haldeman, Georgiana, Bernal, Judah Robbins, Wydra, Alec, Denny, Paul
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2411.09463
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912122414301184
author Haldeman, Georgiana
Bernal, Judah Robbins
Wydra, Alec
Denny, Paul
author_facet Haldeman, Georgiana
Bernal, Judah Robbins
Wydra, Alec
Denny, Paul
contents Program decomposition is essential for developing maintainable and efficient software, yet it remains a challenging skill to teach and learn in introductory programming courses. What does program decomposition for procedural CS1 programs entail? How can CS1 students improve the decomposition of their programs? What scaffolded exercises can instructors use to teach program decomposition skills? We aim to answer all these questions by presenting a conceptual framework that (1) is grounded in the established code style principles, (2) provides a systematic approach that can be taught to students as an actionable strategy to improve the program decomposition of their programs, and (3) includes scaffolded exercises to be used in classroom activities. In addition, this systematic approach is automatable and can further be used to implement visualizers, automated feedback generators and digital tutors.
format Preprint
id arxiv_https___arxiv_org_abs_2411_09463
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Teaching Program Decomposition in CS1: A Conceptual Framework for Improved Code Quality
Haldeman, Georgiana
Bernal, Judah Robbins
Wydra, Alec
Denny, Paul
Software Engineering
Program decomposition is essential for developing maintainable and efficient software, yet it remains a challenging skill to teach and learn in introductory programming courses. What does program decomposition for procedural CS1 programs entail? How can CS1 students improve the decomposition of their programs? What scaffolded exercises can instructors use to teach program decomposition skills? We aim to answer all these questions by presenting a conceptual framework that (1) is grounded in the established code style principles, (2) provides a systematic approach that can be taught to students as an actionable strategy to improve the program decomposition of their programs, and (3) includes scaffolded exercises to be used in classroom activities. In addition, this systematic approach is automatable and can further be used to implement visualizers, automated feedback generators and digital tutors.
title Teaching Program Decomposition in CS1: A Conceptual Framework for Improved Code Quality
topic Software Engineering
url https://arxiv.org/abs/2411.09463