Treffer: Python and Roles of Variables in Introductory Programming: Experiences from Three Educational Institutions.
Weitere Informationen
Students often find that learning to program is hard. Introductory programming courses have high drop-out rates and students do not learn to program well. This paper presents experiences from three educational institutions where introductory programming courses were improved by adopting Python as the first programming language and roles of variables as an aid in understanding program behavior. As a result of these changes, students were able to write working code from the very beginning, they found programming easy and interesting, they passed exams with good grades, and drop-out rates were low. Students became interested in programming and some of them even changed their personal study plan to include more of programming and computer science. The high abstraction level and complexity of the concepts to be learned in current elementary programming courses is a serious impediment to students. Python is a simple but powerful programming language that supports both procedural and object-oriented programming. It makes short programs straightforward to write while at the same time facilitating rapid development of powerful applications. Python has been found to make programming more fun and thus attract students. Some of the common arguments against Python include concerns about using an interpreted language, the different syntax from C++ and Java, the use of whitespace to represent code blocks, and the lack of static type checking. However, these concerns have not caused any significant problems in practice, though it may take some effort to adapt to the syntax of other languages. Roles of variables are stereotyped patterns of usage of a variable. For example, in the role of a stepper, a variable is assigned a succession of values that is predictable and usually known in advance as soon as the succession starts. Roles provide students with programming knowledge in a compact form, which they can then apply in authoring and understanding programs independently of the programming language used. In a classroom experiment, explicit teaching of roles has been found to result in better programming skills. This paper also discusses the applicability of the roles to Python and notes some changes in the interpretation of individual roles required by some peculiarities of Python. In general, roles apply to Python well. However, the lack of constants in Python calls for a new role, and the use of lists in for-loops suggests a new interpretation for the stepper role. Finally, the difference between the two data structure roles, organizer and container, is smaller in Python than in other languages making their separation needless. [ABSTRACT FROM PUBLISHER]
Copyright of Journal of Information Technology Education: Research is the property of Informing Science and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)