More Time or Better Tools? A Large-Scale Retrospective Comparison of Pedagogical Approaches to Teach Programming (original) (raw)
Related papers
Acquisition of programming skills
1990
Abstract: The purpose of this research was to investigate the relationship between programming skill acquisition and various measures of individual differences including: a) problem solving abilities (eg, ability to decompose a problem into its constituent parts); b) prior knowledge and general cognitive skills (eg, arithmetic reasoning, work knowledge, information processing speed); and c) passive versus active learning style. Ability measures consisted of scores from algebra test battery was constructed to parallel specific abilities ...
Conditions for Successful Learning of Programming Skills
Key Competencies in the Knowledge Society, 2010
First programming courses often fail to motivate students to continue their software studies. Students find it hard to acquire the logic of computer programming. Especially students in multicultural, heterogeneous student groups are unable to apply logical thinking consistently or to follow instructions in a systematic fashion. Transfer of thinking skills from mathematics to programming does not take place as expected. Efforts to describe the thinking process in program authoring have failed, and process of problem solving in program design remains as evasive as heuristic processes in general. Evidently, it is based on accumulated expert knowledge that is not easily describable. Programming is an independent domain of expert knowledge that requires systematic practice and self-monitoring in construction of appropriate mental patterns.
Approaches to learning in computer programming students and their effect on success
2005
Within education research there has been sustained interest in developing models that can predict, or alternatively explain, student success. In computing education, attempts have been made to predict success in programming courses. Models previously used in this area have included a range of demographic, cognitive and social factors. These models emphasise presage factors. Biggs' 3P general model of student learning, by comparison, measures attitudinal factors.
1984
The five papers in this symposium contribute to a dialog on the aims and methods of computer education, and indicate directions future research must take if necessary information is to be available to make informed decisions about the use of computers in schools. The first two papers address the question of what is required for a student to become a reasonably proficient programmer. The first-"Mapping the Cognitive Demands of Learning to Program" (D. Midian Kurland, Katherine Clement, Ronald Mawby, and Roy D. Pea)-reports a study of high school programming novices who participated in an intensive summer programming course. The second paper-"The Development of Programming Expertise in Adults and Children" (D. Midian Kurland, Ronald Mawby, and Nancy Cahir)-examines how expert programmers acquired their skill, with attention to the amount of time invested and the type of resources available when they were learning to program. The last three papers look beyond programming to the issue of transfer. The third-"Issues and Problems in Studying Transfer Effects of Programming" (Kate Ehrlich, Valerie Abbott, William Salter, and Elliot Soloway)-examines whether learning to program helps students solve problems in other related intellectual domains. The fourth-"What Will It Take to Learn Thinking Skills Through Computer Programming?" (Roy D. Pea)-discusses research on the transfer of high level thinking skills from programming. The final paper-"Making Programming Instruction Cognitively Demanding: An Intervention Study" (John Dalby, Francois. Tourniaire, and Marcia C. Linn)-describes a study in which a curriculum was designed explicitly to make programming more cognitively challenging. A concluding commentary by Jan Hawkins discusses the issues raised in the papers and offers thoughts on current and future directions for research in this field.
Early Training in Programming: From High School to College
Smart Objects and Technologies for Social Good, 2017
Informatics is recognized as a fundamental discipline in education at all levels. It is also an indispensable subject for scientific and technical studies. Some abilities connected to informatics learning (computational thinking) has being considered to provide "fundamental skills for everyone". Programming or, more generally, the ability of solving problems by algorithmic methods is one of these skills. In Italy, many scientific degree courses offer, at the first year, at least an introductory course in programming. Digital expertize and a basic attitude to computational thinking are in general expected. The present study, has been conducted at the University of Verona, in the context of the course Programming with laboratory of Applied Mathematics curriculum. We focus on first period of lessons, when the fundamentals of programming are introduced. Most of the students come from secondary schools, in particular Liceo, a secondary school with emphasis science or humanities, and where the role of informatics is in general not central. So, an academic course in programming can be a difficult task for students. In this paper, we analyze how the "cultural" background influences the learning of programming and the performance of students.
A study on student’s characteristics and programming learning
Results in introductory programming courses are often disappointing. Several possible causes for this situation have been reported. One of them is the differences between students in terms of their individual characteristics. This paper reports some results of an experiment where we tried to find correlations between first year student's performance in an initial programming course and some of their characteristics, namely previous programming experience, secondary education grades (in general and in Mathematics), learning styles, problem solving abilities and motivation to the study area. The study took place during the academic year of 2007-2008 and involved two different groups of students, from two different institutions, that followed two different programming languages approaches.
Learning to program -difficulties and solutions
Programming is a fundamental part of computer science curriculum, but it is often problematic. The high drop out and failure rates in introductory programming courses are a universal problem that motivated many researchers to propose methodologies and tools to help students. Although some of these tools have been reported to have a positive effect in students learning, the problem still remains mostly unsolved. We think that there are several reasons that cause this learning problem. Maybe the most important is the lack of problem solving abilities that many students show. They don't know how to program, because they don't know how to create algorithms, mainly due to their lack of general problem solving abilities. This and other causes to student difficulties are discussed in this paper. Some possible solutions are proposed, so that problems can be reduced.
On the Cognitive Effects of Learning Computer Programming: A Critical Look. Technical Report No. 9
1984
This paper provides an historical and empirical critique of the claim that learning to program will promote the development of general higher mental functions. A developmental perspective on,learning to program is provided which incorporates cognitive science studies of mental activities involved in programming, AncUlighlights the importance of programming contexts, instructional contexts, and a student's relevant background knowledge and reasoning skills for the task of learning to ibiogram. The following topics are discussed: claims for cognitive effects of learning to program; the develoemental role of contexts in learning to, program; the programming environment; the instructional environment; what constitutes skilled" programming; levels of programming skill, development; cognitive constraints on.learning to program; and evidence for cognitive effects of programming. Types of transfer outcomes expected from each of the different levels of programming skill development are described, and a concluding statement and a 14-page list of references are included.