This post will show you the differences between computer engineering and computer science and help you to decide which would be a better major for you.

At a glance:

Civil engineeringComputer science
Payscale reported
average pay
$70,508$85,235
Job prospectsGoodGood
Types of jobs
you can qualify for
Civil engineer
Project engineer
Structural engineer
Transportation engineer
Geotechnical engineer
Water resources engineer
Construction engineer
Software engineer
Software developer
Web developer
App developer
Data scientist
Data analyst
Difficulty of the
major
HighModerate/High
Key things to noteA relatively secure field
once you are able to land a
job.

Employable with just a bachelor’s
degree.

High-stress work environment
in the early years.

High job satisfaction and fulfillment.

Low predicted job growth
over the next decade.

The work environment can
be more physically active than most
jobs since you’ll need to go to the construction
locations occasionally. However,
there is also a lot of meetings and
design work using computer software.
A very employable
degree with just a
bachelor’s degree. A
master’s degree can
help in obtaining more
senior positions.

The jobs typically pay
very well, have reasonable
hours and high satisfaction.

A good major if you are
interested in remote work.

Can give you access to
data science and
machine learning roles
if you choose the right
classes.
Source for civil engineering degree salary and jobs
Source for computer science salary and jobs

There are a number of things to consider when choosing between the two degrees. It would also help to consider if there are better alternative majors as well.

Details about a degree in civil engineering

Below are some details about the civil engineering major.

Pay

According to Payscale, the average pay for a person with a degree in civil engineering is $70,508. This is higher than the average pay for most majors. However, it is a lot lower than alternative engineering majors such as computer engineering ($87,000) and electrical engineering ($92,000). It is also a lot lower than the average reported pay for computer science ($85,000) which is one of the best performing majors right now in terms of pay and job opportunities

Jobs

On one hand, civil engineering could be seen as a safe major because there will always be buildings, dams, highways, stadiums, etc that need to be built. As a result, once you are able to get a job in civil engineering, it is typically seen as a relatively secure job to have.

However, it can be tricky to find a job at the entry-level and the price of the job security is that the pay is slightly lower than alternative majors such as computer engineering, electrical engineering, and computer science. Also, because you will be building structures that many people will be using and that cost millions of dollars, it can be a very stressful job, especially in the early years. Although, it is also typically a very interesting field to work in, and completing a project successfully can be very fulfilling.

Jobs that you can get with a civil engineering degree include:

  • Civil engineer
  • Project engineer
  • Structural engineer
  • Transportation engineer
  • Geotechnical engineer
  • Water resources engineer
  • Construction engineer

Civil engineering has a number of sub-fields and you will need to specialize in one of them before getting a job.

The subfields include:

Construction engineering. This involves managing the project as it is underway and building the temporary structures that are used while constructing the actual structure.

Geotechnical engineering. This involves ensuring that the foundations of the structure are well built.

Structural engineering. This involves designing the structure and ensuring that it will be able to support itself.

Transportation engineering. This involves building and maintaining streets, highways, airports, docks, and harbors.

Water resource engineering. This involves managing water resources by designing new equipment and facilities.

Difficulty

Civil engineering is a difficult degree that will involve a lot of mathematics including calculus, linear algebra, and differential equations. It will also involve some physics and the engineering classes themselves can be difficult. There will also be a lot of lab classes that will involve a lot of projects. When compared with computer science, you can expect civil engineering to be more difficult.

Classes

Classes that you can expect to take in a civil engineering degree can include:

Calculus
Linear algebra
Differential equations
Physics
Mechanics
Introduction to programming
Introduction to civil engineering
Civil engineering materials
Fluid mechanics
Mechanics of structures
Statics
Structural engineering
Water resources engineering
Geotechnical engineering
Transportation engineering
Construction engineering

You can also expect to take more specialized classes related to the specialization that you choose.

Things to consider

Before choosing civil engineering and the university that you want to go to, it would help to research the type of civil engineering you are most interested in. This is so that you know what to specialize in and so that you know what university to choose because some universities will only offer certain specializations.

Details about a computer science major

Below are some details about a major in computer science.

