Skip to main content
7 answers
11
Asked 933 views

How to know what Computer Science Major is best for your interests?

I'm in highschool and about to start the college application process, but when I think about what major I want to be in and what school best supports that major it's difficult because many colleges say "computer science" or "computer engineering" and I don't understand the difference. How do I know which major I'm looking for when they sound similar but could mean very different courses. #majors #college #computer-science

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

11

7 answers


3
Updated
Share a link to this answer
Share a link to this answer

Doc’s Answer

Tomi maybe you have always liked to solve problems or decipher codes. Perhaps you have a knack for learning new languages, or maybe you were so intrigued with your computer that you ripped off the cover and started to tinker with the inner workings. If so, either computer science or computer engineering might be an ideal career choice for you.

COMPUTER SCIENCE VS. COMPUTER ENGENEERING

COMPUTER SCIENCE – Computer science majors study how data is processed, stored, and communicated. They learn how to create software that allows computers and machines to run more efficiently, process more data, do more tasks, and otherwise be more useful for either business or commercial users. A computer science major might study algorithms, statistical modeling, programming languages, and app development.

COMPUTER SYSTEMS ANALYST • The average Computer Systems Analyst salary in the United States is $88,500 as of June 28, 2020
Computer systems analysts assess an organization's computer systems and recommend changes to hardware and software to enhance the company's efficiency. Because the job requires regular communication with managers and employees, computer systems analysts need to have strong interpersonal skills. Systems analysts need to be able to convince staff and management to adopt technology solutions that meet organizational needs. Also, systems analysts need the curiosity and thirst for continual learning to track trends in technology and research cutting-edge systems. Systems analysts also need business skills to recognize what's best for the entire organization. Similar job titles are business analysts or business systems analysts.

SOFTWARE DEVELOPER • The average Software Developer salary in the United States is $90,000 as of June 28, 2020
Software developers create software programs that allow users to perform specific tasks on various devices, such as computers or mobile devices. They are responsible for the entire development, testing, and maintenance of software. Software developers must have the technical creativity required to solve problems uniquely. They need to be fluent in the computer languages that are used to write the code for programs. Communication skills are vital for securing the necessary information and insight from end users about how the software is functioning.

COMPUTER ENGINEERING – Computer engineering majors bring computer science and electrical engineering together. While computer engineering students also learn how to create and work with software, the focus of computer engineering programs is hardware – designing and building new chips and machines and wedding those new systems with functional software. Like computer scientists, computer engineers can design for either business users or commercial users. A computer engineer might design a new microprocessor or a new supercomputer, and a computer scientist would design the operating systems for both.

COMPUTER HARDWARE ENGINEER • The average Computer Hardware Engineer salary in the United States is $86,500 as of June 28, 2020
Computer hardware engineers are responsible for designing, developing, and testing computer components, such as circuit boards, routers, and memory devices. Computer hardware engineers need a combination of creativity and technical expertise. They must be avid learners who stay on top of emerging trends in the field to create hardware that can accommodate the latest programs and applications. Computer hardware engineers must have the perseverance to perform comprehensive tests of systems, again and again, to ensure the hardware is functioning as it should.

COMPUTER NETWORK ARCHITECT • The average Computer Network Architects salary in the United States is $112,000 as of June 28, 2020
Computer network architects design, implement, and maintain networking and data communication systems, including local area networks, wide area networks, extranets, and intranets. They assess the needs of organizations for data sharing and communications. Computer network architects also evaluate the products and services available in the marketplace. Computer network architects test systems before they are implemented and resolve problems as they occur after the setup is in place. Computer network architects need to have the analytical skills to evaluate computer networks.

Tomi as far as what it takes to be a successful student in these disciplines, both require that you have good math skills. Computer science programs put a bigger emphasis on science skills than computer engineering programs do. Successful computer engineering students will have an interest in both the hardware and software aspects of computers, whereas computer science students need to have more of an interest in just the software aspect.

