Principal areas within computer science include artificial intelligence, computer systems and networks, database systems, human factors, networks, numerical analysis, programming languages, software engineering, and theory of computing.
Computer scientists are concerned with problem-solving.
Such models often require extensive numeric or symbolic computation. Computer scientists design and analyze algorithms to solve problems, and develop and study the performance of computer hardware and software. The Computer Science major is designed to educate students from several perspectives. Computer scientists must be able to embrace both the mathematical theory of algorithms and the more concrete study of the programming languages and machine architectures used in solving real problems with algorithms. They must understand something about the abstract models that describe universal computational phenomena, and they must have some knowledge of how computers are currently designed, programmed, and utilized.