Computer Science Degrees

Computer Science DegreesEver imagined you might teach a computer to do a task? No, not just a simple command. Rather, a complex series of steps and how to make decision. Something like teaching a computer to drive a car. Or how to catch a shoplifter. Or how to analyze millions of hours of video to tell a company how to arrange their products on their shelves.

Machine learning is just one of scores of computer science disciplines utilizing cutting-edge technology. Computer scientists are in high demand at nearly every level, and for many types of skill sets.

Some computing jobs are creative, while others rely on strong mathematical skills. Some jobs rely on engineering knowledge, and some on judgment, ethics, policymaking, or even design.

computer science degrees

Just a few decades ago, computer science was hardly even an academic discipline. Today, it’s driving us into a new world (literally).

General Computer Science Degree FAQs

First off, let’s define what computer science is. Computer science is research and design of computational systems, as well as work related to theories of computing. While most computer science jobs involve research and design of computational systems, theoretical work does occur in academic settings.

“Computational systems” is a broad category. And most computer scientists specialize over time: on the job, or through schooling. Slightly less broad categories within computational systems include working on hardware, working on software, working in networking, working in information assurance, or working in data structures or algorithms.
3a273b (dark purple) fff82e (yellow) 7b239a (light purple)

computer science jobs

For a more exhaustive list of academic specializations within computer science, look below:

Mathematical Foundations

  • Coding theory
  • Game theory
  • Graph theory
  • Mathematical logic
  • Number theory

Algorithms and Data Structures

  • Algorithms
  • Data Structures

Artificial Intelligence

  • Artificial intelligence
  • Automated reasoning
  • Prolog
  • Automated theorem provers
  • Mathematical theorems
  • Computer vision
  • Soft computing
  • Natural language processing
  • Robotics

Communication and Security

  • Networking
  • Computer Security
  • Cryptography

Computer Architecture

  • Computer Architecture
  • Operating Systems

Computer Graphics

  • Computer Graphics
  • Image Processing
  • Information Visualization

Concurrent, parallel, and distributed systems

  • Parallel Computing
  • Concurrency
  • Distributed Computing

Databases

  • Relational Databases
  • Structured Storage
  • Data Mining

Programming Languages and Compilers

  • Compiler Theory
  • Programming Language Pragmatics
  • Programming Language Theory
  • Formal Semantics
  • Type Theory

Scientific Computing

  • Computational Science
  • Numerical Analysis
  • Symbolic Computation
  • Computational Physics
  • Computational Chemistry
  • Bioinformatics
  • Computational Neuroscience

Software Engineering

  • Formal Methods
  • Software Engineering
  • Algorithm Design
  • Computer Programming
  • Human-Computer Interaction
  • Reverse Engineering

Theory of Computation

  • Automata Theory
  • Computability Theory
  • Computational Complexity Theory
  • Quantum Computing

As you can see, computer science is a vast discipline!

While most computer science degree programs will focus on providing a wide foundation that touches on many of the above disciplines, research at the graduate level can focus exclusively on any of the above specializations.

To answer the question “what is computer science?” the short answer is many, many things related to computational systems.

What Jobs Can I Do With a Computer Science Degree?

network administrator salary
Computer science degrees form the basis for nearly all computer science disciplines. While some computer science workers are self-taught or hold degrees in other fields, a computer science degree is the surest bet to obtaining employment in a wide range of computer science-related fields.

Even though we outlined a ton of research disciplines in the last section, many computer science jobs fall into a few common job titles. These jobs fall into a few

Programming Jobs

  • Software Development
  • Web Development
    • Front-end web developer
    • Back-end web developer
    • Full-stack web developer
  • Database Developer
  • AI Developer
  • Machine Learning Developer

Hardware Engineering Jobs

  • IT Support Specialist
  • Hardware Support Analyst
  • Hardware Engineer
  • Robotics Engineering
  • Quality Assurance Engineers

Networking Jobs

  • IT Support Specialist
  • Hardware Support Analyst
  • Systems Administrator
  • Network Administrator
  • Network Architect

Information Assurance Jobs

  • Incident Responder
  • Security Software Engineer
  • Security Architect
  • Network Administrator
  • Penetration Tester

