Programming learners struggle as much in Python as in C++ or Java


Many computer science instructors believe switching college-level introductory programming courses to Python, versus languages like C++, Java, or C, smooths the learning of programming, due in part to Python’s syntax, dynamic types, and interpreted execution. Studies providing quantitative support for that belief are rare, in part due to the challenge of creating comparative studies without extensive confounding factors. However, today one of the top textbooks in C++, Java, and Python all happen to come from the same publisher and have similar style and content, have similar off-the-shelf programming assignments that instructors can use, incorporate a cloud-based development environment and auto-grader that records every run, and each is used by tens of thousands of students at hundreds of universities. As such, a unique opportunity exists to compare student performance data across those three languages. We obtained such data from the publisher for 56 courses that met specific criteria (18 Python, 16 C++, 22 Java) totaling 6,804 students. As a potential indicator of whether Python students had a smoother learning experience, we compared median time and number of attempts on nearly-identical off-the-shelf programming assignments across the three languages. Python students exhibited no reduction in time or attempts. Manual investigation into the students’ programs suggest that problem understanding and programming logic, and not language features, may be the main hurdles to learning programming.

More action with less text.

zyBooks strike the perfect balance between text volume and engaged learning, with studies showing that students spend more time learning. Performance has been proven to increase and we have research to show it.

zyBooks textbooks increase student engagement