Posts tagged: Computer Science

A Slightly New Direction…

So far in my blog posts, I have either given you a tedious amount of background on me or went into relatively heavy theoretical stuff that I state as fact and don’t site references for (see The Components of Thought, The Origin of Thought, and Thought and the Environment as examples).

I think, moving forward I’m going to try to write more concrete posts that are more relevant to more people.  I’m not saying I won’t dabble in the theoretical.  I’ll just do less of it, and will better tie it to concrete applications.

My interest in computers is based primarly on interactions, such as the following:

  • People interacting with themselves.
  • People interacting with other people.
  • People interacting in communities.
  • People interacting with software.
  • Software interacting with other software.
  • And, lastly, people interacting with other people through software.

I think I got them all.  Anyway, the point is that there are lots of applications, particularly in the Web 2.0 community that are all about the above interactions.  Also, there are a lot of interesting ideas in both the design world and the software development world as well.  So, from now on I will try to hit these.

Eventually, I would also like to contribute software.  As I explore the landscape, I’ll better be able to formulate my ideas.

I think my next post will be about Twitter, as I’ve become a bit of an addict as of late.  My twitter id is @purecognition.  Give me a follow, if you like.

If you have been reading my blog, I thank you for your patience as I find my voice.  If you have an ideas for things I should look into, based on my previous posts, please feel free to comment.

Reblog this post [with Zemanta]
Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • email
  • Ma.gnolia
  • Reddit
  • TwitThis
  • StumbleUpon
  • Yahoo! Buzz
  • Share/Bookmark

The Components of Thought

It’s been a while since I formally studied cognition, and I haven’t kept up the reading as well as I should have.  It doesn’t help, of course, that my profession requires a lot of investment in studying within it.  However, I want to try to help you understand why software development is so meaningful to me…a lover of the study of human cognition.

How do you think about things?  How do you percieve the world around you?  There is a theory out there that says that you model the world around you mentally.  These models are usually called mental models.  They don’t have to manifest themselves as physical models do.  They are not constrained by space or time.  And, only you, can truly understand how you model the world around you.  That doesn’t, however, prevent Cognitive Science from trying to take a glimpse.

Most biological and cognitive theoretical frameworks come down to evolution.  The question is asked, “How does this trait either keep you from getting killed or assist you in procreating?”  The reason for this is that random mutations that lead to either not being killed or procreating a lot before you die are most likely the ones being selected for as humans evolved.  This is because those that have an advantageous mutation are more likely to live longer and procreate more.  Their progeny are also more likely to have the same mutation which will give them the same advantages.  This, by the way, is of course theory and not shared by everyone.  I’m mentioning it here for context.

Let’s get back to mental models.  What are they made out of?  Another theory is that they are based on abstract symbols systems.  A symbol system is a system made up of symbols along with the rules for manipulating those symbols.  These rules amount to affordances and constraints.  Affordance are what you can do, and constraints are what you can’t.  This might be difficult to visualize.  So, let’s concretize it a bit.  Mathematics uses a symbol system.  Think about algebra.

1 + x = 3

In order to find out what x is you have to manipulate the symbols.

1 + x – 1 = 3 -1

Doing this leads to the following.

x = 2

As long as the left and right side of the equals sign are balanced you are within the constraints of the symbol system.

What about this symbol system makes it useful?  As long as each manipulation of it is within its constraints, it preserves truth.  In other words, each manipulation of it gives us an accurate picture of the situation.  And, mathematics models reality.

Now let’s go back to the mind.  If we have an accurate picture of the world around us what advantage does that give us?  Think of it this way, what could an accurate understanding of physics give us if we are pondering walking in front of a moving automobile or off the side of a building?  If the symbol-system guiding our mental model of the situation preserves truth, it preserves our life.  I can reason that the automobile will hit me and kill me or that I will hit the ground and be killed.  Reasoning, it can be said, is simply a manipulation of a mental model based on a symbol-system.  If that symbol-system preserves truth then the reasoning is accurate.

So, what I have tried to establish above is that people have mental models of the world around them.  These mental models are made up of symbol systems whose manipulations must be guided by rules that preserve truth in order for them to live (and procreate).  They use these models to solve problems and guide their behavior.

Next I’ll discuss how these models are formed.

Reblog this post [with Zemanta]
Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • email
  • Ma.gnolia
  • Reddit
  • TwitThis
  • StumbleUpon
  • Yahoo! Buzz
  • Share/Bookmark

Opps…It’s a stack, not a queue…

Analogies are used in computer science all the time.  And, one application of them is in data structures.  A stack data structure means that the items are taken off in the opposite order that they are put on…think of the dishes in a buffet.  A queue data structure means that the items are taken off in the same order that they are put on…think of the line at a bank.

I mistakenly forgot that blog posts are on a stack…which means they appear in the opposite order of when I publish them.  So, my series of posts concerning my background are now in the opposite order than intended.  Sorry about that.  In the future, I will take that into account.  For now, if you wish to read about my background, you’ll have to from the bottom up.

Sorry for the inconvenience.

Reblog this post [with Zemanta]
Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • email
  • Ma.gnolia
  • Reddit
  • TwitThis
  • StumbleUpon
  • Yahoo! Buzz
  • Share/Bookmark

My Background – Part 7: From Cognitive Science to Computer Science…

I was worried that I wasn’t going to be as interested in computer science as psychology. But, that fear soon subsided. It turned out that computer science is just as rich as cognitive science. And, there is the added benefit of the fact that human created computers and understood their creation better than the mind. It was nice not to have to “guess” as much, and just know that that was how us humans did it. To bad God couldn’t have at least been a guest lecturer in some of my psychology courses.

Also, it turns out that studying computers IS studying humans. My study of the human mind didn’t stop when I because a computer scientist. Humans created and programmed computers in their own image…on multiple levels.

Right now, a thousand examples of the statement above are swimming through my head. However, I’m going to stop with it because those examples each deserve there own posts. I’m also going to stop with my “background” for three reasons. First, my “career” experiences will make it into the future blog entries by the very nature of what they are. Secondly, as helpful as my career has been in terms of learning experience, my path before it is what helped me form the interests that I have now and am blogging about…for the most part. And, lastly, I’m getting bored.

Reblog this post [with Zemanta]
Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • email
  • Ma.gnolia
  • Reddit
  • TwitThis
  • StumbleUpon
  • Yahoo! Buzz
  • Share/Bookmark

My Background – Part 6: Full circle…

The two more notable research experiences that I had was in a conceptual development lab and a cognition and skill acquisition lab. I won’t go into a lot of detail right now about these. But, the short of it, is that I learned how people create and experience the world around them and how this affects their perception of their world and how they consciously navigate it.

While I was studying psychology, computers were pretty much just for writing papers and checking email. However, at some point (which currently escapes me), I obtained a renewed interest in them. It occurred to me that a computer is an extremely flexible and potentially intelligent environment for human consumption. It can be molded into virtually anything that is needed to essentially supplement the human mind.

So, after graduating with my degree in psychology, I decided to forgo the lucrative career that a bachelor’s degree in psychology would afford me and go back for a computer science degree. I was told to me that I didn’t necessarily have to go get a computer science degree to get into software development, but I am a strong believer in understanding the fundamentals of a discipline before practicing it…at least for myself. Also, I knew that it would be easier to get a job in it if I had a piece of paper saying I knew it.

Reblog this post [with Zemanta]
Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • email
  • Ma.gnolia
  • Reddit
  • TwitThis
  • StumbleUpon
  • Yahoo! Buzz
  • Share/Bookmark

WordPress Themes

Blog WebMastered by All in One Webmaster.