Prototyping versus specifying: a multiproject experiment
IEEE Transactions on Software Engineering
An empirical investigation into problem decomposition strategies used in program design
International Journal of Man-Machine Studies - Ellis Horwood series in artificial intelligence
The Role of Domain Expenence in Software Design
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
IEEE Transactions on Software Engineering
Issues governing the suitability of programming languages for programming tasks
Proceedings of the Fourth Conference of the British Computer Society on People and computers IV
Mental representations of programs for student and professional programmers
Empirical studies of programmers: second workshop
Breakdowns and processes during the early activities of software design by professionals
Empirical studies of programmers: second workshop
Comprehension strategies in programming
Empirical studies of programmers: second workshop
Strategies in programming programmable controllers: a field study on a professional programmer
Empirical studies of programmers: second workshop
Control of cognitive processes during software design: what tools are needed?
CHI '88 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
A laboratory for teaching object oriented thinking
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Problem-solution mapping in object-oriented design
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
The nature and development of programming plans
International Journal of Man-Machine Studies
Understanding object-oriented: a unifying paradigm
Communications of the ACM
The programmer's apprentice
Smalltalk scaffolding: a case study of minimalist instruction
CHI '90 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Journal of Object-Oriented Programming
Variability in program design: the interaction of process with knowledge
International Journal of Man-Machine Studies - What programmers know
Object-oriented modeling and design
Object-oriented modeling and design
Designing object-oriented software
Designing object-oriented software
A seminar course in object oriented programming
SIGCSE '92 Proceedings of the twenty-third SIGCSE technical symposium on Computer science education
Program design methodologies and the software development process
International Journal of Man-Machine Studies
CHI '92 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
The effects of paradigm on cognitive activities in design
International Journal of Human-Computer Studies
On the Composition of Well-Structured Programs
ACM Computing Surveys (CSUR)
Cognitive strategies and looping constructs: an empirical study
Communications of the ACM
Climbing the smalltalk mountain
ACM SIGCHI Bulletin
Modern Structured Analysis
Object-Oriented Software Construction
Object-Oriented Software Construction
Software Engineering: A Beginner's Guide
Software Engineering: A Beginner's Guide
Difficulties in designing with an object-oriented language: An empirical study
INTERACT '90 Proceedings of the IFIP TC13 Third Interational Conference on Human-Computer Interaction
Principles of Program Design
Design strategies in object-oriented programming and expertise
CHI '92 Posters and Short Talks of the 1992 SIGCHI Conference on Human Factors in Computing Systems
Identification of Dynamic Comprehension Processes During Large Scale Maintenance
IEEE Transactions on Software Engineering - Special issue: best papers of the 17th International Conference on Software Engineering (ICSE-17)
Program understanding behavior during debugging of large scale software
ESP '97 Papers presented at the seventh workshop on Empirical studies of programmers
A Coding Scheme to Support Systematic Analysis of Software Comprehension
IEEE Transactions on Software Engineering
Communications of the ACM
Students' understanding of object orientation
Proceedings of the 8th annual conference on Innovation and technology in computer science education
Cognitive activities of abstraction in object orientation: an empirical study
ACM SIGCSE Bulletin
Cognitive Differences Between Procedural Programming and Object Oriented Programming
Information Technology and Management
The role of exogenous factors in technology acceptance: the case of object-oriented technology
Information and Management
Journal of Software Maintenance and Evolution: Research and Practice
The Role of Similarity in the Reuse of Object-Oriented Analysis Models
Journal of Management Information Systems
Pair programming and the mysterious role of the navigator
International Journal of Human-Computer Studies
Objects of our desire: empirical research on object-oriented development
Human-Computer Interaction
Patterns of Transition: The Shift from Traditional to Object-Oriented Development
Journal of Management Information Systems
The role of exogenous factors in technology acceptance: The case of object-oriented technology
Information and Management
ADVIS'04 Proceedings of the Third international conference on Advances in Information Systems
Collaborative problem solving: a study of MathOverflow
Proceedings of the 17th ACM conference on Computer supported cooperative work & social computing
Hi-index | 0.02 |
The research reported in this article provides descriptions of design activities and of the evolving designs for expert procedural and expert object-oriented (OO) designers and for novice OO designers who also had extensive procedural experience. Ten experienced programmers were observed while designing software that would serve as a scoring system for swim meet competitions. Talk-aloud protocols were collected and analyzed for different types of cognitive activities and strategies that occurred during the course of design. In particular, we analyzed both the design activities and the level of abstraction of the designs over the course of time for each group in order to examine the role of several design strategies described in the literature as central in procedural design. In the course of these analyses, we developed a generic way (design template) of comparing the final designs of designers in different paradigms. Using this template, we analyzed the designs in terms of their completeness for different views at different levels of abstraction. Our analyses of procedural and OO designers-in terms of their cognitive activities, design strategies, and final designs-provide a detailed comparison between design paradigms in practice. A variety of descriptive results are discussed in terms of positive transfer, interference, and implications for design training. Findings are also discussed in terms of the relation between tasks and design paradigms.