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.
Well-run CS1 classes are critical for getting CS majors off to a good start and for serving other non-major students across a university. Universities continue to offer more online courses, to handle more students with limited resources, and provide students more flexibility. Our university introduced an online CS1 course in 2013. The course has improved to the point that student outcomes match our in-person course: Students perform similarly on identical midterm and final exams, and do equally well in the subsequent CS2 course. Student evaluations match as well and are highly positive, consistently rating the course in the top 20% of all courses on campus. This paper highlights how the class has evolved based on experience, into the robust popular course that it is today. Key course features include: Synchronous online video meetings akin to the in-person course, an online chat forum during such meetings that students say increases participation, some active learning during the online meetings, use of modern online learning content instead of a textbook to ensure reading before class, and online auto-graded homework and programming assignments to provide extensive practice and immediate feedback.A key omitted feature is videos; we intentionally have not made use of video lectures in any substantial way. A common theme from students is that they did not originally want to take the course online, but afterwards saying they liked the course better than in-person courses due largely to the surprisingly-extensive live online interaction.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.