Results 1 - 10
of
15
Learning and teaching programming: A review and discussion
- Computer Science Education
, 2003
"... In this paper we review the literature relating to the psychological/educational study of programming. We identify general trends comparing novice and expert programmers, programming knowledge and strategies, program generation and comprehension, and objectoriented versus procedural programming. (We ..."
Abstract
-
Cited by 54 (2 self)
- Add to MetaCart
In this paper we review the literature relating to the psychological/educational study of programming. We identify general trends comparing novice and expert programmers, programming knowledge and strategies, program generation and comprehension, and objectoriented versus procedural programming. (We do not cover research relating specifically to other programming styles.) The main focus of the review is on novice programming and topics relating to novice teaching and learning. Various problems experienced by novices are identified, including issues relating to basic program design, to algorithmic complexity in certain language features, to the ‘‘fragility’ ’ of novice knowledge, and so on. We summarise this material and suggest some practical implications for teachers. We suggest that a key issue that emerges is the distinction between effective and ineffective novices. What characterises effective novices? Is it possible to identify the specific deficits of ineffective novices and help them to become effective learners of programming? 1.
Model-Based Reasoning About Learner Behaviour
, 2000
"... Automated handling of tutoring and training functions in educational systems requires the availability of articulate domain models. In this article we further develop the application of qualitative models for this purpose. A framework is presented that defines a key role for qualitative models as in ..."
Abstract
-
Cited by 22 (8 self)
- Add to MetaCart
Automated handling of tutoring and training functions in educational systems requires the availability of articulate domain models. In this article we further develop the application of qualitative models for this purpose. A framework is presented that defines a key role for qualitative models as interactive simulations of the subject matter. Within this framework our research focuses on automating the diagnosis of learner behaviour. We show how a qualitative simulation model of the subject matter can be reformulated to fit the requirements of general diagnostic engines such as GDE. It turns out that, due to the specific characteristics of such models, additional structuring is required to produce useful diagnostic results. A set of procedures is presented that automatically maps detailed simulation models into a hierarchy of aggregated models by hiding non-essential details and chunking chains of causal dependencies. The result is a highly structured subject matter model that enables the diagnosis of learner behaviour by means of an adapted version of the GDE algorithm. An experiment has been conducted that shows the viability of the approach taken, i.e., given the output of a qualitative simulator the procedures we have developed automatically generate a structured subject matter model and subsequently use this model to successfully diagnoses learner behaviour. 2000 Elsevier Science B.V. All rights reserved.
Metaphor in Diagrams
- Darwin College, Univ. of Cambridge
, 1998
"... Modern computer systems routinely present information to the user as a combination of text and diagrammatic images, described as "graphical user interfaces". Practitioners and researchers in Human-Computer Interaction (HCI) generally believe that the value of these diagrammatic representations is de ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
Modern computer systems routinely present information to the user as a combination of text and diagrammatic images, described as "graphical user interfaces". Practitioners and researchers in Human-Computer Interaction (HCI) generally believe that the value of these diagrammatic representations is derived from metaphorical reasoning; they communicate abstract information by depicting a physical situation from which the abstractions can be inferred. This assumption has been prevalent in HCI research for over 20 years, but has seldom been tested experimentally. This thesis analyses the reasons why diagrams are believed to assist with abstract reasoning. It then presents the results of a series of experiments testing the contribution of metaphor to comprehension, problem solving, explanation and memory tasks carried out using a range of different diagrams. The results indicate that explicit metaphors provide surprisingly little benefit for cognitive tasks using diagrams as an external re...
My program is correct but it doesnt run: A review of novice programming and a study of an introductory programming paper
, 2001
"... Contents 1.0 Introduction 2.0 Learning to program 2.1 Overview 2.1.1 Experts vs. novices 2.1.2 Knowledge vs. strategies 2.1.3 Comprehension vs. generation 2.1.4 Procedural vs. object--oriented 2.1.5 Other 2.2 Novice programmers 2.2.1 The task 2.2.2 Mental models and processes 2.2.3 Novic ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Contents 1.0 Introduction 2.0 Learning to program 2.1 Overview 2.1.1 Experts vs. novices 2.1.2 Knowledge vs. strategies 2.1.3 Comprehension vs. generation 2.1.4 Procedural vs. object--oriented 2.1.5 Other 2.2 Novice programmers 2.2.1 The task 2.2.2 Mental models and processes 2.2.3 Novice capabilities and behavior 2.2.4 Kinds of novice 2.3 Novice learning and teaching in CS1 2.3.1 Goals and progress 2.3.2 Course design and teaching methods 2.3.3 Alternative methods and curricula 2.4 Summary 3.0 A study of an introductory programming paper 3.1 The design of COMP103 3.1.1 Context 3.1.2 Lectures and knowledge 3.1.3 Laboratory sessions and strategy 3.1.4 Summary 3.2 The study 3.2.1 Background 3.2.2 Method 3.3 Results 3.3.1 Lab based problem tallies 3.3.2 Trends 3.3.3 Other observations 4.0 Discussion 4.1 Kinds of novice 4.2 Knowledge, strategies, and effective teaching and learning 4.3 A framework 5.0 Summary References
The camel has two humps (working title)
, 2006
"... Learning to program is notoriously difficult. A substantial minority of students fails in every introductory programming course in every UK university. Despite heroic academic effort, the proportion has increased rather than decreased over the years. Despite a great deal of research into teaching me ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Learning to program is notoriously difficult. A substantial minority of students fails in every introductory programming course in every UK university. Despite heroic academic effort, the proportion has increased rather than decreased over the years. Despite a great deal of research into teaching methods and student responses, we have no idea of the cause. It has long been suspected that some people have a natural aptitude for programming, but until now there has been no psychological test which could detect it. Programming ability is not known to be correlated with age, with sex, or with educational attainment; nor has it been found to be correlated with any of the aptitudes measured in conventional ‘intelligence ’ or ‘problem-solving-ability ’ tests. We have found a test for programming aptitude, of which we give details. We can predict success or failure even before students have had any contact with any programming language with very high accuracy, and by testing with the same instrument after a few weeks of exposure, with extreme accuracy. We present experimental evidence to support our claim. We point out that programming teaching is useless for those who are bound to fail and pointless for those who are certain to succeed. 1
On the design and development of UML-based visual environment for novice programmers
- 1998 International Conference on Software Engineering: Education & Practice
, 2006
"... Few beginners find learning to program easy. There are many factors at work in this phenomenon with some being simply inherent in the subject itself, while others have more to do with deficiencies in learning methods and resources. As a result, many programming environments, software applications, a ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Few beginners find learning to program easy. There are many factors at work in this phenomenon with some being simply inherent in the subject itself, while others have more to do with deficiencies in learning methods and resources. As a result, many programming environments, software applications, and learning tools have been developed to address the difficulties faced by novice programmers. Of these tools, visual-based tools and the use of visualization have proven to be very effective in helping novices overcome several of these traditional difficulties. In this paper, we first examine the traditional difficulties that novice programmers encounter when take an introductory-level programming course are examined. It is important to gain an understanding of the scope of these difficulties first, as the rest of this paper considers how visual tools, visualization, and UML can be utilized to aid novice developers in these areas of difficulties. Next, we provide an analysis of several modern visual learning tools, including EROSI, AnimPascal, BlueJ, FLINT, BOOST, and SOLVEIT. In particular, we look at how these tools use visualization to help mitigate the difficulties novice programmers face. Each tool is also assessed based on its overall effectiveness of using visual aids and visualization to help the beginning programmer. We then turn our attention to the Unified Modeling Language (UML) and how it can be utilized to
A Wittgenstein approach to the learning of OO modelling
- Computer Science Education
, 2004
"... The paper uses Ludwig Wittgenstein’s theories about the relationship between thought, language, and objects of the world to explore the assumption that OO-thinking resembles natural thinking. The paper imports from research in linguistic philosophy to computer science education research. I show how ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
The paper uses Ludwig Wittgenstein’s theories about the relationship between thought, language, and objects of the world to explore the assumption that OO-thinking resembles natural thinking. The paper imports from research in linguistic philosophy to computer science education research. I show how UML class diagrams (i.e., an artificial context-free language) correspond to the logically perfect languages described in Tractatus Logico-Philosophicus. In Philosophical Investigations Wittgenstein disputes his previous theories by showing that natural languages are not constructed by rules of mathematical logic, but are language games where the meaning of a word is constructed through its use in social contexts. Contradicting the claim that OO-thinking is easy to learn because of its similarity to natural thinking, I claim that OO-thinking is difficult to learn because of its differences from natural thinking. The nature of these differences is not currently well known or appreciated. I suggest how explicit attention to the nature and implications of different language games may improve the teaching and learning of OO-modeling as well as programming. 1.
Individual Differences in Programming, Testing, and Debugging Strategies in a Statistical End-User Programming Environment," Undergraduate Thesis
, 2002
"... This study intended to investigate two areas of end-user programming: the influence of individual differences on success and whether or not groups of programming, testing, and debugging style would naturally cluster together and provide predictive value. Eighty-six participants, from backgrounds of ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
This study intended to investigate two areas of end-user programming: the influence of individual differences on success and whether or not groups of programming, testing, and debugging style would naturally cluster together and provide predictive value. Eighty-six participants, from backgrounds of computer science, psychology, engineering and humanities completed at battery of psychological tests and attempted to complete a timed programming task and testing and debugging task in Stata, a statistical programming environment intended for use by individuals with no programming experience. General intelligence and programming experience were good predictors of programming success. Three types of programming strategies were found: (1) the programmers group used their background knowledge to solve the programming task with little effort; (2) the lost/unmotivated group tended to exhibit repetitive and shallow problem solving; (3) the lost/motivated group tended to search for more information and exhibit more guess and check behavior. There were three types of testing and debugging strategies, but no good predictors of success: (1) the curious/distracted group ignored the task and became distracted; (2) the hesitant/focused group sought little information and
Studying the Language and Structure in Non-Programmers' Solutions to Programming Problems
- International Journal of Human-Computer Studies
, 2000
"... Programming may be more difficult than necessary because it requires solutions to be expressed in ways that are not familiar or natural for beginners. To identify what is natural, this article examines the ways that non-programmers express solutions to problems that were chosen to be representative ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Programming may be more difficult than necessary because it requires solutions to be expressed in ways that are not familiar or natural for beginners. To identify what is natural, this article examines the ways that non-programmers express solutions to problems that were chosen to be representative of common programming tasks. The vocabulary and structure in these solutions is compared with the vocabulary and structure in modern programming languages, to identify the features and paradigms that seem to match these natural tendencies as well as those that do not. This information can be used by the designers of future programming languages to guide the selection and generation of language features. This design technique can result in languages that are easier to learn and use, because the languages will better match beginners' existing problem solving abilities.
Teaching and Learning Computing
"... This literature review focuses on cognitive aspects of teaching and learning Computer Science. In order to limit the scope of this research the report does not address assessment, gender, media, collaborative or affective aspects of Computer Science Education to any significant extent. As well, soft ..."
Abstract
- Add to MetaCart
This literature review focuses on cognitive aspects of teaching and learning Computer Science. In order to limit the scope of this research the report does not address assessment, gender, media, collaborative or affective aspects of Computer Science Education to any significant extent. As well, softer skills such as IT management,

