What are your chances of acceptance?

Your chance of acceptance
Duke University
Duke University
Your chancing factors
Unweighted GPA: 3.7
SAT: 720 math
| 800 verbal


Low accuracy (4 of 18 factors)

Should You Major in Computer Science?

Computer science encompasses the study of computers and technological systems. This field deals mainly with software rather than hardware, meaning they deal with the applications, data, and programs on the computer, instead of the physical computer parts. The field is an umbrella term and contains many subdisciplines like algorithms, networks, and graphics. Read on to learn about this rapidly developing academic area. 


Overview of the Computer Science Major


Computer science is among the most popular fields of study for undergraduates; for instance, it’s the most prevalent major at Stanford. For this reason, introductory courses are usually very large, and get slightly smaller as you take them at the upper division level. Of course, this also depends heavily on the total undergraduate population of the major at the school in question. 


Course requirements are usually STEM-heavy, with prerequisites consisting of a lot of math and physics. These classes usually assign weekly problem sets from a textbook with questions based on the lecture topic of the week. At liberal arts schools, computer science majors might take general education courses outside of this realm, such as humanities and social sciences. 


As students take upper division courses, they delve into more specialized topics like Machine Learning, Artificial Intelligence, Operating Systems, and Algorithms. There are also lab courses, in which students mainly work with teacher assistants, and the emphasis is much more on self-learning. 


Most computer science are usually project-based, with weekly programming assignments that relate to lecture content. These are usually time-consuming, so students have to manage their time well to avoid any last minute mishaps with bugs or failed programs. Students also often have to draft a report, which is a brief paper explaining their code and their individual approach to the project.


The work for these courses is usually a mix of individualistic and collaborative. Weekly projects and problem sets are supposed to be completed on the student’s own. Many students often work together on these assignments in order to brainstorm ways to problem-solve or develop creative solutions together. However, unless it’s a group project, every individual submits their own code, which often varies from person to person.  


Assessments for computer science majors are usually free response, and can consist of as little as six questions. These are usually on paper, and students must solve computer science sample problems, writing out lines of code and other relevant information. There are also a lot of debugging questions and analyzing snippets of code. Though there are occasionally multiple choice and true/false questions, exams are usually scenario-based and application-heavy. 


Students who would succeed in this major are those who genuinely enjoy programming. This means following a logical flow of thought, but also having the room to be creative. It also entails a high level of attention to detail, as even one false character can throw off an entire coding project. Students who won’t do as well in this field are those that want more unstructured assignments, like essays, or those that want structured exams, with predominantly multiple-choice questions. 


Most students in this major get into the workforce after their undergraduate career, working as software engineers. However, some computer science majors go onto grad school to get a Master’s degree in Computer Science. They can also go to business school if they want to become a manager or take on another administrative role. 


What Can You Do With A Computer Science Degree?


1. Software Engineering

Median Salary: $62k-127k

Projected Growth: 22%


Software engineering is one of the most popular career paths for computer science. This category is broad, meaning you can be a software engineer and work in any field, from healthcare to game design. This job requires employees to develop computational systems for companies, creating and working out solutions to any software-related issues. If you like coding and problem-solving in a fast-paced work environment, this could be a good career for you. Individuals may not thrive in this role if they do not enjoy thinking creatively or working through the debugging process.


2. Network Architect

Median Salary: $80k-154k

Projected Growth: 5%


Like a regular architect, a network architect must design and build layouts – except instead of creating physical buildings, they are making virtual data communication networks. A large part of the role is assessing a company’s data needs and creating a specialized network that will help their business run optimally. This is a good career for individuals who enjoy building custom solutions to others’ issues. It might not be a good fit for people who don’t enjoy client interaction and planning extensive systems. 


3. Hardware Engineer

Median Salary: $64k-135k

Projected Growth: 2%


Although many computer science curriculums focus on software-related theories and scenarios, many computer science majors choose to go into the hardware field. Hardware involves physical parts, such as circuit boards and routers. These engineers fix existing and engineer new fundamental pieces of products. If you want a hands-on career where you can work directly with computer-related parts, this is a great fit for you. However, if you want a more virtual, coding-intensive role, you should avoid this field.


4. Network Security Engineer

Median Salary: $58k-128k

Projected Growth: 31%


For those interested in combatting viruses and protecting privacy, network security engineering is a great career choice. This job involves testing existing softwares for potential weaknesses and engineering protective measures to keep important data secure. This career path is geared toward those who are interested in cybersecurity and resolving system malfunctions. If high-stakes problem solving isn’t your cup of tea, this may not be the best career for you.


5. Software Development Manager

Median Salary: $87k-161k

Projected Growth: 22%


