Computer science is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical procedures that effect the acquisition, representation, processing, storage, communication of, and access to. information. This information is encoded as bits in a computer memory or transcribed in genes and protein structures in a biological cell. A computer scientist specializes in the theory of computation and the design of computational systems. A computer programmer creates programs that achieve specific tasks. A computer technician installs, troubleshoots, and repairs computer hardware.
The subcategories of computer science can be divided into a variety of theoretical and practical disciplines. Some fields, such as computational complexity theory are highly abstract. Other fields such as computer graphics emphasize real-world visual applications. Some fields focus on the challenges in implementing computation. Computer programming language theory evaluates various approaches to the description of computation. The study of computer programming itself investigates various aspects of the use of programming language and complex systems. Human–computer interaction assesses the challenges involved in making computers and computations useful, usable, and universally accessible to humans.