Computer Science

There Are Master’s in Computer Science Programs for Non-CS Majors, but Getting in Is Tough

There Are Master’s in Computer Science Programs for Non-CS Majors, but Getting in Is Tough
"The ONE THING that people need to remember when starting to learn CS is: don't give up, even when you feel like you don't understand or you don't belong." Image from Unsplash
Christa Terry profile
Christa Terry August 11, 2020

You need to major in comp sci to earn a master's in computer science, right? Wrong. There are lots of programs that welcome non-CS majors. They set the bar pretty high, though, so getting in can be a challenge.

Computer Science Programs You Should Consider

Advertisement
Article continues here

Many people go back to school to pursue graduate-level computer science degrees because they want to stand out from the crowd when applying for jobs. Some students in Master of Science in Computer Science (MSCS) programs are there not to advance careers, but to launch them.

Fortunately, there are great Master of Computer Science programs for non-CS majors out there. If you’ve been thinking seriously about going all-in on comp sci, don’t let your non-techy background deter you. Do your research with your eyes wide open, however. Enrolling in a master’s in computer science program when you don’t have a strong CS background can mean having to admit exactly how much you don’t know.

“You’re going to be pitted against people who already know light-years of computer science stuff beyond your knowledge,” wrote one Quora commenter in a thread about what it’s like to enter a CS program without a programming background. “People whip out their CS vocabulary of closures, variable scope, block scope, streams, memorize (I swear the first time I saw this I thought it was a spelling mistake), reserved words… so on and so forth. But the ONE THING that people need to remember when starting to learn CS is: don’t give up, even when you feel like you don’t understand or you don’t belong. Everyone was there once.”

That’s precisely why so many computer science master’s programs are willing to at least consider applicants who haven’t studied computer science or worked in the tech industry. In this article about master’s in computer science programs for non-CS majors, we answer the following questions:

  • Don’t you need a bachelor’s degree in computer science to apply for MSCS programs?
  • What are the other prerequisites for master’s in computer science programs?
  • Are MSCS programs that allow students from other backgrounds less rigorous?
  • Do non-CS majors have to take a lot of extra courses to catch up?
  • What are the best comp sci schools that allow non-CS majors?
  • How can I prepare to excel in a computer science master’s program?
  • Will I struggle to find a job after graduate school because of my non-CS background?

Don’t you need a bachelor’s degree in computer science to apply for MSCS programs?

It may come as a surprise, but quite a few colleges and universities don’t require MSCS applicants to have a bachelor’s degree in computer science.

However, that doesn’t mean that incoming students enroll in programs with no computer science knowledge whatsoever. Some schools expect applicants to demonstrate strong quantitative and analytical skills and to have majored in a discipline like engineering, math, or physics.

You won’t need a bachelor’s degree in computer science to apply to some schools. Still, you’ll need to show that you have the skills and knowledge you’d get in an undergraduate CS program. Tufts University’s application guidelines for its on-campus and online Master of Science in Computer Science programs, for instance, don’t explicitly state that applicants must have CS degrees—but do require that students “demonstrate core competence as expected from a high quality undergraduate program in computer science” in the areas of:

Computer architecture and assembly language

Students should have a basic foundation of basic coding languages—even low-level assembly and machine code—as well as knowledge of the organization and function of computer systems.

Data structures and analysis of algorithms

Leverage the power of data and problem-solving algorithms for common computing functions. Universities look for students ready to address computer challenges with a shared language.

Programming languages

These specifically include functional programming and object-oriented programming with inheritance.

Theory of computation

These large-scale theoretical topics help students understand what can and cannot be computed, as well as theories behind areas like algorithms, design, and memory.

Finding a school that offers a true master’s in computer science for non-CS majors involves more than just performing a simple internet search. Many top computer science colleges and universities technically offer a master’s in computer science for non-CS majors. However, when you dig deeper, you’ll discover these schools are looking for students with technical backgrounds that overlap with computer science (like electronics or information technology) or who have years of professional experience in computer science.

That doesn’t mean students without tech backgrounds or work experience are necessarily shut out of most strong MSCS programs. If they’re willing to put in the work to learn programming and undergraduate-level comp sci concepts, they have a shot. Some schools, including Tufts, even offer bridge programs (Tufts has a 10-course post-baccalaureate in computer science that prepares students for the coursework in its graduate CS program).

Advertisement

“I’M READY FOR A DEGREE!”

University and Program Name Learn More

What are the other prerequisites for master’s in computer science programs?

Most master’s in computer science programs for non-CS majors require applicants to submit GRE scores, though there are some on-campus and online master’s in computer science programs with no GRE requirements. If the GRE is optional, it’s good to submit scores anyway if you’re applying to an MSCS program without a comp sci background. Outstanding quantitative reasoning scores will be a mark in your favor when your application is reviewed.