Hope this was Helpful Tomi
Thank you comment icon Thank you for clarifying the difference between the fields, I'm interested in both software and hardware of computers. I'm going to take your descriptions into account as I choose what schools to apply to and so on. Thank you! Tomi
Thank you comment icon Most computer software development jobs require bachelor's degrees in computer science or software engineering. These programs have significant math requirements that include a sequence in calculus, differential equations, and linear algebra. The software development tracks of these programs teach students how to construct, analyze, and maintain software through lectures and laboratory sessions. Programs include topics in computer programming, operating systems, and networks. In many programs, the capstone requirement is a senior design project that allows students to apply the principles they've learned to an original concept. Doc Frick
Thank you comment icon A 4-year degree in Computer Hardware Engineering, electrical engineering or a related field is required for most jobs in computer hardware engineering; however, a master's degree may be necessary for some specialties, supervisory or high-ranking positions with cutting-edge companies. Coursework for the student computer hardware engineer cover such topics as engineering electronics, electric circuits, computer design and statistics for engineers. Those with successful careers in computer hardware engineering are usually creative, analytically-minded and detail-oriented people who enjoy being part of a team. Doc Frick
Thank you comment icon Thank You Morgan. “Our generation has the ability and the responsibility to make our ever-more connected world a more hopeful, stable and peaceful place.” — Natalie Portman Doc Frick
Thank you comment icon Thank You Michael. “At the end of the day it’s not about what you have or even what you’ve accomplished… it’s about who you’ve lifted up, who you’ve made better. It’s about what you’ve given back.” – Denzel Washington Doc Frick
3
2
Updated
Share a link to this answer
Share a link to this answer

Jeff’s Answer

Hi Tomi,

Great question! And you already have a lot of great answers on the specifics. I want to add a few points.

First, in the immortal words of Douglas Adams "Don't panic!" The first two years are primarily focused on introductory classes. This is where you get a very broad exposure so you can begin to figure out what you really enjoy and are good at. Many students start their academic careers with one major and end with another. If you ask my mother, she would tell you that I changed my major 20 times! I am positive it was only once. The point is that you do not have to lock down a degree focus in the beginning. And, you can change over time.

Once you get a feel for the different disciplines, you can begin to take focused upper level classes. But even then, you have to keep in mind that every area of computers is constantly evolving and changing. When I graduated, back in the stone age, I had programmed in 20 different languages but I was hired to work in a different language. From there, I went into hardware and then firmware development (BIOS). And then I went into academia.

As the industry evolves, the most important skill is adaptability. You will have the option to change your career as time and the industry progresses.

My advice: Don't worry about the exact focus of your college career at his point. Learn how to learn and adapt and see what really interests you. You should be able to take classes in any of the computer related disciplines. And, enjoy the journey!
Thank you comment icon This actually helps make my college pick a bit more lax. I've been focusing too much on the school's computer course in the first year, thank you! Tomi
2
1
Updated
Share a link to this answer
Share a link to this answer

Anna’s Answer

Tomi,

John's answer above that clarifies the difference between computer science (the software side of things) and computer engineering (the hardware side of things). I see you are asking " How do I know which major I'm looking for when they sound similar but could mean very different courses." I'll try to help with that.

You are right that sometimes behind the same name, there might be very different majors. For example, at some universities 'computer science' is an umbrella major and within it students can choose tracks to specialize in - software engineering, information technology, programming, data science and analytics, computing security, etc. At other universities, these 'subdivisions' will have their own major - i.e. there will be a separate computer science major, and also software engineering, information technology, cybersecurity, etc. There are many other majors that are computing-related - mechatronics, computer game development, etc.

The best place to see exactly what is in a major is the university catalog. It will typically list the requirements for the major, and also will have course descriptions for each course that is included in the major. You can usually find this using any search engine with search terms "university name undergraduate catalog".

Hope this pointer helps you find the info you need.
Thank you comment icon Thank you, I'll definitely be checking on the catalogs of schools I had in my mind and get to learn a little more. Tomi
1
1
Updated
Share a link to this answer
Share a link to this answer

Sachin’s Answer

If you are considering a computational degree program you have probably come across the terms computer science and computer engineering. Though these terms have substantial overlap, understanding the differences between computer science masters degree programs and computer engineering programs is essential to picking a program that will be a good fit for you.

