Hello everyone, I'm new to this list. I do research in software engineering (SE), with a focus on 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 say about concepts related to the human mind that are important for SE. Typical examples include complexity, generalisation and abstraction, though in time I hope to cover a few others. After reading a few chapters on cognitive psychology, including memory and learning, and after searching for interesting pointers, I found the PPIG page and this list. It's good to find a community that is knowledgeable in both computer science and cognitive psychology. A first topic I would like to bring this list, if I may, is about complexity. The 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 the latest decades. Being such an important concept, I assumed that someone from SE or related fields already studied it in this light. However, when I started looking I failed to find satisfactory references. Apart from a chapter covering conceptual modeling from Czarnecki's book (and thesis) on generative programming, I found little. 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 few good dictionaries: -------------------------- 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 connected parts" "[language, calculation] difficult to understand" -------------------------- Websters' Third New International Dictionary (unabridged), 1993: "composed of two or more separable or analyzable items, parts, constituents, or 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 the one related to repressed desires, feelings and memories, e.g., "inferiority complex") 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 a synonym for complexity. Does everybody agree? Does someone on this list knows about other definitions of complexity, as well as papers, studies, surveys, explaining how complexity is tackled by the human mind? Thanks, miguel PS: I'm posting this message also in response to Chris Douce's post relating to a 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
