Human thinking and mental tools that are influenced by the nature of computing processes and the concepts of computer science: computability, algorithmic thinking, symbol processing, heuristic reasoning, searching, parallel and distributed thinking, abstraction, hierarchical organization, rationality and its limits, complexity, languages of thought, knowledge and its representation.