Computer science focuses on the theory of computation. This includes writing code that integrates data, data structures, algorithms, statistical models and more in the most efficient way possible. This field also focuses on how to create algorithms that efficiently achieve complex tasks, whether that task is emulating a human brain or determining the best route for your Uber pool. Some of the most popular careers for computer scientists are software engineering, UI/UX design, web design, data science, and machine learning.

Computer engineering focuses on how to build devices. It is a field that combines physics, electrical engineering and computer science. The focus of computer engineering is on hardware, rather than software. Closely related to physics and engineering, students who want to understand how things work and apply that knowledge to build something new could thrive in a computer engineering program.
The work of a computer engineer works in the physical world and involves understanding how we can harness the laws of physics and electronics to create better computer components. They are more likely to spend more time at a lab bench than writing code. Your computer engineering degrees will most likely cover a wide array of topics including computer architecture, computer networks and physics.

Computer engineers still need solid programming skills. A degree in computer engineering will cover programming topics such as software design. There are many different career options for computer engineers, such as: aerospace, life sciences, mobile devices and robotics.

Computer Science Courses
• Design and Analysis of Algorithms
• This course teaches students how to analyze the efficiency of algorithms using concepts from the theory of computation such as big O notation. Through this course students learn to write code that is optimized for its use case and analyze the efficiency of code.
• Introduction to Operating Systems
• This course covers the way operating systems manage and execute code in order make software run. This course will cover topics including process and thread management, concurrent programming, resources management and distributed services.
• Software Engineering
• This course teaches students to apply the theory of computation to practical problems by creating software solutions. This includes topics such as effective design and testing, engineering compromises and team based development.
• Data Analysis
• This course provides students with the tools and skills to apply statistical methods to large datasets using computational methods. This includes topics such as data creation, storage, access, processing and presentation.

Many CS departments at U.S. universities were offshoots from math departments , and the emphasis on providing a rigorous mathematical foundation for the computing disciplines is still evident in many CS curricula.

Computer engineering programs were largely developed in engineering departments strong in electrical engineering. Computer Engineering focuses on the practical aspects of development and use of computers.


Computer Engineering Courses
• Mechanics
• This course covers the fundamentals of physics. It explores the laws governing movement, energy and waves.
• Electricity and Magnetism
• This introductory physics course covers electromagnetic phenomena and how they influence the world. Students will learn how to predict, describe and understand these phenomena.
• Calculus III
• This course covers multivariate calculus and vector fields. These techniques help describe and predict many natural and physical phenomena.
• General Physics
• This course will cover the basics of physical phenomena including particles, work, gravitation and motion.
• Electric Circuits
• This course covers the basic concepts in the design of electronic systems. Students will learn to apply their knowledge to build functional circuits and to understand computer architecture and integrated circuits.
• Waves, Optics, Thermodynamics
• This course applies calculus to understand the mechanics and outcomes of waves and related phenomena. Students will learn to calculate the energy of waves, apply the laws of thermodynamics and understand physics experiments.
• Digital Logic, Machine Design
• This course covers how electrical circuits can be used to perform logic operations. Students will learn to design and build the type of circuits used in computing systems.

I would also request you to go through the courses offered for both these disciplines in the universities of your choices and see if it suits your interests or strengths before you take a decision.

Thank you comment icon This helped me a lot thank you! May I use your information in some social media posts for Career Village? Tomi
1
1
Updated
Share a link to this answer
Share a link to this answer

Kaan’s Answer

I think I can bring a practical view to this question. I went to a "Computer Science" department for my BS, then "Computer Engineering" for my MS in another university. Then I got my doctoral degree from a "Computer and Information, Science and Engineering" department in another university. What I studied was all the same. Confusing? No, it is not and here's why.

The name change between Science and Engineering was because in the first university, the department I went to was under Faculty of Liberal Arts and Sciences, hence the name Computer Science. The second department was under Faculty of Engineering and so the name Computer Engineering. As you see from the third department I went to, they included everything related to what they offer.