While that may seem like an overwhelming list of job types, typically you’ll be prepared for a handful of jobs based on what degree you choose at the associates or bachelor’s levels.

Most Common Entry-Level Computer Science Jobs

Systems Administrators Salary
Software Developer positions are potentially the most common job taken by bachelor’s or master’s degree recipients in computer science. Software developers are focused on systems-level software. They design, create, test, and maintain software, from the latest app on your smartphone to software that transfers money from one bank to another.

While many software developers work on products we’re familiar with as consumers, a huge number of software developers also work for business or government-facing employers.

IT Help Desk salaryEver heard the phrase, “software is eating the world?” Well, even if you haven’t it’s true. No matter what industry you’re in, chances are software has automated some of the work you may have done (or someone would have done) even 10 years ago.

Though software is much more efficient at many tasks than scores of administrative assistants, it still takes many, many developers to create and maintain. For this reason, there are software developer roles in almost every industry: manufacturing, logistics, finance, medical, communications, military, aerospace, marketing, scientific, and the list goes on.

Web Developers specialize in creating solutions in a space we’re all familiar with: the internet.

Did you know that 90% of all data on the internet has been created since 2016? And that acceleration of new data is only increasing. This means many things. We’re relying on the internet more, there are more ways to utilize the internet, and there are more jobs than ever for web developers.

software developer salaryWeb developers work in a variety of technologies. Though a degree in computer science isn’t necessary for becoming a web developer, as web technologies become more complex, academic understanding of computer science is more and more valuable online.

Web development work is typically divided into three categories, each with many technology “stacks” that one can learn to “do the trick.” Front-end developers help to build interactive visual interfaces that service users are exposed to all the time. From understanding how best to organize a site to providing little visual flourishes, to optimizing sites for placement in search engines and for accessibility, front-end developer jobs are important.

A second core group of web developers focuses on the “back end.” These developers craft solutions on the servers that serve up information for websites and apps to display. Site speed optimization, up-time of services, the logic of applications, and databases of information are all within the purview of back-end developers.

Finally, full-stack developers are the wizards familiar with both front-end and back-end technologies. These highly-coveted individuals are master’s of applied computer science knowledge as it relates to web technologies.

IT Help Desk members are crucial educators and first-line defenders against technical difficulties in nearly every business type. Most organizations have internal IT Help Desk teams, while most producers of technical products have external IT Help Desks for consumers.

For those with an associate’s or bachelor’s in information technology, help desk jobs can be a great way to familiarize yourself with a given technology “stack” as you gain experience to move into network administration, systems administration, development, or information assurance jobs.

web developer salaryBesides the friendly voice on the phone that talks you through how to set up your computer, help desk members are also responsible for deciding on and enacting technology-related policies. This involves deciding what organization-wide security and best practice related policies need to be in place, educating members of the organization on how to do these things, and making sure they’re being done.

Helpdesk members must be friendly as well as good at explaining technical concepts to non-technical team members. This hybrid role is excellent for those with good soft skills, and technical know how. Additionally, help desk positions offer room to grow into more technology-centered roles in many organizations.

Systems Administrators often work in tandem with engineering, IT, and help desk teams within an organization. This role focuses on maintaining system viability, performance, security, and uptime through installing and configuring software, hardware, and networks.

If you love working with physical hardware and have an eye towards increasing productivity in a support role for an organization, Systems Administration may be a good career for you. Similarly to help desk employees, systems administrators help to educate non-technical team members, as well as step in when there are harder to solve technical issues.

Network Administrators are responsible for maintaining, upgrading, and enhancing networking technologies in an organization. This role is accountable for the uptime, performance, and security of networks. Often required to keep up-to-date with the latest cybersecurity risks and technologies, Network Administration is a significant initial step towards working in cybersecurity or hardware-centered engineering.

Though often a more mid-level role, for talented individuals with associate’s or bachelor’s degrees in information technology, Network Administration can be a lucrative and secure entry into tech fields.

Computer Science Degree Specializations

Computer Science Degree Specializations

At the graduate level, and particularly in Ph.D. programs, there is a vast range of topics you can focus your degree on. At the associate’s, bachelor’s, and masters levels, however, a core group of computer science specializations is available.

Computer Science

The most common degree specialization among computer science degrees is (surprise!) computer science. This general degree provides an all-around education in theoretical and applied computing.

