Asee peer logo

Auto-Awarding Points for Incremental Development in Programming Courses

Download Paper |

Conference

2022 ASEE Annual Conference & Exposition

Location

Minneapolis, MN

Publication Date

August 23, 2022

Start Date

June 26, 2022

End Date

June 29, 2022

Conference Session

Computers in Education 2 - Programming 2

Page Count

10

DOI

10.18260/1-2--40436

Permanent URL

https://peer.asee.org/40436

Download Count

305

Request a correction

Paper Authors

biography

Frank Vahid University of California, Riverside

visit author page

Frank Vahid is a Professor of Computer Science and Engineering at the University of California, Riverside, since 1994. He is co-founder and Chief Learning Officer of zyBooks, which creates web-native interactive learning content to replace college textbooks and homework serving 500,000 students anually. His research interests include learning methods to improve college student success especially for CS and STEM freshmen and sophomores, and also embedded systems software and hardware. He is also founder of the non-profit CollegeStudentAdvocates.org.

visit author page

author page

David May University of California, Riverside

Download Paper |

Abstract

Programming textbooks and teachers commonly advise students to develop code incrementally, avoiding writing large amounts of code between test runs, and instead compiling/running frequently. However, without an easy way to give students points for following an incremental development process, students often write large blocks of code and then "hope it works". They may also rush through the development process. Today, many environments capture every student program run, which opens new possibilities. The paper describes a heuristic, incorporated into a tool, that automatically awards points to students for following an incremental development process. The heuristic uses a deplete/replenish approach (similar to "energy level" in video games). Violations of incremental development rules deplete a student's incremental-development points. One kind of violation is exceeding an added-code threshold between runs, such as adding no more than 20 lines, to encourage incremental development. Another violation is an autograder submission-separation threshold, such as 1 minute, to discourage spamming the auto-grader and instead to encourage self-testing. The heuristic scales the depletion proportional to the extent of the violation. To enable students to dig themselves out of a hole, we provide ways for students to replenish incremental-development points, adding points back each time they run code without any violations. We ran the tool on log files from a popular commercial program auto-grader, for 3 labs from our CS1 course, and found the points awarded were computed quickly and within reason of instructor expectations. We hope to make the tool available for the CS community to enable instructors to easily inform students of incremental development goals and to award points automatically.

Vahid, F., & May, D. (2022, August), Auto-Awarding Points for Incremental Development in Programming Courses Paper presented at 2022 ASEE Annual Conference & Exposition, Minneapolis, MN. 10.18260/1-2--40436

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2022 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015