Software development managers oversee software engineering teams – they need to be able to manage groups of people and facilitate project teams. To do this, you will probably need a graduate degree or experience with business school. This is a fitting role for individuals who like leading teams and delegating tasks to finish projects efficiently. It probably isn’t a good role for those who are not teamwork-oriented.

Discover your chances at hundreds of schools

Our free chancing engine takes into account your history, background, test scores, and extracurricular activities to show you your real chances of admission—and how to improve them.

Best Colleges for Computer Science Majors


1. Stanford University 

Location: Stanford, CA

Acceptance Rate: 4.4%

Undergrad Enrollment: 6,996

Middle 50% SAT/ACT: 1420-1570 SAT, 31-35 ACT


Stanford is one of the most prestigious universities in the world. The beautiful campus is located in northern California, in the cutting-edge Silicon Valley region. The proximity of tech companies like Apple and Google makes it an appealing location for computer science majors.


Stanford’s Computer Science department has routinely been one of the top computer science programs in the world. Its department claims that no prior background in the subject is needed to take the introductory courses. Every student must choose a track for more in-depth study. Stanford’s current tracks are:


  • Artificial Intelligence
  • Biocomputation
  • Computer Engineering
  • Graphics
  • Human-Computer Interaction
  • Information
  • Systems
  • Theory
  • Unspecialized
  • Individually Designed


Learn more about Stanford and what it takes to get accepted.


2. Caltech 

Location: Pasadena, CA

Acceptance Rate: 6.6%

Undergrad Enrollment: 938

Middle 50% SAT/ACT: 1530-1570 SAT, 35-36 ACT


Caltech is known for its strong engineering programs and is recognized worldwide for being a top-tier institution. The school manages the Jet Propulsion Laboratory for NASA, so if you’re interested in aerodynamics and space exploration, you should definitely check out some of their projects.


The Institute’s computer science major has several core courses for students and then offers course selection flexibility as the student advances through the university. The school also has the Summer Undergraduate Research Fellowships (SURF) program, which allows undergraduates to perform research. Like Stanford, Caltech also has “tracks” in which students can delve deeper into subfields of computer science. Some of these include:


  • Networking
  • Distributed systems
  • Robotics
  • Machine learning
  • Graphics
  • Databases


Learn more about Caltech and what it takes to get accepted.


3. MIT 

Location: Cambridge, MA

Acceptance Rate: 6.7%

Undergrad Enrollment: 11,376

Middle 50% SAT/ACT: 1520-1580 SAT, 35-36 ACT


MIT is known for its rigorous courses and emphasis on innovation. The school boasts a wide array of famous alumni, such as Buzz Aldrin and Will Smith. Starting salaries for students in the major average well over $100,000.


MIT’s computer science major is in its Electrical Engineering & Computer Science Department. There are five undergraduate programs offered, and two master of engineering degree pathways for students in the department. Some of the topics MIT students can learn about are mathematical computer theory, control and communication theory, and circuit design. 


Learn more about MIT and what it takes to get accepted.


4. Princeton 

Location: Princeton, NJ

Acceptance Rate: 5.5%

Undergrad Enrollment: 5,422

Middle 50% SAT/ACT: 1450-1600 SAT, 32-36 ACT


Princeton is currently the #1 school in the nation, according to US News & World Report. The school facilitates an interdisciplinary approach that allows students to explore many different topics within the field.


Princeton’s computer science department is the only one at the school that allows students to major in either the A.B. or B.S.E. degree program. The school also emphasizes that every student completes at least one design or research project advised by a faculty member. After graduation, Princeton computer science students join major companies in the computing, consulting, and financial fields. 


Learn more about Princeton and what it takes to get accepted.


5. Harvard 

Location: Cambridge, MA

Acceptance Rate: 4.7%

Undergrad Enrollment: 6,755

Middle 50% SAT/ACT: 1460-1570 SAT, 33-35 ACT


Harvard University is the oldest higher education institution in the United States and one of the most prestigious universities in the world. The school promises an unparalleled and cutting-edge student experience. 


Harvard’s computer science department emphasizes its commitment to diversity and supporting students of all backgrounds. Computer science can choose from many subfields of the major such as theoretical computer science, economics, privacy and security, and computational linguistics. The school has also started interdisciplinary initiatives, like the Center for Research on Computation and Society and the Data Science Initiative.


There are many more schools that are great for computer science majors. See the complete list of best colleges for computer science.


Wondering what your chances of acceptance to your dream school are? Try our free chancing engine today – this can predict your odds of acceptance at over 500 colleges across the U.S. We’ll also let you know how you stack up against other applicants and how you can improve your profile. Sign up for your free CollegeVine account today to get started!

Short Bio
Priya has been working at CollegeVine for two years in various capacities, including mentoring students, editing hundreds of essays, and creating blog content. She has also interned in healthcare consulting. She is extremely grateful for all the help she received as an applicant and wants to pay it forward by demystifying the admissions process for others.