Common courses in bachelors-level computer science degrees include the following:

  • Computer Science 101
  • Functional Programming
  • Calculus 1 and 2
  • Object-Oriented Programming
  • Programming Languages and Compilers
  • Statistics
  • Big Data Analysis or Statistics with R
  • Data Structures
  • Computer Architecture
  • Networking
  • Databases
  • Algorithms: Design and Analysis
  • Operating Systems
  • Distributed Systems
  • Computer Program Design
  • Computability, Complexity, and Algorithms
  • Machine Learning (Likely an Elective)
  • Artificial Intelligence (Likely an Elective)
  • Software Security (Likely an Elective)

Bachelor’s and masters level degrees in computer science primarily prepare students for roles in software design, software engineering, and hardware engineering. The most common roles obtained with these degrees include web developer and software developer roles.

While undergraduate coursework in computer science provides a great theoretical backdrop for a programming or engineering career, you’ll need to work on applying that knowledge and honing your programming skills to advance.

Computer Engineering

Computer engineering is the integration of electrical engineering and computer science coursework. While computer science focuses on all aspects of computing, computer engineering focuses on building hardware and software.

Electrical engineering encompasses all electrical systems and technology, computer and otherwise. As electrical engineering is the more general field, many students elect to study electrical engineering at the undergraduate level, then specialize in computer engineering at the master’s level. This, however, is not a hard-and-fast rule, with many colleges offering undergraduate degrees in computer engineering as well.

A typical curriculum of computer engineering at the undergraduate level includes the following:

  • Introduction to Computer Science
  • Calculus 1 and 2
  • Math for Electrical Engineering (several courses)
  • Physics for Electrical Engineering (several courses)
  • Introduction to Engineering Design
  • Functional and Object-Oriented Programming
  • Logical Design for Digital Systems
  • Circuits
  • Systems Theory
  • Operating Systems
  • Networking
  • Algorithms and Complexity
  • Computer Systems Architecture
  • Several Electives in Engineering Design or Computing Topics
Software Engineering

Though it may sound similar to computer science and computer engineering degrees, software engineering is an entirely distinct degree type. While computer science focuses on all aspects of computing (theoretical and applied), and computer engineering focuses on software and hardware, software engineering is a highly applied degree focused only on software.

For those looking for the highly in-demand skillset of building a large-scale software solution from idea through completion and testing, software engineering degrees can be a great choice. The focus on both software and current business and management frameworks is particularly valuable for students looking to “hit the ground running” in many computing roles upon graduation.

A common curriculum of a bachelor’s-level software engineering program may be seen below:

  • Calculus 1 and 2
  • Physics
  • Introduction to Computing
  • Introduction to Engineering
  • Math for Computer Science
  • Circuits
  • Statistics
  • Functional and Object-Oriented Programming
  • Algorithms
  • Operating Systems
  • Software Modeling and Design
  • The Software Process
  • Computer Architecture
  • Software Quality Assurance
  • Networking
  • Computer Ethics
  • Management

Common employment opportunities for those graduating with a bachelor’s or master’s in software engineering include systems analyst, quality analyst, software developer, software architect, and project manager.

Information Systems

Information systems is a relatively new degree that looks entirely at business applications of computing and information technology. While loosely grouped with computer science, information systems examines computing “in the wild” and hence focuses on management and business objectives as well.

Information systems degrees help to prepare graduates for roles in computing and technology, though frequently with slightly different job titles than competing degrees. Typical job titles for graduates of bachelor’s or masters-level information systems programs include research analyst, business analyst, quality assurance engineer, and project manager among others.

A common curriculum of a bachelor’s-level information systems degree can be seen below:

  • Management Information Systems
  • Math for Computer Science
  • Statistics
  • Software and Hardware Concepts
  • Database Design
  • Database Application Design
  • Decision Support Systems
  • Structured Systems Analysis and Design
  • Network Design and Management
  • Functional and Object-Oriented Programming
  • Management
  • Accounting 1 and 2
  • Microeconomics
  • Macroeconomics
  • Technical Communication

The central organizing feature of information systems degrees is that they study the intersection between computing and support of key business objectives. This makes for more courses in knowledge management systems, databases, analysis of information, and so forth.

