Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1640089.1640126acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Writing code for other people: cognitive psychology and the fundamentals of good software design principles

Published: 25 October 2009 Publication History

Abstract

This paper demonstrates how the cognitive model of the mind can explain the core fundamentals behind widely accepted design principles. The conclusion is that software design is largely a task of chunking analogies and presents a theory that is detailed enough to be accessible to even the most inexperienced programmer. The corollary of which is a pedagogical approach to understanding design principles rather than the necessity of years of software development experience.

References

[1]
G. Booch; R. A. Maksimchuk; M. W. Engle; B. J. Young; J. Conallen; K. A. Houston. Object-Oriented Analysis and Design with Applications, Third Edition (2007). Addison-Wesley ISBN 0-201-89551-X
[2]
F. Brooks. No Silver Bullet - Essence and Accidents of Software Engineering (1986). http://www.lips.utexas.edu/ee382c-15005/Readings/Readings1/05-Broo87.pdf.
[3]
G. Cooper. Research into Cognitive Load Theory and Instructional Design at UNSW (1998). http://education.arts.unsw.edu.au/staff/sweller/clt/index.html
[4]
J. O. Coplien. Multi-Paradigm Design for C++ (2003). Addison-Wesley ISBN 0-201-82467-1.
[5]
N. Cowan. The Magical Number 4 in Short-term Memory: A Reconsideration of Mental Storage Capacity. In Behavioral and Brain Sciences, Vol. 24, No. 1. (February 2001), pp. 87--185. (2001)
[6]
O. Dahl, E. Dijkstra, C. A. R Hoare. Structured Programming (1972). Academic Press.
[7]
A. Didierjean, and F. Gobet. Sherlock Holmes - An expert's view of expertise. In British Journal of Psychology 99: 109--125 (2087).
[8]
D. K. Dirlam. Most efficient chunk sizes. In Cognitive Psychology, 3:355--359, 1972.
[9]
M. Fowler, K. Beck, J. Brant, and W. Opdyke. Refactoring: Improving the Design of Existing Code (1999). Addison-Wesley ISBN 0-201-48567-2.
[10]
D. Gentner. Structure-mapping: A theoretical framework for analogy. In Cognitive Science, 7, pp 155--170 (1983).
[11]
F. Gobet. Discrimination Nets, Production Systems and Semantic Networks: Elements of a Unified Framework (1996). http://people.brunel.ac.uk/~hsstffg/papers/UnifiedFramework/UnifiedFramework.html.
[12]
F. Gobet, P. C. R. Lane, S. Croker, P. C-H. Cheng, G. Jones, I. Oliver, and J. M. Pine. Chunking mechanisms in human learning. In TRENDS in Cognitive Sciences, 5, 236--243. (2001).
[13]
Gamma, Helm, Johnson and Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. (1995). Addison-Wesley ISBN 0-201-63361-2
[14]
Douglas R. Hofstadter. Analogy as the Core of Cognition. In Dedre Gentner, Keith Holyoak, and Boicho Kokinov (eds.) The Analogical Mind: Perspectives from Cognitive Science, Cambridge, MA: The MIT Press/Bradford Book, 2001, pp. 499--538.
[15]
K. J. Holyoak and P. Thagard. The Analogical Mind (1997). http://cogsci.uwaterloo.ca/Articles/Pages/Analog.Mind.html
[16]
J. N. MacGregor. Short-term memory capacity: Limitation or optimization? In Psychological Review, 94(1):107--108, 1987.
[17]
George A Miller. The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information. In The Psychological Review, 1956, vol. 63, pp. 81--97 (1956)
[18]
H. Mills, R. Linger, A. Hevner. Principles of Information System Design and Analysis (1986). Academic Press.
[19]
G. Myers. Composite/Structured Design (1978). Van Nostrand Reinhold.
[20]
M. Page-Jones. The Practical Guide to Structured Systems Design (1988). Yourdon Press.
[21]
T. Stafford, M. Webb. Mind Hacks (2004). O'Reilly ISBN 0-596-00779-5
[22]
P. Van den Broek, K. Risden, Y. Tzeng, T. Trabasso, and P. Brasche. Inferential questioning: Effects of comprehension of narrative texts as function of grade and timing. In Journal of Educational Psychology, 93(3): 521--529 (2001).
[23]
N. Wirth. Program Development by Stepwise Refinement (1983). In Communications of the ACM vol. 26(1).
[24]
N. Wirth. Algorithms and Data Structures (1986). Prentice-Hall.
[25]
E. Yourdon, L. Constantine. Structured Design (1979). Prentice-Hall.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '09: Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
October 2009
590 pages
ISBN:9781605587660
DOI:10.1145/1640089
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 44, Issue 10
    OOPSLA '09
    October 2009
    554 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/1639949
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 October 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. 4 minus analogies
  2. chunking analogies

Qualifiers

  • Research-article

Conference

OOPSLA09
Sponsor:

Acceptance Rates

OOPSLA '09 Paper Acceptance Rate 25 of 144 submissions, 17%;
Overall Acceptance Rate 268 of 1,244 submissions, 22%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 828
    Total Downloads
  • Downloads (Last 12 months)9
  • Downloads (Last 6 weeks)0
Reflects downloads up to 28 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media