you understand something only if you can program it (Chaitin)
Intelligence is Abstract thinking plus Language plus Consciousness. Although all three are not independent, they can be understood in simple definitions.
Abstract thinking is thinking in terms and concepts produced by mind, not sensors. The world mind perceives mostly consists of introspective data.
Language is an agreement between communicating parties. Language serves as a port between the mind and the world.
Consciousness is perception of the abstract representation of self in the world.
The world is the model which the mind builds and holds to predict its future state.
Self is the object in the world the mind has control on. Self does not have well defined boundaries, for example, a governor may associate himself with a state.
Knowledge requires memory. Knowledge transfer requires language. Language is a simpler concept because it can be seen as a collection of symbols or rules. Knowledge is more complex because it is bound to language and behaviour. Any attempt to define knowledge immediately brings up a language. For example, storing any meaningful data requires some format, which is a language. But when we talk about knowledge, language is not necessary. For example, an ant knows where to crawl and does not need a language.
To a simple question "What is memory?" the dictionary answers "The ability to recover information about past events or knowledge" or "a part of a computer in which information is stored". But then what means "information"? What means "information stored"? Is it just a cause forwarded in time to make something behave different?