Information Technology

Information technology (IT) is a good foil for information systems degrees in that IT degrees are also applied, but focus on the hardware and networking levels of computing. Information technology degrees are available at the associate’s through doctoral levels and can lead to first jobs including network engineer, systems administrator, network administrator, IT Help Desk Member, Q&A Engineer, among others.

While a great deal of information technology knowledge is often gained on the job, obtaining a degree in information technology can help to cement understanding of your organization’s stack in some theoretical and background knowledge.

IT professionals are in high demand at a variety of levels, from the IT help desk through the C-Suite.

A common curriculum for a bachelor’s-level information technology degree may be seen below:

  • Writing for Science and Engineering
  • Operating Systems
  • Data Analysis
  • Intro to Business
  • Organizational Behavior
  • Systems Analysis and Design
  • Introduction to Programming
  • Engineering Programming and Analysis
  • Data Structures and Algorithms
  • Advanced Applications Development
  • Networking
  • Networking Electives
  • Human-Computer Interaction
  • Database Management Systems
  • SQL and Data Warehousing
  • IT Project Management
  • Information Security Management

Additionally, many information technology programs offer the ability to specialize further. Some common specializations in information technology include networking, cybersecurity, geographic information systems, data analytics, management of information technology, and computer hardware design.

Interdisciplinary Specializations

While there are many interdisciplinary computer science programs at the graduate levels, one of the most common (and in-demand) at all levels of education is information assurance. Also known as cybersecurity, information assurance degrees show mix psychology, criminal justice, business, information technology, and computing knowledge to help prepare future workers in cybersecurity.

Perhaps more than any other field in computing, information assurance faces a shortage of qualified workers. By the end of 2019, an estimated 1 million job openings in cybersecurity will go unfilled.

Cybersecurity isn’t an obscure niche either. Hardly a week goes by without news of a significant data breach or hack. With more and more information stored online and transported via networks, top talent is needed in information assurance, and fast.

At the bachelor’s level, curriculum in an information assurance degree can look like the following:

  • Object-Oriented Programming
  • Calculus 1 and 2
  • Finite Mathematics
  • Statistics
  • Networking
  • Network Security
  • Programming Languages
  • Network Administration
  • Systems Security
  • Project Management
  • Introduction to Management
  • Web Security
  • Cloud Security
  • Data Management
  • Digital Forensics
  • Managing Information Security
  • Emerging Technologies in Cyber Security

A wide range of roles are available to those with bachelor’s and master’s in information assurance. This is particularly the case after 2-3 years of experience. Cyber security related roles that an early-career candidate may be eligible for include: IT Help Desk, Security Analyst, Incident Responder, Security Engineer, Security Administrator, Security Specialist, among others.

Online Computer Science Degree Rankings

Computer Science Degree Levels

Computer Science Degree Levels

While the most common computer science degree is the bachelor’s in computer science, computer science-related degrees are available at the associate’s through doctoral levels. Each comes with their own trade offs or time, money, and what precisely they prepare you for. But as a rule of thumb most computing disciplines have great need for computer science graduates at any level.

Below we’ll work through the most common computer science-related degrees by degree level.

Associate’s in Computer Science Degrees

At the associate’s level, computer science-related disciplines are primarily confined to two tracks: applied tracks in information technology, programming, or systems coursework, or preparatory work for bachelors-level computer science programs.

Almost all associates degrees require 60 credit hours for completion and may be completed in 1.5 years (accelerated) to 2 years (average pace). Associates degrees are available at a wide range of community colleges throughout the nation as well as online universities.

Associates degrees are often labeled some of the most cost-effective degrees, as costs for attending are low (or zero in some states). Return on investment can be even better for high-demand fields including information technology and information systems.

The two most common associates-level degrees related to computer science are the associate of science (A.S.) degree as well as the associate of applied science (A.A.S.) degree. The A.A.S. degree focuses more on applied knowledge of technology and is a very employable degree. The A.S. provides more theoretical and academic background and is commonly followed up with a bachelors-level degree in a computing discipline.

Bachelor’s in Computer Science Degrees

At the bachelor’s-level, all specializations listed in the previous section are available. Common bachelor’s degree programs in computer science-related disciplines include:

  • Computer Science
  • Information Assurance
  • Information Technology
  • Information Systems
  • Software Engineering
  • Computer Engineering

