At Michigan State Computer Science Dept. we have recently converted our CS1 course (200 students/semester, a bout 60% non-CS majors) to Python, previously taught in C++. Follow on cou rses for CS majors (CS2, etc.) still use and teach C/C++. Right around the conversion point, we had two groups of students taking the C++ CS2 course those that took CS1 in Python and those that took CS1 in C++. We examined the performance of those two groups of students in the CS2-C++ course (cov ering the same topics as previously), looking for any significant differen ces as measured by t-test with respect to final exam grade, overall progr amming project scores and final course grade. No significant differences be tween CS1-Python and CS1-C++ were found. Further, multiple regression anal ysis showed that only GPA was a good predictor of the three outcomes. Neith er CS-1 Python nor CS1-C++ was a predictor. Our conclusion is that a CS1-Py thon course was as good a preparation for a CS2-C++ course as was a CS1-C++ course. Furthermore, CS1-Python was a far better terminal course for non- majors than CS1-C++, and both majors and non-majors were could address a w ider range of practical STEM problem than previously. We have written a CS1 -Python book for others who wish to teach a Python-CS1 course that emphasi zes teaching Python to CS1 students with a theme of data manipulation.


Comments are closed.