An Analysis of Using Many Small Programs in CS1
Abstract
Modern program auto-graders enable new CS1 approaches. Instructors can easily create new assignments, with students receiving immediate score feedback and resubmitting assignments. With such auto-graders, one approach assigns many small programs (MSPs) each week instead of one large program (OLP). Earlier research showed MSPs in CS1 yielded happier students and better grades. Our university and other schools have switched to MSPs in CS1. This paper addresses common questions about MSPs. We analyzed submissions for a 76-student section of our MSP CS1 course. Given 7 MSPs per week each worth 10 points, students needed 50 points for full credit. Students averaged 17 minutes per MSP and 120 minutes per week. Given 7 days, students on average started 2.2 days ahead of the due date, with 37% starting at least 3 days ahead. 40% of students exceeded the required 50 points per week (no extra credit was given). 50% of students "pivoted" -- switching to another program before completing the previous one. 54% used MSPs to study for exams. Students used MSPs in ways beneficial to their learning and stress reduction: spending sufficient time, completing more than necessary, preparing for exams, and pivoting to avoid getting stuck. A common concern is that MSP CS1 students will do poorly in a CS2 using OLPs. We analyzed 5 quarters of CS2 and found MSP students do fine (in fact slightly better). These results encourage use and refinement of MSPs in CS1 and other courses.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
The evidence gathered over the past few decades about how students learn best supports the commonly adopted approach of having students write many small programs checked by automated assessment tools over the course of their introductory terms.
“The evidence gathered over the past few decades about how students learn best supports the commonly adopted approach of having students write many small programs checked by automated assessment tools over the course of their introductory terms [23].”
From The Robots Are Here: Navigating the Generative AI Revolution in Computing Education (2023) · cites this paper as [23]
Cites
Why the high attrition rate for computer science students
Beaubouef, T., & Mason, J. L. (2005) · ACM SIGCSE Bulletin · doi:10.1145/1083431.1083474 · Cited by 362 · see citing works
Why students drop out CS1 course?
Kinnunen, P., & Malmi, L. (2006) · doi:10.1145/1151588.1151604 · Cited by 342 · see citing works
Improving the CS1 experience with pair programming
Nagappan, N., Williams, L. A., Ferzli, M., Wiebe, E., Yang, K., Miller, C., & Balik, S. P. (2003) · ACM Technical Symposium on Computer Science Education (SIGCSE) · doi:10.1145/611892.612006 · Cited by 303 · see citing works
Porter, L., Lee, C. B., Simon, B., & Zingaro, D. (2011) · ACM Conference on International Computing Education Research (ICER) · doi:10.1145/2016911.2016923 · Cited by 197 · see citing works
Halving fail rates using peer instruction
Porter, L., Lee, C. B., & Simon, B. (2013) · ACM Technical Symposium on Computer Science Education (SIGCSE) · doi:10.1145/2445196.2445250 · Cited by 189 · see citing works
Success in introductory programming
Porter, L., Guzdial, M., McDowell, C., & Simon, B. (2013) · Communications of the ACM · doi:10.1145/2492007.2492020 · Cited by 181 · see citing works
Retaining nearly one-third more majors with a trio of instructional best practices in CS1
Porter, L., & Simon, B. (2013) · ACM Technical Symposium on Computer Science Education (SIGCSE) · doi:10.1145/2445196.2445248 · Cited by 164 · see citing works
Simon, B., Kohanfars, M., Lee, J., Tamayo, K. L. B., & Cutts, Q. I. (2010) · ACM Technical Symposium on Computer Science Education (SIGCSE) · doi:10.1145/1734263.1734381 · Cited by 157 · see citing works
A media computation course for non-majors
Guzdial, M. (2003) · Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE) · doi:10.1145/961511.961542 · Cited by 131 · see citing works
Peer instruction contributes to self-efficacy in CS1
Zingaro, D. (2014) · ACM Technical Symposium on Computer Science Education (SIGCSE) · doi:10.1145/2538862.2538878 · Cited by 118 · see citing works
Revisiting why students drop CS1
Petersen, A., Craig, M., Campbell, J., & Tafliovich, A. (2016) · Koli Calling International Conference on Computing Education Research · doi:10.1145/2999541.2999552 · Cited by 101 · see citing works
Weekly Programs in a CS1 Class: Experiences with Auto-graded Many-small Programs (MSP)
Allen, J. M., Vahid, F., Downey, K., & Edgcomb, A. (2020) · ASEE Annual Conference & Exposition · doi:10.18260/1-2--31231 · Cited by 40 · see citing works
Self-citationThe impact of providing project choices in CS1
Stone, J. A., & Madigan, E. M. (2008) · ACM SIGCSE Bulletin · doi:10.1145/1383602.1383637 · Cited by 8 · see citing works
Flagged first, then by citations
Cited by
Sorted by citations
The Robots Are Coming: Exploring the Implications of OpenAI Codex on Introductory Programming
Finnie-Ansley, J., Denny, P., Becker, B. A., Luxton-Reilly, A., & Prather, J. (2022) · Proceedings of the 24th Australasian Computing Education Conference · doi:10.1145/3511861.3511863 · Cited by 463 · see citing works
The Robots Are Here: Navigating the Generative AI Revolution in Computing Education
Prather, J., Denny, P., Leinonen, J., Becker, B. A., Albluwi, I., Craig, M., Keuning, H., Kiesler, N., Kohn, T., Luxton-Reilly, A., et al. (2023) · Proceedings of the 2023 Working Group Reports on Innovation and Technology in Computer Science Education · doi:10.1145/3623762.3633499 · Cited by 396 · see citing works
The Widening Gap: The Benefits and Harms of Generative AI for Novice Programmers
Prather, J., Reeves, B. N., Leinonen, J., MacNeil, S., Randrianasolo, A. S., Becker, B. A., Kimmel, B., Wright, J., & Briggs, B. (2024) · Proceedings of the 2024 ACM Conference on International Computing Education Research - Volume 1 · doi:10.1145/3632620.3671116 · Cited by 196 · see citing works
“It may also be the kind of phenomenon that is not readily apparent to instructors due to students possibly having a perception of learning while courses evaluate programming skills in traditional ways, such as through the popular “many small programs” approach [2, 3].”
The Widening Gap: The Benefits and Harms of Generative AI for Novice Programmers
Prather, J., Reeves, B., Leinonen, J., MacNeil, S., Randrianasolo, A. S., Becker, B., Kimmel, B., Wright, J., & Briggs, B. (2024) · arXiv · Cited by 196 · see citing works
“It may also be the kind of phenomenon that is not readily apparent to instructors due to students possibly having a perception of learning while courses evaluate programming skills in traditional ways, such as through the popular “many small programs” approach [2, 3].”
- Authors
- Allen, J. M., Vahid, F., Edgcomb, A., Downey, K., & Miller, K.
- Affiliations
- University of California, Riverside (US)
- Venue
- Proceedings of the 50th ACM Technical Symposium on Computer Science Education
- Publisher
- ACM
- Published
- 2019-02-22
- Pages
- 585-591
- OpenAlex
- W2917712284
- Cited by
- 36
- References
- 13
- Citations by year
- 2026: 1 · 2025: 5 · 2024: 6 · 2023: 6 · 2022: 11 · 2021: 2 · 2020: 4 · 2019: 1
- FWCI
- 5.21
- Type
- conference paper
- Language
- en
- Open access
- closed
- Locations
- ACM Technical Symposium on Computer Science Education (SIGCSE) (publishedVersion)
- Funders
- U.S. Dept. of Education (GAANN fellowship)
- Topics
- Physical Sciences › Computer Science › Computer Science Applications › Teaching and Learning Programming
- Social Sciences › Education › Problem and Project Based Learning
- Social Sciences › Education › Innovative Teaching Methods
- Keywords
- CS1, student stress reduction, exam preparation, programming exercises
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review