Many CS master’s degree programs have a list of prerequisite courses that applicants must pass before they’re eligible for acceptance. You can usually find this list in the computer science department’s list of application requirements or in the program FAQ. Be aware that you don’t necessarily need to take those specific courses. It can’t hurt to complete them at the school you’re hoping to attend, but you can usually meet this requirement by taking comparable classes at another college or university. Many may be offered at your local community college, likely your most affordable option.

Some MSCS programs require applicants to prove that they can code at an intermediate level in standard languages like Python, JavaScript, and Java. That proof might be transcripts from undergraduate courses or programs or apps that you’ve developed in a professional capacity (or independently). You might not need professional experience in software development or information systems management, but it can’t hurt. And if you don’t have a tech background, be prepared to write a compelling personal statement explaining why you want to pursue computer science at the master’s degree level even though your undergraduate degree is in an unrelated discipline.

Are MSCS programs that allow students from other backgrounds less rigorous?

Not at all, which should come as no surprise given that most programs still want to see evidence that incoming students will be able to handle the work. That said, landing a spot in a top computer science school will be a good deal harder without a bachelor’s degree in computer science. Computer science programs don’t necessarily rule out non-CS majors by default, but they are looking for applicants with proven mathematics, sciences, or engineering knowledge and skills.

Consider Georgia Institute of Technology with its preferred qualifications that include “an undergraduate degree in computer science or related field (typically mathematics, computer engineering or electrical engineering).” Not meeting that requirement won’t lead to automatic rejection, but your application better include some compelling evidence that you belong in their elite program.

Non-CS Major Programs vs Traditional CS Programs

Non-CS Major ProgramsTraditional CS Programs
Curriculum structureThese programs often include foundational courses that cover basic computer science principles, designed for students without a formal background in CS.Generally, these programs assume a strong foundation in CS and therefore focus more on advanced topics and specialized areas within the field.
Admissions requirementsThey may require proof of proficiency in programming and a demonstration of analytical skills, but do not necessarily require an undergraduate degree in CS.Typically expect an undergraduate degree in CS or a closely related field, with a strong emphasis on prior knowledge in programming, algorithms, and data structures.
Career opportunities and growthGraduates from these programs can access a wide range of CS career opportunities in various industries. They often bring unique perspectives and diverse skills to the table, which can be highly valued in the tech industry.Graduates are typically prepared for more specialized roles in computer science, having had a more in-depth and technically-focused education in the field.
Flexibility and accessibilityThese programs may provide part-time study, online courses, or bridge programs, catering to those who do not have a formal education in computer science. They are designed to help students transition into the field of computer science by providing foundational knowledge and the necessary skills for a career in the tech industry.These programs are typically structured for full-time study and might offer less flexibility in terms of course offerings and program structure for students from different educational backgrounds. They are more suited for students who already have a strong foundation in computer science and are looking to delve deeper into specialized areas of the field.
This table, created by Noodle Staff, describes the differences between master’s computer science programs with non-CS majors versus traditional CS programs with CS majors. (Updated: 2023)

Non-CS Major Programs vs Traditional CS Programs

Non-CS Major Programs

These programs often include foundational courses that cover basic computer science principles, designed for students without a formal background in CS.

Traditional CS Programs

Generally, these programs assume a strong foundation in CS and therefore focus more on advanced topics and specialized areas within the field.

Non-CS Major Programs

They may require proof of proficiency in programming and a demonstration of analytical skills, but do not necessarily require an undergraduate degree in CS.

Traditional CS Programs

Typically expect an undergraduate degree in CS or a closely related field, with a strong emphasis on prior knowledge in programming, algorithms, and data structures.

Non-CS Major Programs

Graduates from these programs can access a wide range of CS career opportunities in various industries. They often bring unique perspectives and diverse skills to the table, which can be highly valued in the tech industry.

Traditional CS Programs

Graduates are typically prepared for more specialized roles in computer science, having had a more in-depth and technically-focused education in the field.

Non-CS Major Programs

These programs may provide part-time study, online courses, or bridge programs, catering to those who do not have a formal education in computer science. They are designed to help students transition into the field of computer science by providing foundational knowledge and the necessary skills for a career in the tech industry.

Traditional CS Programs

These programs are typically structured for full-time study and might offer less flexibility in terms of course offerings and program structure for students from different educational backgrounds. They are more suited for students who already have a strong foundation in computer science and are looking to delve deeper into specialized areas of the field.

This information, created by Noodle Staff, describes the differences between master’s computer science programs with non-CS majors versus traditional CS programs with CS majors. (Updated: 2023)

