Vector Programming Using Structural Recursion
Marco T. Moraz\'an (Seton Hall University)

TL;DR
This paper introduces a recursive data definition called vector interval to help beginners understand and correctly implement vector processing functions, reducing indexing errors in introductory courses.
Contribution
It proposes a novel recursive structure for vectors that aids students in reasoning about indexing and designing correct vector functions.
Findings
Students successfully used vector intervals to avoid out-of-bounds errors.
Classroom deployment showed improved understanding of vector indexing.
Students found the approach helpful in practical vector processing tasks.
Abstract
Vector programming is an important topic in many Introduction to Computer Science courses. Despite the importance of vectors, learning vector programming is a source for frustration to many students given that they feel left adrift when it comes to resolving vector indexing errors. Even though the size of a vector is a natural number, there have been no efforts to define a useful recursive data definition to help beginners design vector processing functions. This article defines the concept of a vector interval and describes how to exploit its recursive structure to design vector processing functions. The described methodology provides a context beginners can use to reason about proper vector indexing instead of leaving them adrift with this responsibility. A key feature of properly using the described methodology is that if students process the correct vector interval then vector…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsTeaching and Learning Programming · Experimental Learning in Engineering · Spreadsheets and End-User Computing
