Systematically Thinking about the Complexity of Code Structuring Exercises at Introductory Level

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Haldeman, Georgiana, Ohmann, Peter, Denny, Paul
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866918234436927488
author Haldeman, Georgiana
Ohmann, Peter
Denny, Paul
author_facet Haldeman, Georgiana
Ohmann, Peter
Denny, Paul
contents Decomposition and abstraction is an essential component of computational thinking, yet it is not always emphasized in introductory programming courses. In addition, as generative AI further reduces the focus on syntax and increases the importance of higher-level code reasoning, there is renewed opportunity to teach DA explicitly. In this paper, we introduce a framework for systematically assessing the complexity of code structuring tasks, where students must identify and separate meaningful abstractions within existing, unstructured code. The framework defines three dimensions of task complexity, each with multiple levels: repetition, code pattern, and data dependency. To support practical use, we provide example tasks mapped to these levels and offer an interactive tool for generating and exploring DA problems. The framework is designed to support the development of educational tasks that build students' skills with DA in the procedural paradigm.
format Preprint
id arxiv_https___arxiv_org_abs_2512_06178
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Systematically Thinking about the Complexity of Code Structuring Exercises at Introductory Level
Haldeman, Georgiana
Ohmann, Peter
Denny, Paul
Software Engineering
Decomposition and abstraction is an essential component of computational thinking, yet it is not always emphasized in introductory programming courses. In addition, as generative AI further reduces the focus on syntax and increases the importance of higher-level code reasoning, there is renewed opportunity to teach DA explicitly. In this paper, we introduce a framework for systematically assessing the complexity of code structuring tasks, where students must identify and separate meaningful abstractions within existing, unstructured code. The framework defines three dimensions of task complexity, each with multiple levels: repetition, code pattern, and data dependency. To support practical use, we provide example tasks mapped to these levels and offer an interactive tool for generating and exploring DA problems. The framework is designed to support the development of educational tasks that build students' skills with DA in the procedural paradigm.
title Systematically Thinking about the Complexity of Code Structuring Exercises at Introductory Level
topic Software Engineering
url https://arxiv.org/abs/2512.06178