4 ms·
I think it matters more than you give it credit. Michigan State did an experiment where they replaced one of the Intro to CS classes (which were formally in C+
by kingkilr 15y ago
I think it matters more than you give it credit. Michigan State did an experiment where they replaced one of the Intro to CS classes (which were formally in C++) with Python. The result they found is that for people who went on to CSII (in C++), they did just as well; but for people who were non-CS majors, a) they did significantly better than non-CS majors starting with C++, and b) they were more likely to take more CS courses. So if you're someone already committed to programming or computer science, maybe it doesn't matter, but if you're trying to get your feet wet, it matters a great deal.
- scott_s 15y agoI looked up those two papers: "Python CS1 as Preparation for C++ CS2": http://www.cse.msu.edu/~enbody/fp039-enbody-revised.pdf http://www.cse.msu.edu/~enbody/fp039-enbody-revised.pdf and "Performance of Python CS1 Students in Mid-Level Non-Python CS Courses": http://dl.acm.org/citation.cfm?id=1734437 http://dl.acm.org/citation.cfm?id=1734437 (email me if you'd like a copy, it's behind the ACM paywall). Neither of your claims is supported by either paper. Rather, they seem to support my claim: starting language isn't a predictor of success. Conclusions from the first paper: When final exams were compared for a CS2 course offered before the Python transition with a course after the transition no statistical difference was found. The first CS2 course after the transition contained a mixture of Python-prepared and non-Python prepared students. There was no statistical difference in the performance between those two student groups. Conclusions from the second paper: We conclude that starting students with Python has not had a negative impact within a C++ based curriculum. It would have been nice to conclude that the Python students did better in these courses, but the evidence does not appear to support that hypothesis. With that said, I do agree with the authors that exposure to more languages, environments and tools is a good thing, and for that reason, I'd prefer using Python, then switching to C++.
- kingkilr 15y agoIt's been a while since I looked at the data, but my main source was: http://blip.tv/pycon-us-videos-2009-2010-2011/python-for-cs1-not-harmful-to-cs-majors-and-good-for-everyone-1966814 http://blip.tv/pycon-us-videos-2009-2010-2011/python-for-cs1... (a talk Bill Punch gave on those papers). I think it goes into more detail on the non-CS majors.
- scott_s 15y agoThanks, I'll try to listen/watch that later.