Supporting reflection in introductory computer science
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Contributing to success in an introductory computer science course: a study of twelve factors
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
In support of student pair-programming
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Defensive climate in the computer science classroom
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Hi-index | 0.00 |
Many upper level computer science courses consist of students with diverse backgrounds in disparate programming languages. This can result when students enrolled in a course have varying academic or professional experience, or in the wake of a programming language transition in CS1 and CS2 courses from one language to another. This language transition in introductory courses has occurred at many schools in recent years, and many others anticipate a transition in the near future. In this paper, we describe our experiences in one such course, a third term Data Structures course, in which students had diverse programming language backgrounds. Rather than choose one language to compel students to use, we encouraged students to decide for themselves which language they found most appropriate. This approach seeded a theme we developed throughout the course, that there are multiple solutions to any problem, including determining the most appropriate language in which to implement a program. We describe the challenges we faced in this course as well as investigate some of the advantages and disadvantages of this method, and we provide some anecdotal examples for dealing with programming language diversity in the classroom setting.