Computer science is the study of computation and information Computer science deals with theory of computation, algorithms, computational problems and the design of computer systems hardware, software and applications Computer science addresses both human-made and natural information processes, such as communication, control, perception, learning and intelligence especially in human-made computing systems and machines. According to Peter Denning, the fundamental question underlying computer science is, What can be automated Its fields can be divided into theoretical and practical disciplines. Computational complexity theory is highly abstract, while computer graphics and computational geometry emphasizes real-world applications. Algorithmics is called the heart of computer science Programming language theory considers approaches to the description of computational processes, while software engineering involves the use of programming languages and complex systems. Computer architecture and computer engineering deals with construction of computer components and computer-controlled equipment Human–computer interaction considers the challenges in making computers useful, usable, and accessible. Artificial intelligence aims to synthesize goal-orientated processes such as problem-solving, decision-making, environmental adaptation, motion planning, learning, and communication found in humans and animals. Computer science is the study of manipulating, managing, transforming and encoding information.There are many different areas in computer science. Some areas consider problems in an abstract manner, while some need special machines, called computers. A person who works with computers will often need mathematics, science, and logic in order to design and work with computers.