Results 1 -
7 of
7
A Multi-National Study of Reading and Tracing Skills in Novice Programmers
- ACM SIGCSE Bulletin
, 2004
"... A study by a ITiCSE 2001 working group ("the McCracken Group") established that many students do not know how to program at the conclusion of their introductory courses. A popular explanation for this incapacity is that the students lack the ability to problem-solve. That is, they lack the ..."
Abstract
-
Cited by 41 (8 self)
- Add to MetaCart
A study by a ITiCSE 2001 working group ("the McCracken Group") established that many students do not know how to program at the conclusion of their introductory courses. A popular explanation for this incapacity is that the students lack the ability to problem-solve. That is, they lack the ability to take a problem description, decompose it into sub-problems and implement them, then assemble the pieces into a complete solution. An alternative explanation is that many students have a fragile grasp of both basic programming principles and the ability to systematically carry out routine programming tasks, such as tracing (or “desk checking”) through code. This ITiCSE 2004 working group studied the alternative explanation, by testing
Towards understanding programs through wear-based filtering
- In Proceedings of ACM 2005 Symposium on Software Visualization
, 2005
"... Large software projects often require a programmer to make changes to unfamiliar source code. This paper presents the results of a formative observational study of seven professional programmers who use a conventional development environment to update an unfamiliar implementation of a commonly known ..."
Abstract
-
Cited by 30 (3 self)
- Add to MetaCart
Large software projects often require a programmer to make changes to unfamiliar source code. This paper presents the results of a formative observational study of seven professional programmers who use a conventional development environment to update an unfamiliar implementation of a commonly known video game. We describe several usability problems they experience, including keeping oriented in the program’s source text, maintaining the number and layout of open text documents and relying heavily on textual search for navigation. To reduce the cost of transferring knowledge about the program among developers, we propose the idea of wear-based filtering, a combination of computational wear and social filtering. The development environment collects interaction information, as with computational wear, and uses that information to direct the attention of subsequent users, as with social filtering. We present sketches of new visualizations that use wear-based filtering and demonstrate the feasibility of our approach with data drawn from our study.
The Roles Beacons Play in Comprehension for Novice and Expert Programmers
- Programmers, 14th Workshop of the Psychology of Programming Interest Group, Brunel University
, 2002
"... procedural/object. In this research, progressively refined methods of investigating Beacon-like features (the surface features of computer programs that serve as keys to facilitate program comprehension) were used to determine how programmers from different experience levels understand a typical sim ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
procedural/object. In this research, progressively refined methods of investigating Beacon-like features (the surface features of computer programs that serve as keys to facilitate program comprehension) were used to determine how programmers from different experience levels understand a typical simple program. In this study, we found Beacons for novice programmers are different than they are for more experienced programmers. Novices discriminate very little between areas of the program and thus do not seem to use beacons. More experienced programmers tend to concentrate on the important areas of a program and thus, seem to rely on Beacons.
Understanding Interaction Differences between Newcomer and Expert Programmers
"... Newcomer and expert programmers often interact with development artifacts differently. Ideally, software development tools should support these different styles of work. In this paper, we describe our investigations into the interaction difference between newcomers and experts, regarding two propert ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Newcomer and expert programmers often interact with development artifacts differently. Ideally, software development tools should support these different styles of work. In this paper, we describe our investigations into the interaction difference between newcomers and experts, regarding two properties that characterize repetition of programmer interaction: temporal locality and interaction coupling recurrence. We describe our approach, research questions and planned methodology.
In G. Kadoda (Ed). Proc. PPIG 13 Pages 207-223 13
- Psychology of Programmers Interest Group
, 2001
"... This paper examines the nature and scope of computer science education (CSE) research. We first distinguish CSE research from other forms of educational research, outlining its aims and identity as a research discipline. In examining the state of the art of CSE research, we attempt to categorise pas ..."
Abstract
- Add to MetaCart
This paper examines the nature and scope of computer science education (CSE) research. We first distinguish CSE research from other forms of educational research, outlining its aims and identity as a research discipline. In examining the state of the art of CSE research, we attempt to categorise past research studies into general themes, reflecting the diverse contributions to CSE made over the years. Further, we critique each category, highlighting possible benefits and limitations. We argue that there has been a lack of reference to pedagogical theory, underlying most past research studies. This has resulted in a failure to provide teachers with "pedagogical content knowledge", critical to gaining useful insights into cognitive and educational issues surrounding learning. We conclude by providing guidelines for CSE research, stressing the need for a stronger connection to the theoretical frameworks of education-related disciplines such as pedagogy, epistemology, curriculum studies and psychology.
Delphi Study of the Cognitive Skills of Experienced Software Developers
, 2004
"... Abstract. In the present paper, a qualitative research of the cognitive skills of experienced software developers is presented. The data for the research was gathered using the Delphi method. The respondents were 11 software developers who have worked at least five years after their graduation. Two ..."
Abstract
- Add to MetaCart
Abstract. In the present paper, a qualitative research of the cognitive skills of experienced software developers is presented. The data for the research was gathered using the Delphi method. The respondents were 11 software developers who have worked at least five years after their graduation. Two questionnaire rounds were conducted. In the first round, the respondents mentioned altogether 32 different skills. In the second round, 10 of the respondents answered and evaluated the difficulty of these 32 skills (e.g., does the skill efficiently differentiate experts from novices). The results are divided into two categories: composition and comprehension. Approximately 40 % of the skills
Information Foraging in Debugging.
, 2010
"... Programmers spend a substantial fraction of their debugging time by navigating through source code, yet little is known about how programmers navigate. With the continuing growth in size and complexity of software, this fraction of time is likely to increase, which presents challenges to those seeki ..."
Abstract
- Add to MetaCart
Programmers spend a substantial fraction of their debugging time by navigating through source code, yet little is known about how programmers navigate. With the continuing growth in size and complexity of software, this fraction of time is likely to increase, which presents challenges to those seeking both to understand and address the needs of programmers during debugging. Therefore, we investigated the applicability a theory from another domain, namely information foraging theory, to the problem of programmers ’ navigation during software maintenance. The goal was to determine the theory’s ability to provide a foundational understanding that could inform future tool builders aiming to support programmer navigation. To perform this investigation, we first defined constructs and propositions for a new variant of information foraging theory for software maintenance. We then operationalized the constructs in different ways and built three executable models to allow for empirical investigation. We developed a simple information-scent-only model of navigation, a more advanced model of programmer navigation, named

