Artificial intelligence always was an interesting subject, even though all the current artificial intelligence isn't really artificial intelligence, it's just a simple program, there's currently no computer which could work like a brain, a brain can work in parallel of million of neurons, what we have Today is dual core CPU's or Quad core, when we will have CPUs which could emulate the patterns of brain activity, than maybe we could talk about artificial intelligence

For now it's only a program full of predicates, usually a knowledge base and rules, which comparing to our brain is really slow on current technology.
But from a programmer perspective, having the technology, I think it's possible to program a lot and an artificial intelligence might be smarter than current humans, but as we all know, we don't use all the power of our brain, so I guess we will always be "smarter" than a computer, you can't rely on a computer decision, but if it has all the knowledge gather, it can help you make a decision, most of doctors Today use different expert systems to make their job easier for any average doctor to make a conclusion much easier.
So, a computer can be programmed in a way to learn and make decisions, a computer can recognize images, sounds and objects and even smells or taste, but quite primitive, as I know only humans have real intelligence, a bug or a beattle for example has no intelligence, if we talk about real intelligence, but I think a program can be made which could act as a bug or a fish and live, as it's also quite primitive, but you would need to have the knowledge base and rules for it.
One of the harder things to implement isn't instincts, as it's quite easy, but the hardest thing and most powerful thing a human has is intuition/presentiment/feeling, lets say when a computer plays chess, it scans all possible moves and uses some kind of rules to not scan all possibilities, a human can sometimes rely on intuition and in most cases he will be right, but that requires knowledge.
Also, on this subject, can a computer feeling be the same as human? If programmers wrote a program which is a model of love and happiness, is that computer programmed happiness the same as real happiness? Most would say no, but practically a person is also a program, just really a good one, with one of the best nature algorithms which is looping since the beginning of time and our algorithms of computers are just spinning since the year ~1950, but we have a lot of knowledge, that is why I also think that intuition can be programmed, but it will really be a one hell of a program
Nevertheless, a computer can't have a soul.
In addition, I saw some sci-fi movies, where a subject like: can a computer/robot be in love with a human? or can a human love an intelligent robot? The future may tell, but I guess it can, due to Today some people can love a lot of strange things

So why not a robot...