Thanks for looking at the paper. The issue I was attempting to address is what is abstraction. I don't think we have a good answer. We all regard it as very important -- especially in software and computational thinking. If you were going to define abstraction, what would you say? That's where I was going. (http://cs.calstatela.edu/wiki/images/5/56/Abstraction_abstracted.pdf
It wasn't where I was planning to go. (I'm not sure I knew where I was planning to go when I started.) But I kept getting pushed in the direction of attempting to understand what we mean by abstraction. I would up by saying that "abstraction" and "concept" are more or less the same. One contribution of the article (if there is one) is that "concept" depends on consciousness. Of course there is a very large philosophical literature on conceptualization. I can't claim to know much of it. (For example, the Stanford Encyclopedia of Philosophy has this article: http://plato.stanford.edu/entries/concepts/
, which I haven't mastered.) But it does seem to me to be useful to say that a concept is a distinction that one is aware of making or being able to make--and hence depends on some level of self-awareness. So a concept is our way of making discrete chunks out of our experience.
It's not clear how widespread the ability to form concepts is. For example, dogs can recognize their masters. So they have a concept (an abstraction) of their master in some sense. But do we know whether dogs can mentally refer to their masters? E.g., can a dog think to itself something like, "I wish my master were home so he could take me out for a walk." Or is that too abstract? So perhaps some animals have the ability to form concepts but not to manipulate them mentally? Obviously I don't have all the answers.
On Jan 30, 2008 12:08 PM, Jochen Fromm <Jochen.Fromm@...
It is well known that human thought uses
concepts, categories and abstractions. I
can't see anything new here. It is also
well known that abstraction is besides
modeling and decomposition an important
tool to cope with complexity, a core problem
for every software engineer.
Jeannette M. Wing writes in her article
(Comm. of the ACM March 2006 Vol. 49, No. 3)
"Computational thinking is using abstraction and
decomposition when attacking a large complex task
or designing a large complex system. [...]
Thinking like a computer scientist means more
than being able to program a computer. It requires
thinking at multiple levels of abstraction."
You article 'If a tree casts a shadow
is it telling the time" more interesting'
seems to be more interesting. I like the
topic "unconventional computation."
> In a recent paper, I suggested that a characteristically human
> characteristic is the ability to reify experience as concepts.
> I'd appreciate your thoughts on this and on the paper, which
> is primarily about abstraction in software.
> -- Russ Abbott
-- Russ Abbott
Professor, Computer Science
California State University, Los Angeles
o Check out my blog at http://russabbott.blogspot.com/