The discipline concerned with the application of computer systems to problems of human endeavour such as thinking, learning, problem solving, decision making, and knowledge transfer.