I'm new to this list. I do research in software engineering (SE), with a focus
aspect-oriented software development. I subscribed this list in the hope of
obtaining answers to various questions/doubts regarding how human mind works.
To explain it briefly, I would like to know what (cognitive) psychology has to
about concepts related to the human mind that are important for SE. Typical
include complexity, generalisation and abstraction, though in time I hope to
After reading a few chapters on cognitive psychology, including memory and
and after searching for interesting pointers, I found the PPIG page and this
It's good to find a community that is knowledgeable in both computer science and
A first topic I would like to bring this list, if I may, is about complexity.
concept is constantly brought about in SE (and I'm sure in many other fields).
Tackling and overcoming complexity provides the motivation for many models,
programming paradigms and tools that have been proposed and developed in SE in
latest decades. Being such an important concept, I assumed that someone from SE
related fields already studied it in this light. However, when I started
failed to find satisfactory references. Apart from a chapter covering conceptual
modeling from Czarnecki's book (and thesis) on generative programming, I found
To me, complexity is really a name for anything that is hard on the human mind.
"Simple" is what we call to things that are "easy". After some readings, I
understand that humans feel complexity due to limitations on cognitive resources
(limitations in short term memory, need to "routinize" mental processes through
rehearsal). However, that is not how it is usually defined. In dictionaries at
least, complexity seems to be always defined by means of the symptoms rather the
cause. To illustrate, I reproduce definitions of "complexity"/"complex" from a
Longman Dictionary of the English Language, New Edition (2nd ed), 1991:
"a whole made up of complicated or interrelated parts"
"composed of two or (many) more related parts"
Larousse English Dictionary, 1996:
"[problem, system, character] that is not simple and has many different
"[language, calculation] difficult to understand"
Websters' Third New International Dictionary (unabridged), 1993:
"composed of two or more separable or analyzable items, parts, constituents,
two or more separable or analyzable items, parts, constituents, or symbols"
"having many varied interrelated parts, patterns, or elements and consequently
hard to understand fully"
"marked by an involvement of many parts, aspects, details, notions, and
necessitating earnest study or examination to understand or cope with"
(I'm leaving out different and unrelated concepts also named "complex", incl
related to repressed desires, feelings and memories, e.g., "inferiority
The nearest thing to a definition that goes to the root is one of Green and
Blackwell's "cognitive dimensions": 'Hard Mental Operations', which seems to me
synonym for complexity. Does everybody agree?
Does someone on this list knows about other definitions of complexity, as well
papers, studies, surveys, explaining how complexity is tackled by the human
PS: I'm posting this message also in response to Chris Douce's post relating to
PPIG newsletter. Hope it helps.
Miguel P. Monteiro | cell phone +351 96 700 35 45
Departamento de Informatica | Phone +351 21 294 8536 ext. 10708
Faculdade Ciencias e Tecnol.| Fax: +351 21 294 8541
Universidade Nova de Lisboa | URL: http://ctp.di.fct.unl.pt/~mpm
2829-516 Caparica, PORTUGAL | Skype: miguel.p.monteiro