Computer science (sometimes referred to as Computing Science), as its name suggests, is the scientific, practical, and theoretical approach to computation using computers. Computer scientists and professionals involved in computer science (e.g. mathematicians, engineers, etc.) use their unique understanding of computers and computation processes to design computational systems with real-world and theoretical applications. Computer scientists are problem solvers. They employ advanced modeling and use computers to analyze problems and design solutions. Computer science requires the ability to think logically but good computer scientists are also very creative.
Within the discipline of computer science, there are several sub-disciplines of both a practical and theoretical nature. Computer science disciplines and specialties can be abstract (e.g. computational complexity theory), practical (e.g. computer graphics) or a combination of the two (e.g. programming language theory). The more practical applications of computer science can be seen in just about every facet of today’s computer driven world. Some of the more important disciplines within computer science include software engineering, application development, artificial intelligence, computer networking, computer-human interaction, computer graphics, computer architecture, operating systems, numerica and symbolic computation, database systems and computational science.
Computer science is one of the few disciplines that includes experimental methods, engineering design and theoretical studies. This is very different from most other fields of science that tend to separate the understanding of science of from its application in real-world engineering settings. In computer science the theoretical concepts of computation are intermingled with modern practical advancements in electronics and engineering technology which in turn help to advance the discipline.
Areas of Computer Science
The discipline of computer science covers a large array of topics from the theoretical studies of limits of computations and algorithms to more practical applications such as the development and implementation of computer and software driven computing systems. There are however four areas that, according to the Computing Sciences Accreditation Board (CSAB), are integral to the study, understanding and advancement of computer science: theory of computation, data structures and algorithms, computer elements and architecture, and progamming languages and methodology. Within the discipline of computer science there are two general categories: Theoretical Computer Science and Applied Computer Science. The following is a break down of the different specialties within each area of focus.
|Applied Computer Science||Theoretical Computer Science|
The approach taken to teach computer science can vary dramatically from one institution to the next. Some colleges and universities approach computer science as a theoretical study of algorithmic reasoning and computation. Schools that employ a theory based education approach often focus on areas of study such as analysis of algorithms, concurrency theory, theory of computation, formal methods, systems analysis and databases, to name a few. While these schools often teach computer programming, it typically is not a central focus or taught in enough depth for students to gain a level of competency required for software development or programming careers in many technology fields.
Many colleges, universities and vocational schools take a very different approach to teaching computer science. While theory is an important aspect of program curriculum, emphasis is placed on teaching computer science and advanced programming as they apply in a real-word settings. These programs are designed to help students develop practical, applicable skills that they’ll need to enter the work force, particularly the software industry as software engineers. While many in academia may disagree, there is a strong consensus among professionals in high-tech industries that education programs that emphasize applied computer science provide students with a more valuable education than those that focus primarily on theory.
While computer science is becoming a driving force in the U.S. economy, many k-12 and post-secondary schools do not include computer science classes as part of their core curriculum. However, this is slowly changing. Fourteen states now include computer science in their core academic curriculum and have set computer science competency standards that must be met before graduation. Many colleges, that traditionally offered computer science as a specific major, now include computer science classes as part of their undergraduate core curriculum.
See the Best Computer Science Schools in the nation.
Associate vs. Bachelor Degree Computer Science
If you’re trying to figure out which degree in computer science to get started with, it’s important that you first understand the differences between an associate’s degree and bachelor’s degree in computer science. While both degrees are undergraduate degrees that prepare you for entry-level career positions, they each have very different coursework and graduate requirements. An associate degree and bachelor’s degree in computer science also vary dramatically in the near and long-term career options and salary possibilities they provide.
One of the key differences between an associate degree and bachelor’s degree in computer science is the time required to complete each degree program. On average, an associate degree in computer science can be completed in just two years, while its takes four years to complete a bachelor’s degree. But the additional two years required to complete a bachelor’s degree isn’t for nothing. A bachelor’s degree in computer science provides students a much more comprehensive and in-depth education.
Probably one of the most important difference between an associate and bachelor’s degree in computer science, especially for recent graduates, is the type of jobs and salary level they each provide. It probably goes without saying that earning bachelor’s degree in computer science qualifies students for better and higher-paying positions than an associate’s degree does.
An associates degree in computer science typically requires students to complete 64 semester hours, where a bachelor’s degree in computer science usually requires 128 semester hours. Both an associate and bachelor’s degree have similar general education requirements but a bachelor’s degree will have substantially more major course requirements and provide a more in-depth study of computer science than an associate degree.
Bachelor’s Degree in Computer Science
The Bachelor of Computer Science (BCS or BComcSC) typically takes about four years to complete, but today there are several accelerated programs where students can earn their degree in just three years. While students have the option of earning a 2-year associate degree in computer science, the four-year Bachelor of Computer Science is the degree of choice among employers and recruiters looking to fill coveted information technology positions.
The Bachelor of Computer Science is not the only bachelor’s-level computer science degree offered by U.S. colleges and universities. There are several other bachelor’s degree in computer science programs that have the same core curriculum as the Bachelor of Computer Science. Other comparable degrees include:
- Bachelor of Arts (BA) in Computer Science
- Bachelor of Applied Science (BASc) in Computer Science
- Bachelor of Computer Security in Computer Science
- Bachelor of Computing in Computer Science
- Bachelor of Engineering (BEng) in Computer Science
- Bachelor of Science in Engineering (Computer Science) – BSE (CS)
- Bachelor of Mathematics in Computer Science
- Bachelor of Science (BSc or BS) in Computer Science (BSc CS or BSCS or BSc (Comp))
- Bachelor of Science in Information Technology
Following a trend established in other fields of study, many universities now offer an Honors Bachelor of Computer Science degree which is awarded to students who exhibit superior academic performance and complete an additional year of study.
Not all bachelor’s degree programs are the same. Truth be known, it’s not uncommon for curriculum and coursework to vary from one school to the next–even for the same degree. Students should carefully review and consider a computer science program to make sure it will help them meet their long-term educational and career goals. Some of the more common topics addressed in a bachelor’s degree in computer science program include Algorithms, Programming Paradigms, Data Structures and Information Retrieval, Programming Principles, Computer Architecture and Logic & Computation. More in-depth courses, usually associated with a specialized discipline with in a computer science, include human-computer interaction, information theory, data communication, theory of computation, numerical computation, operating systems, compilers, computer graphics, cyber-security, game design, information assurance, distributed systems and artificial intelligence, among others.
Master’s Degree in Computer Science
If you want to take your career to the next level, then you may considered earning a Master of Science in Computer Science (MSCS). The MSCS is similar to the Bachelor of Computer Science (BCS) in that it provides an in-depth study of computer science. The MSCS just takes the depth of study one step further than the BCS. Next to physician assistant studies degree, a master’s degree in computer science is the No.1 “best master’s degrees” you can earn according to Forbes magazine. Salaries for college graduates with an MSCS can be well over $110,00 a year and job opportunity for advanced computer science degree holders are always plentiful. Between 2008 and 2018, employment opportunities for computer science-degree holders are expected to increase by 27% and the best positions expected to be filled by CS professionals with advanced degrees.
However, keep in mind that many successful professionals and programmers that work in technology fields and computer science careers never earned a formal degree in computer science. At the end of the day your success will be determined by what you can do, not what degree you have. A degree will help you land a good job. Where you go from there will be determined by skills and abilities you bring to the table.
Doctor of Computer Science
The Doctor of Computer Science (abbrevidated DSc.Comp, DCompSci, D.C.Sc., D.C.S.) is an applied research doctorate degree offered at select universities throughout the United States. This degree usually requires a substantial amount of work (and research) that goes well beyond the master’s level. The Doctor of Computer Science is considered a terminal degree and is reserved for those individuals seeking to make meaningful contributions to computer theory and practice. Obtaining a master’s degree in computer science or a related field and having substantial work experience is typically a prerequisite to being accepted to a doctorate program in computer science.