CS0 for Computer Science Majors at Ohio University

This paper describes the design and initial implementation of a new CS0 course for CS majors at Ohio University and an associated computer science placement exam. It was our expectation that this course would help improve overall retention and academic performance of CS majors. The new CS0 course was intended for new students with little or no programming experience. Hence, we designed CS0 by selecting some of the best components of other CS0 efforts from the literature, namely, introductory programming in Python, computational thinking, and motivational material aimed at instilling ownership of the major. In order to direct students into CS0 or CS1 appropriately, a placement exam was given to students during orientation. The placement process resulted in a mixed cohort consisting of students with no programming experience as well as other students with programming experience who did not pass the placement exam. Longitudinal analysis of student grades in CS0 and CS1 showed that these were two distinct populations with very different needs. A statistically significant difference was found in the CS1 grades for CS0 students from these populations. Surprisingly, CS0 students without prior programming experience got significantly higher grades in CS1 than CS0 students who had programmed before. We share lessons learned from our experience, including a revised placement process to address these separate populations.

[1]  Allen B. Downey Think Perl 6: How to Think Like a Computer Scientist , 2017 .

[2]  Brenda Cantwell Wilson,et al.  Contributing to success in an introductory computer science course: a study of twelve factors , 2001, SIGCSE '01.

[3]  John MacCormick,et al.  Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers , 2012 .

[4]  Harry Zhou,et al.  Experiences with a CS0 course targeted for CS1 success , 2005, SIGCSE '05.

[5]  Maria M. Klawe,et al.  Increasing Female Participation in Computing: The Harvey Mudd College Story , 2013, Computer.

[6]  John Mason,et al.  Why the high attrition rate for computer science students: some thoughts and observations , 2005, SGCS.

[7]  Karen Anewalt,et al.  A snapshot of current practices in teaching the introductory programming sequence , 2011, SIGCSE.

[8]  Marie desJardins,et al.  Broadening student enthusiasm for computer science with a great insights course , 2010, SIGCSE.

[9]  Mona E. Rizvi,et al.  A Scratch-based CS0 course for at-risk computer science majors , 2012, 2012 Frontiers in Education Conference Proceedings.

[10]  David S. Janzen,et al.  Improving first-year success and retention through interest-based CS0 courses , 2012, SIGCSE '12.

[11]  Jeannette M. Wing An introduction to computer science for non-majors using principles of computation , 2007, SIGCSE.

[12]  Daniel D. Garcia,et al.  The first five computer science principles pilots: summary and comparisons , 2012, INROADS.

[13]  Anya Tafliovich,et al.  A student perspective on prior experience in CS1 , 2013, SIGCSE '13.