We describe an experiment in changing a CS 1 introductory programming course from the traditional one large programming assignment per week to seven small assignments per week: “many-small programs” (MSPs). The change was enabled by a program auto-grader that allowed easy creation of each new assignment in only about 30 minutes, and that gave students immediate score feedback. Students could earn up to 10 points per assignment, and we defined 50 out of 70 possible points as full program credit for the week (no extra credit). With that setup, we allowed collaboration. The change was made for one of three class sections (about 80 students per section) in Spring 2017 at our research university whose CS 1 course serves about 350 students/quarter (over 1,000 students/year, majors and non-majors), with a diverse student population. Our goal was to improve the student’s overall experience in the course. Via student surveys, we found less stress, more confidence, and higher satisfaction. Students using MSPs were less anxious about the class (3.15 vs. 3.72; on 6-point scale; p-value = 0.02) and found the weekly programming assignments more enjoyable (4.13 vs. 3.37; on 6-point scale; p-value = 0.001). Students using MSPs scored a very substantial 20 percentage points better on the coding half of the midterm, for an overall midterm improvement of 10 percentage points (p-value < 0.001). Students using MSPs scored 8 percentage points better on the coding portion of the final, for an overall final improvement of 5 percentage points (p-value < 0.01). The instructor and teaching assistant reported their own high satisfaction. Since collaboration was allowed, for the first time in decades, the instructors spent no time dealing with academic dishonesty cases. Unlike most past terms, no student asked for an extension. As a result, the department has since changed all sections to use MSPs, with continued success.
Joe Michael Allen is a Ph.D. student in Computer Science at the University of California, Riverside. His current research focuses on finding ways to improve CS education, specifically focusing on introductory programming courses known as CS1. Joe Michael is actively researching the impact of using a many small programs (MSP) teaching approach in CS1 courses. His other interests include educational games for building skills for college-level computer science and mathematics.
Frank Vahid is a Professor of Computer Science and Engineering at the Univ. of California, Riverside. His research interests include embedded systems design, and engineering education. He is a co-founder of zyBooks.com.
I have a bachelors and masters degree in electrical engineering. After working in industry, I found a passion for education. I am currently a lecturer at UC, Riverside for the computer science department.
Alex Edgcomb is Sr. Software Engineer at zyBooks, a startup spun-off from UC Riverside and acquired by Wiley. zyBooks develops interactive, web-native learning materials for STEM courses. Alex actively studies and publishes the efficacy of web-native lear
Are you a researcher? Would you like to cite this paper? Visit the ASEE document repository at peer.asee.org for more tools and easy citations.