So, don't make decisions based on names. Just look at the courses they offer, you can find it on the department web site easily. Computer Science, Information, Engineering, whatever you name it offers these courses: Data Structures and Algorithms, Various programming language courses, Discreet Math or Structures, Software Engineering, Database systems, Computer Organization and/or Design, Operating Systems, Computer Networks. These are the core courses of a department which offers software aspects of Computer Engineering or just Computer Science.

On the other hand, if you see courses like, Circuits, Signals and Systems, Digital Logic, Microprocessors then you are looking at a department which offers hardware side of computer engineering, also sometime is called Electronics Engineering.

There are also departments which are called Computer Engineering and offers courses from both software side and hardware side above.

I need to also mention that there is no such thing that computer science departments make scientist and computer engineering departments make engineers. Any discipline has scientists, and to be one the requirement is to have a PhD or doctoral degree. So, you may graduate from an engineering discipline and then go for your Masters and Doctoral degrees and become a scientist.

My advice is to check the program and look for the courses they offer. Do not miss an opportunity like there is a college you wanted to go but they did not offer the program you wanted, or you are not accepted into. You can always take courses from other departments. You can get a minor degree if it is offered or you can sign up for specialization classes like Information Security or you can continue with a Masters on whatever most interests you after graduation. Possibilities are endless.
Thank you comment icon Thank you, I will look more into what the college's offer despite the name. Tomi
1
0
Updated
Share a link to this answer
Share a link to this answer

Jeff’s Answer

Hi Tomi,

I'm a student studying Information Systems at Carnegie Mellon University and I wanted to share this at least from the perspective of my university.

Computer Science - this is our flagship tech program. You learn about the basics of CS on topics like algorithms and data structure first, and you'll have the chance to take more specialized classes in topics like AI, operating system, machine learning, computer graphics, cybersecurity etc etc.

Information Systems - this program has a lot of flexibility but students generally end up in software engineering, tech consulting, or UI/UX and there are 3 tracks in the major that reflect this. I'm doing the software engineering track and I can basically take any classes from the other tech majors that interests me. The core classes in the major also teach you employable skills like database management and application development. You might wonder how this is different from CS - IS focuses more on the practical application of computer science while CS studies the theory and technology that make computer science work.

Electrical and Computer Engineering - in this major, you have the option to focus on either software or hardware. Generally software track students end up in similar career fields as CS students but they also get to take some classes in circuits and hardware. Hardware track students focus more on the low level of how computers work

Stats and Machine Learning - this is a joint major with the stats program and you learn about data science. however, a lot of roles (even entry level) in data science requires a graduate degree so you should consider that if you're interested in this line of work.

Human-computer Interaction - this is only available as a second major and it's kinda like a combination of software engineering and design. You learn about how to design products and services to provide a good user experience and students generally end up in product design or UI/UX

We also have some smaller programs like computational finance, computational biology, cognitive science, robotic etc. And we recently introduced a major in artificial intelligence under the school of computer science.

Anyways, I know this is a more narrow perspective than some of the other answers on this page but I hope this helps!

Best,
Jeff
0
0
Updated
Share a link to this answer
Share a link to this answer

Caren’s Answer

If you're choosing between the two, and are good at calculus and physics, and the first-year required classes for the two majors are different at the schools you're looking at, focus on keeping your options open and choose Computer Engineering. If the first-year required courses at the schools are the same (as some very engineering-heavy schools arrange it), it probably doesn't matter as much which you choose. As others have noted, you will get software development courses in Computer Engineering, so you generally can always switch to Computer Science without needing to spend an extra year in college if you decide you prefer Computer Science to Computer Engineering, or you could double major. If you choose Computer Science first, that's not an engineering major, and you will likely need to make up for classes you did not take to switch into Computer Engineering. Many engineers (of various disciplines -- EE, Comp E, Mech E, IE, etc.) switch to computer science. Not as many computer science majors go in the other direction.
Thank you comment icon I'm not skilled in either calculus or physics, but I'm open to starting in engineering. But I'm skeptical of having to switch later down the line, mostly because many schools have different rules and conditions when it comes to switching classes and majors. Thank you for the advice! Tomi
0