Results 1 -
4 of
4
Intent specifications: An approach to building human-centered specifications
- IEEE Transactions on Software Engineering
, 2000
"... AbstractÐThis paper examines and proposes an approach to writing software specifications, based on research in systems theory, cognitive psychology, and human-machine interaction. The goal is to provide specifications that support human problem solving and the tasks that humans must perform in softw ..."
Abstract
-
Cited by 77 (9 self)
- Add to MetaCart
AbstractÐThis paper examines and proposes an approach to writing software specifications, based on research in systems theory, cognitive psychology, and human-machine interaction. The goal is to provide specifications that support human problem solving and the tasks that humans must perform in software development and evolution. A type of specification, called intent specifications, is constructed upon this underlying foundation. Index TermsÐRequirements, requirements specification, safety-critical software, software evolution, human-centered specifications, means-ends hierarchy, cognitive engineering.
A cognitive neuroscience perspective on memory for programming tasks
- In In the Proceedings of the 22nd Annual Meeting of the Psychology of Programming Interest Group (PPIG
, 2010
"... Abstract. When faced with frequent interruptions and task-switching, programmers have difficulty keeping relevant task knowledge in their mind. An understanding of how programmers actively manage this knowledge provides a foundation for evaluating cognitive theories and building better tools. Recent ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
Abstract. When faced with frequent interruptions and task-switching, programmers have difficulty keeping relevant task knowledge in their mind. An understanding of how programmers actively manage this knowledge provides a foundation for evaluating cognitive theories and building better tools. Recently, advances in cognitive neuroscience and brain imaging technology has provided new insight into the inner workings of the mind; unfortunately, theories such as program understanding have not been accordingly advanced. In this paper, we review recent findings in cognitive neuroscience and examine the impacts on our theories of how programmers work and the design of programming environments. 1
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
Programming Osmosis: Knowledge Transfer from Imperative to Visual Programming Environments
, 2007
"... Computer science educators continue to develop new ways to support the teaching of introductory programming. Among some of the most popular new tools are Visual Programming Languages (VPL), which provide graphical interfaces for code construction and program display. In this paper we explore the use ..."
Abstract
- Add to MetaCart
Computer science educators continue to develop new ways to support the teaching of introductory programming. Among some of the most popular new tools are Visual Programming Languages (VPL), which provide graphical interfaces for code construction and program display. In this paper we explore the use of Alice, a sophisticated VPL for building 3D animated scenes. When used in conjunction with a traditional programming language, we found minimal transfer from the imperative context to the visual environment. We also found that students struggled to make the connection between work in Alice, and “real programming”. We suggest caution when using curricular materials which, while technologically appealing, may not be pedagogically appropriate.