Though sometimes available as bachelor’s of arts (B.A.) degrees, most of the degrees above are bachelor’s of science (B.S.) or bachelor’s of applied science (B.A.S.) degrees. This is particularly the case for undergraduate degree programs that provide a strong basis in general collegiate education and science as well as technology-centered courses.

For degree programs almost exclusively focused on technology coursework, other designations may be used including Bachelor of Information Technology (B.I.T.).

Bachelor’s degrees typically require four years of study to complete. Those able to transfer in coursework from an associate’s degree program may lower time-until-degree to 2 years. And some students require up to 6 years.

Bachelors-level computer science-related degrees are the accepted entry-level degree in many computing disciplines. Software developers, systems administrators, network administrators, IT help desk members, QA engineers, and a full host of other positions commonly require a bachelor’s degree in computing disciplines.

If you think you might be interested in seeking a bachelor’s in computer science or information technology, check out our 2019 rankings of the best online bachelor’s in computer science or the best online bachelor’s in information technology degree programs.

Master’s in Computer Science Degrees

If you’re looking to expand expertise, stand out from the crowd, and enhance earnings, masters’ in computer science-related disciplines are some of the best degrees you can get. Employed in almost every industry, master’s in computer science, information technology, information systems, information assurance, and sub-disciplines are in very high demand.

From a degree-level standpoint, there are two common paths to obtaining a master’s in computer science (or related degree). Stand-alone master’s degrees are the most common and are by-in-large applied in their focus. Master’s may also be obtained as the first portion of a Ph.D. program. These courses of study put much more weight on research and eventually lead to dissertations in technical topics.

Though it depends on the program, master’s in computer science-related disciplines require 45-60 credit hours of study. Some accelerated programs may be completed in as little as a year, with many taking 2-3 years for completion. More than many other disciplines, master’s degrees in computer science are often offered entirely online.

If you think you may be interested in attending a computer science-related degree program entirely online, check out our rankings including the Best Online Master’s in Management Information Systems Degree Programs and the Best Online Master’s in Management Information Systems Degree Programs.

Doctoral Degrees in Computer Science

Doctoral degrees are available in all degree types related to computer science including information technology, information systems, computer science, software engineering, computer engineering, and information assurance.

Most of the disciplines above are offered at the doctoral level in two or more formats: a research doctorate option centered around a dissertation, and a professional doctorate focused on applied learning and projects. For all disciplines listed in the last paragraph, a Doctor of Philosophy (Ph.D.) is the most common research doctorate option. These programs typically take 3-7 years of study and end when you have successfully defended a several hundred page dissertation of original research.

In computer science, the primary professional doctorate option is the Doctor of Computer Science (D.C.S.) degree. While some DCS degrees require dissertations, many are more focused on learning the current state of the field of study and practical applications than on original research.

Both Ph.D.’s and D.C.S. degrees may be taken directly into private or public employment situations, and both are in very high demand. The main difference is that Ph.D.’s prepare recipients for work in more research settings and for teaching at the university level.

Ph.D.’s in computer science are some of the most highly sought research and professional doctorates. This is commensurated with average earnings of over $150,000, with many computer science doctorates earning a great deal more.

If you think you might be interested in an online Ph.D. in computer science, make sure to check out our ranking of the best online PH.D. programs in computer science.

Can I Study Computer Science Online?

Computer science is one of the best university subjects to study entirely online. Not only will most of your homework and projects already take place on the computer, but learning to communicate professionally online and manage time on a computer are essential for those seeking jobs in computing.

Additional perks of studying online include:

  • Self -Paced or accelerated courses.
  • No set class times (if asynchronous).
  • 24/7 tutoring services (for some universities).
  • Flexibility to Work at Home.
  • Online Libraries
  • Online Laboratories and Programming Environments.
  • Agreements with local colleges you can take courses from (for some universities).
  • Lower costs.
  • Support for working students.
  • Regional accreditation (for many colleges).

At OnlineCollegePlan, we specialize in finding the best online programs in many academic disciplines. Check out our rankings of the best online computer science-related programs below:

Online Computer Science Degree Rankings

Online Computer Science and IT Degree Programs