Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.


I looked up those two papers: "Python CS1 as Preparation for C++ CS2": 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 (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++.


It'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... (a talk Bill Punch gave on those papers). I think it goes into more detail on the non-CS majors.


Thanks, I'll try to listen/watch that later.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: