This paper reports on a replication of earlier studies into a possible hierarchy of programming skills. In this study, the students from whom data was collected were at a university that had not provided data for earlier studies. Also, the students were taught the programming language "Python", which had not been used in earlier studies. Thus this study serves as a test of whether the findings in the earlier studies were specific to certain institutions, student cohorts, and programming languages. Also, we used a non-parametric approach to the analysis, rather than the linear approach of earlier studies. Our results are consistent with the earlier studies. We found that students who cannot trace code usually cannot explain code, and also that students who tend to perform reasonably well at code writing tasks have also usually acquired the ability to both trace code and explain code.
In this paper, we look at the concept of reversibility, that is, negating opposites, counterbalances, and actions that can be reversed. Piaget identified reversibility as an indicator of the ability to reason at a concrete operational level. We investigate to what degree novice programmers manifest the ability to work with this concept of reversibility by providing them with a small piece of code and then asking them to write code that undoes the effect of that code. On testing entire cohorts of students in their first year of learning to program, we found an overwhelming majority of them could not cope with such a concept. We then conducted think aloud studies of novices where we observed them working on this task and analyzed their contrasting abilities to deal with it. The results of this study demonstrate the need for better understanding our students' reasoning abilities, and a teaching model aimed at that level of reality.
Students continue to struggle with learning to program. Not only has there been a significant drop in the number of students enrolling in IT courses, but the attrition rate for these courses continues to be significant. Introductory programming subjects in IT courses seem to be a stumbling block for many students. How do we best engage students in the learning of a programming language? How can our current teaching and learning methods be improved to provide a better experience for them?Issues that have a detrimental effect on students' learning outcomes include more than simply the cognitive. Although programming really is complex and difficult to learn, there are also cultural and social influences on students presenting to introductory computer science courses. This paper highlights the advantages of intensive collaboration between students by exploiting the students' own ability and desire to interact with their peers. Peer interaction can lead to very strong learning experiences. This paper reflects on the current approaches to teaching programming by the Queensland University of Technology (QUT), Australia, with a short summary of the current focus of QUT's first programming subject and the methods used to teach it. An overview is then given of the web-based Environment for Learning to Program (ELP) which provides scaffolding for students while learning to program.The authors propose the introduction of tools to present a collaborative environment for students to actively engage in the course material through interaction with each other. Learning to Program IssuesProgramming is acknowledged by tertiary educators to be a complex and difficult intellectual activity, with students struggling through their first programming subject and educators struggling to teach it (Lahtinen E, Ala-Mutka K, & Järvinen H, 2005). The high attrition rate of first year programming students has for many years been a headache and controversial topic for learning institutions (Robins A, Rountree J, & Rountree N, 2003;Sheard J & Hagan D, 1998;Truong N, Bancroft P, & Roe P, 2003); one for which further insight would benefit both students and universities alike. However, the cause of poor performance in the programming classroom is not purely cognitive. Social DevelopmentIntroductory programming subjects are normally offered in the first semester of the first year of a bachelor degree, where the majority of the student cohort is new to university. The young university students are distracted and excited about entering the adult world, and enjoy many new freedoms not afforded them at school -where they ultimately assume the responsibility of the day to day management of their education. No dress codes, few rules, and they come and go virtually as they please. Unfortunately, there lies the trap. Settling into a productive university life seems to be a huge hurdle young students continue to face, and one that is exacerbated when one of the first subjects encountered in a computer science course at university is programming. I...
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.