In its most general sense, computer science (CS or compsci) is the study of computation and information processing, both in hardware and in software.
In practice, computer science includes a variety of topics relating to computers, which range from the abstract analysis of algorithms, formal grammars, etc. to more concrete subjects like programming languages, software, and computer hardware. As a scientific discipline, it is distinct from mathematics, programming, software engineering, informatics, and computer engineering, although there are significant overlaps and no clear demarcation.