No one knows how to program general intelligence.
Well, I have an idea on how to crack that problem...but I'll never have the time and energy to pursue it. I'm also a terrible salesman, so I'll never convince anyone to fund it.
The first part involves defining the goal properly. What's the point of making a computer that's intelligent like a human being? A computer is not a human being. If one wants to make an intelligent computer, it must be done in a way that makes sense given the nature of a computer. There's a difference between artificial intelligence (e.g. what you put into video games to make NPCs interesting) and machine intelligence (e.g. what you put into a jet fighter so that it creams the enemy). Most efforts I see seem to revolve around achieving the former.
It would require a programming language that essentially allows new statements to be added to the language as easily as most OOP languages allow a subclass to be written. The general format of the language would be human-readable text, e.g. English. You don't start off by trying to get it to understand silly world problems, like the word "respectively" — that's a relatively sophisticated ability that comes much later. You just get it to understand the world it can see (i.e. the parts of a computer and its peripherals), with the definitions tracing back to the one concept it can understand — "I". After a fair bit of hand work, you'll have a system that can read normal human text and write code to consolidate its understanding of what it read. Imagine a natural-language parser on the front end and something like llvm's cross-platform assembly-language on the back end.
Once it's able to learn some basic knowledge, the first priority should be to teach it how to program a computer. When it gets to the point that it understands enough about computer programming to reflect upon its own implementation, then it can take over its own development, and then it starts growing exponentially.
There's a lot more to my plan — I've had it for "some time" — but there's no point in spilling all the beans at once.
I don't know if anyone out there has ever tried to design a machine-intelligence along these lines, but I've never heard of one. I'd be interested in hearing about any existing work in this direction.