Do non-CS majors have to take a lot of extra courses to catch up?

Sometimes yes, sometimes no. There are master’s in computer science programs that are really geared toward non-CS majors and include core classes in computer science fundamentals in the curriculum. University of Pennsylvania offers an online Master of Computer and Information Technology degree that it bills as the “only online Ivy League master’s degree in Computer Science designed for students without a Computer Science background.”

Other schools, like Tufts, have created mini post-bacc programs designed to get students up-to-speed, either before they apply or after they’re accepted. Boston University’s general MSCS program, for instance, accepts students without CS degrees, provided they have extremely strong grades and are willing to complete a five-course sequence designed for incoming students with non-technical backgrounds. New York University has something similar in the form of a two-course program that fulfills the minimum prerequisites for the school’s master’s degree program in computer science.

It’s possible to replicate these prerequisite sequences through extension programs at other schools or by taking (less expensive) community college courses. However, if you’re genuinely committed to enrolling in a CS program at a specific school (whether Tufts, NYU, Boston University, or another institution), you can increase your chances of acceptance by completing that school’s prereq program. Doing so enables you to cultivate champions among the school’s faculty, which can only help come admissions time.

What are the best comp sci schools that allow non-CS majors?

There are very few computer science master’s degree programs that explicitly state that they won’t consider applicants from non-CS backgrounds. That means you probably don’t need a bachelor’s degree in computer science to apply to:

Brown University

The FAQ section clarifies that the school will consider those with a strong CS background—with both introductory and advanced CS courses on their transcripts—but that a standard educational path is not necessary.

Columbia University

Columbia encourages applicants with either a computer science undergraduate degree or one in a related field. If it is the latter, students either should complete the required coursework or explain why their experience makes up for the classes.

Georgia Tech

While a computer science bachelor’s is not directly noted in the list of admissions requirements, Georgia Tech does recommend a strong CS background with programming language knowledge or professional experience.

Johns Hopkins University

According to the FAQ section, students are required to complete, “program of study equivalent to that required by the BS in computer science.” While the degree name may be something other than CS, students must have completed comparable coursework.

North Carolina State University at Raleigh (NCSU)

NCSU dedicates a page for admissions requirements of non-CS majors. The program does welcome these students, but only when they’ve completed a list of relevant math, programming, and data courses.

New York University

NYU does not explicitly require an undergrad degree in CS, but its list of entry requirements is extensive. Students must have at least one year of demanding professional experience, strong GRE scores, excellent grades in their transcripts, and excellent supporting application documents.

Stanford University

The Stanford CS master’s program is highly competitive, but the FAQ section specifies that you do not need an undergraduate CS degree to apply. It only specifies that you need “strong quantitative and analytical skills.”

Stevens Institute of Technology

Steven’s encourages students with either an undergrad degree in CS or a closely related field to apply. You will also need a minimum of a 3.0 on your transcripts.

Southern Methodist University

Computer science, computer engineering, or those with a similarly related bachelors are considered for Southern Methodist’s master’s program. Non-CS students may need to complete additional coursework.

University of Texas at Austin

Applicants with degrees outside of computer science are considered on a “case-by-case basis” according to the website. Relevant coursework professional experience must back up a lack of the specific degree.

Tufts University

Tufts advertises a holistic approach to admission for their online MS in Computer Science program, though a strong programming background is recommended.

University of Chicago

While there is minimal information about degree requirements, incoming students are required to complete—or have completed—coursework in math and programming.

Keep in mind that just because these schools are willing to consider applications from students who did not major in comp sci doesn’t mean that the bulk of students in the MSCS programs in those schools weren’t computer science majors. It merely means that you won’t be rejected automatically for not having a bachelor’s degree in computer science.

How can I prepare to excel in a computer science master’s program?

On the one hand, you might not have to do anything in particular to prepare to excel in an MSCS program if you enroll in one like that offered by the University of Pennsylvania. On the other hand, even the bridge programs and preparatory course sequences offered by some colleges and universities can’t teach all the foundational skills and competencies master’s-level comp sci students need to succeed. If you’re serious about getting accepted into an MSCS program at a top school, you should brush up on particular subjects.

NCSU accepts graduates from various fields, including “business, other branches of engineering and science, the liberal arts, etc.,” and states in its program description that the program’s purpose “is not to keep people out of computing or discourage pursuit of a graduate degree. It is just the opposite!” It does, however, require that students take undergraduate courses in:

Algorithm analysis or automation theory

This course delves into the fundamental role of algorithms in computer science, particularly in artificial intelligence and machine learning. It covers the basic principles and applications of algorithms, offering insights into their significance in modern computing.

Calculus