Current pay

According to Payscale, the average salary of a person with a bachelor’s degree in computer science is $85,235. This makes computer science one of the best paying degrees available right now. With that being said, some of these salaries may be slightly inflated since a lot of computer science jobs are in very high cost of living areas such as San Francisco.

Many of the alternative degrees to computer science, such as statistics or applied math, will also have high average salaries. However, not only is computer science one of the best-paying degrees, but it also puts you in a good position with just a bachelor’s degree. On the other hand, many of the alternatives require a master’s degree to be competitive when seeking a job.

Also, many people that get alternative degrees to CS actually end up finding themselves in CS type roles. For example, it is not uncommon for applied mathematics or statistics majors to find themselves working in programming roles after graduating. This is why computer science can also be a very good minor.

Types of jobs the degree will qualify you for

There are many different types of jobs that a computer science degree will open you up to. These can include:

  • Software engineer
  • Database administrator
  • Data scientist
  • Machine learning engineer
  • App developer
  • Web developer
  • Computer systems administrator

Most CS majors will end up taking jobs as a software engineer which is one of the highest-rated jobs available. When interviewing for these roles, you will be tested mainly on algorithms and data structures that you’ll learn about during your time in the major. Make sure to be very comfortable with algorithms and data structures when interviewing.

Data science is another career that is becoming popular among CS majors. If you want to get a job in data science, it would help to take classes in data analysis and machine learning, to learn Python programming, and to complete data science projects. A CS degree combined with classes relevant to data science should put you in a good position to get data science and software engineering jobs.

It would also help to try to get internships during the summer since that will also help you a lot in getting into big tech companies that have very high salaries.

How difficult it is as a major

Computer science can have some difficult classes. Most CS degrees will require you to take calculus 1,2, and 3; linear algebra; and discrete mathematics as well as a number of computer science classes that can be difficult.

Types of classes you will study

Some classes that you can expect to take include:

Programming
Data structures
Algorithms
Assembly language
Databases
Computer architecture
Computer networks

You can also expect to take some mathematics classes including:

Linear algebra
Discrete math
Calculus

If your university does not require that you take those math classes, I would strongly recommend that you take them as electives. This is because they are key classes for machine learning and, if you want to go to grad school, they will be important classes to have on your transcript.

Some classes that you might have the choice of taking could also include

Machine learning
Artificial intelligence
Computer graphics
Computer networks

Important things to be aware of when taking the degree

Before you start taking the degree, it would be very important to consider what you think you would like to do with the degree. By doing so you will be able to optimize your classes to be suited towards what you want to do after graduation.

If your goal is to get into data science or machine learning type roles, it would be important to make sure to take machine learning classes, to do machine learning projects, to take classes in data analysis and to take some statistics classes. It would also be important to make sure to take calculus and linear algebra as a freshman or sophomore if they are not required in your major.

Whereas, if your goal is to get a job as a software engineer, it would be more important to take classes that focus on algorithms and systems architecture type classes.

If you think that you want to go to grad school, it would be important to take up research opportunities and to take classes related to what you think you would like to research as a grad student. It would also be important to look at what classes graduate schools want to see when accepting CS master’s applicants.

More details about the computer science major

I have written more about the computer science major here and I have written more about how hard you can expect the major to be here.

Conclusion

Civil engineering is a degree that will give you a pathway towards a fulfilling career path. If you prefer to be in slightly more active roles, you can deal with high-pressure environments and you enjoy applied mathematics, civil engineering could be a suitable degree for you.

With that being said, civil engineering does have low predicted job growth over the next decade and the pay is low compared with computer science on average. Computer science also has very high predicted job growth, there are many different types of jobs that you can qualify for and there are a lot of jobs available.

Overall, they are both degrees that come with good job prospects. When making your decision, it would help to consider what type of work you think you would enjoy the most. It would also be worthwhile to consider alternatives such as computer engineering.

Author

I created and currently manage College Corner. I received a Bachelor's degree in Mathematics from the University of Nevada Las Vegas. My goal is to help current students do better in college and to help future students plan for college. You can read more about me and my website here.