This experience report relates success using both Python and Java in a data structures course. The course has been taught with Python in the most recent past as a follow-up to an introductory programming course that is taught in Python. However, due to student demand Java was included in Spring 2024. Students were surveyed at the end of the course on quantitative measures and also asked to share their perspective. Students found that Java helped them think more clearly about objects, while the use of 2 programming languages in parallel helped them to focus on higher level abstract concepts without getting bogged down in language details. My observation as instructor reflects this as demonstrated by student performance on a linked list implementation assignment as well as an unbalanced binary search tree implementation assignment. Both assignments showed improved performance; and quicker submission times with more than half students turning in the unbalanced binary search tree assignment before the deadline. Finally, more students chose an implementation project as their final project, between the choice of completing an implementation project or a project studying a data structure not covered in the course, than have typically done in the past. On this last point, I will share experiences with the breakdown of students opting for one or the other from many semesters teaching data structures across several different institutions. While this data is not statistically significant (n=35) it could be indicative of the benefit of using more than 1 language in a data structures course, particularly one that is relatively simple (Python) and one that is more strictly typed and object oriented (Java). This experience report will discuss the structure of the course in brief, including a discussion of where and when Python or Java was used. I will discuss what went well and what I would change in the future, and include a suggested timeline of topics along with my suggested programming language to use for those topics. The student survey results are also presented in detail.
The full paper will be available to logged in and registered conference attendees once the conference starts on June 22, 2025, and to all visitors after the conference ends on June 25, 2025