Essential for computer science, calculus provides tools for understanding data changes. It’s crucial for grasping many computer science concepts, and programs usually require two to three semesters of related math classes.

Computer organization

This course focuses on the interaction between computer hardware and software within traditional computer architecture. It provides an understanding of how various computer components work together.

Discrete math

Covers topics like graph theory, separable numbers, distinct numbers, number sets, and the nature of proof. It’s fundamental in developing logical thinking and problem-solving skills necessary in computer science.

Linear algebra

Teaches advanced topics like vector spaces and matrices, relevant to algorithms used in computer science and especially artificial intelligence. It’s a critical course for understanding complex computational theories and applications.

Object-oriented programming like Java and C++

This involves at least two semesters focused on programming languages that center around data or objects, teaching students to structure and design efficient code. Most degree programs reinforce these concepts using Java, C++, or Python.

Operating systems

Covers a broad range of systems topics, including memory management, security, and file systems. It provides a comprehensive understanding of how operating systems function and manage resources.

Probability and statistics

This course is about methods for interpreting and applying statistical methods to programming and data analysis. It’s essential for making informed decisions based on data in various computing fields.

You can boost the chances that you’ll be accepted into a master’s in computer science program without a bachelor’s degree in comp sci by completing a couple of computer science projects on your own time. You’ll gain some valuable experience and get a chance to explore your passions, which can help you choose a master’s degree concentration once you’re accepted into an MSCS program.

Here are some recommended websites where you can find project ideas and resources:

  • GitHub: A vast repository of open-source projects. You can contribute to existing projects or start your own, gaining hands-on experience in software development and collaboration.
  • Kaggle: Ideal for those interested in data science and machine learning. Kaggle hosts competitions where you can apply your skills to real-world data sets.
  • Hackster.io: A community dedicated to learning hardware development. You can work on projects involving IoT, robotics, and more.
  • Project Euler: Provides a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve.
  • LeetCode: Excellent for practicing coding problems, often used by tech companies for job interviews.

Working on projects from these sites will not only give you practical experience but also help you discover your interests, guiding your choice of concentration in a master’s program.

Will you struggle to find a job after graduate school because of your non-CS background?

Given that plenty of high-ranking full-time and part-time MSCS programs accept students without CS backgrounds, you shouldn’t have any issue getting a job after graduation. MSCS graduates are already in high demand, and the US Bureau of Labor Statistics (BLS) predicts that computer and information technology jobs will grow by 16 percent over the next decade. That’s a lot of new jobs in many fascinating fields, including data engineering, artificial intelligence, cloud services, robotics, network security, game development, and others.

  • Data Engineering: Focuses on the practical application of data collection and analysis. Data engineers build and maintain the systems that allow data scientists to access and interpret data.
  • Artificial Intelligence: Involves creating algorithms and systems that can perform tasks that typically require human intelligence. This includes machine learning, neural networks, and natural language processing.
  • Cloud Services: Specializes in cloud computing technologies. Professionals work on designing, implementing, and maintaining cloud-based applications and infrastructure.
  • Robotics: Combines computer science with electrical and mechanical engineering to design, construct, and operate robots. Includes developing software and hardware systems for automation and enhanced functionality.
  • Network Security: Focuses on protecting networks and data from breaches and attacks. Involves creating secure network architectures and implementing security protocols.
  • Game Development: Involves the design and creation of video games. Encompasses programming, graphic design, sound design, and interactive media development.

Maybe the better question would be, ‘Is a master’s in computer science worth it?’ After all, you could try breaking into comp sci by taking online courses, enrolling in a boot camp, or earning one or more relevant certificates. You might even consider going back to school for a second bachelor’s degree in comp sci.

What none of those options can do that an MSCS program can, however, is give you the kind of valuable post-graduation career support that a good computer science school delivers. According to the Department of Computer Science at Northern Illinois University, “Even if you have no background in computer science, earning a master’s degree (as opposed to a second undergraduate degree) will prepare you for jobs that are often more interesting, command higher salaries, and usually offer a better career advancement path. Time and cost are comparable to a second undergraduate degree.”

(This article was updated on December 19, 2023.)

How useful is this page?

Click on a star to rate it!

Since you found this page useful...mind sharing it?

We are sorry this page was not useful for you!

Please help us improve it

How can this content be more valuable?

Questions or feedback? Email editor@noodle.com

About the Editor

Tom Meltzer spent over 20 years writing and teaching for The Princeton Review, where he was lead author of the company's popular guide to colleges, before joining Noodle.

To learn more about our editorial standards, you can click here.


Share

Computer Science Programs You Should Consider

Advertisement

You May Also Like To Read


Categorized as: Computer ScienceInformation Technology & Engineering