ABSTRACT
If you change the CS1 language to Python, what is the impact on the rest of the curriculum? In earlier work we examined the impact of changing CS1 from C++ to Python while leaving CS2 in C++. We found that Python-prepared CS1 students fared no differently in CS2 than students whose CS1 course was in C++, even though CS2 was taught in C++ and covered the same topics as in previous years. Was that an anomaly? What happens in the next tier of courses? When our CS1 was first changed to Python there were many students who had taken CS1 in C++ still in the system. The result is that there is a cadre of students with either CS1 in Python or CS1 in C++ moving together through our curriculum. This one-time occurrence is an opportunity to study the students with many variables fixed. Our next tier of courses is a C-based computer organization course, a C++ based object-oriented software design course, and a data structures course. We found that the students who started with Python fared as well as the CS1 C++ students. As before, the best predictor of performance was their college GPA. Python versus C++ CS1 preparation was not a predictor of performance in any course. We conclude again that in our C++ based curriculum changing CS1 to Python had no negative impact on student performance and did not require any significant change in those subsequent courses.
- ABET. Criteria for accrediting computing programs: 2010-2011 cycles. http://www.abet.org, 2009.Google Scholar
- R. J. Enbody, W. F. Punch, and M. McCullen. Python cs1 as preparation for c++ cs2. In SIGCSE '09: Proceedings of the 40th ACM technical symposium on Computer science education, pages 116--120, New York, NY, USA, 2009. ACM. Google ScholarDigital Library
- N. Jukic and P. Gray. Using real data to invigorate student learning. SIGCSE Bull., 40(2):6--10, 2008. Google ScholarDigital Library
- R. P. Loui. In praise of scripting: Real programming pragmatism. IEEE Computer, 41(7):22--26, July 2008. Google ScholarDigital Library
- J. D. Oldham. What happens after python in cs1? J. Comput. Small Coll., 20(6):7--13, 2005. Google ScholarDigital Library
- G. project. R statistical language.Google Scholar
- W. F. Punch and R. J. Enbody. The Practice of Computing Using Python. Pearson: Addison-Wesley, New York, 2010. Google ScholarDigital Library
Index Terms
- Performance of python CS1 students in mid-level non-python CS courses
Recommendations
Python Versus C++: An Analysis of Student Struggle on Small Coding Exercises in Introductory Programming Courses
SIGCSE '18: Proceedings of the 49th ACM Technical Symposium on Computer Science EducationMany teachers of CS 1 (introductory programming) have switched to Python rather than C, C++, or Java. One reason is the belief that Python's interpreted nature plus simpler syntax and semantics ease a student's learning, but data supporting that belief ...
Python CS1 as preparation for C++ CS2
SIGCSE '09: Proceedings of the 40th ACM technical symposium on Computer science educationHow suitable is a Python-based CS1 course as preparation for a C++-based CS2 course? After fifteen years of using C++ for both CS1 and CS2, the Computer Science Department at Michigan State University changed the CS1 course to Python. This paper ...
Python CS1 as preparation for C++ CS2
SIGCSE '09How suitable is a Python-based CS1 course as preparation for a C++-based CS2 course? After fifteen years of using C++ for both CS1 and CS2, the Computer Science Department at Michigan State University changed the CS1 course to Python. This paper ...
Comments