Computer science was founded by mathematicians and physicists as a data processing science. Most computer science departments actually started out as mathematics or applied mathematics departments, primarily due to the mathematical foundations of computer science. Alan Turing, commonly considered the father of computer science, was a British mathematician who, in 1936 wrote a paper called "On Computable Numbers," in which he described a hypothetical device that presaged programmable computers--the Turing machine. It was designed to perform logical operations and could read, write and erase symbols on an infinite paper tape. The Turing machine was a finite state machine, and provided the foundation of modern computer science.
The Bachelor of Science (B.S.) or Bachelor of Arts (B.A.) degrees are undergraduate degrees granted to students who complete all the computer science requirements at their respective universities. The requirements differ greatly across schools, so be sure to check the specific requirements at your University. A Master of Science (or, alternately, a Master of Engineering) in computer science is a graduate degree, typically consisting of 30 credits of graduate level courses in computer science. However, some programs do require a Masters' thesis, which is a research paper written at the culmination of the program. Students enrolled in a Masters degree program may need to fulfill certain pre-requisites as part of their program, if they did not demonstrate proficiency in those subjects at the undergraduate level. The terminal degree in computer Science is the Doctorate of Philosophy degree (PhD), which, in addition to advanced course requirements, culminates in a dissertation written about original research performed while in the program.
Numerous research and specialization paths are available in the computer science field. The two basic breakdowns divide the discipline into theoretical computer science and engineering. Specialization in theoretical computer science includes fields such as artificial intelligence, natural language processing, combinatorics, number theory, graphy theory, quantum computing and other arcs focused on the theoretical aspects of the discipline. The engineering track in most computer science programs concentrates on subjects such as operating systems, programming languages, network engineering, information security and software engineering. There are, of course, numerous overlaps, because most successful degrees involve theoretical and practical aspects of the discipline.
A degree in computer science lends itself well to various occupations in industry. Graduates in computer science often find work as programmers, application developers, network and systems engineers, or security experts. They may work for technology companies or in other domains, such as investment banking, publishing or medical services because every major industry has a need for the development and support of a constantly evolving computer infrastructure.
A Doctorate in computer science lends itself well to careers in academia and research. Most graduates will likely end up pursuing tenure-track faculty positions at major research universities, although some may opt for a professorship focused on teaching rather than research, and apply to jobs at small liberal arts schools. There are also opportunities for research outside of the university. Many engineering and mathematics think-tanks hire computer science graduates for cutting-edge research in developing technologies. Numerous government and Department of Defense jobs for computer scientists have academic expertise in security and cryptography.
Although computer science is a separate and distinct discipline, it does have a foundation in mathematics, physics and engineering. Therefore, if you choose to pursue a degree in computer science, be sure that you are capable of completing all the required courses in those subjects.