I’ll give you two answers , the "conventional" one and then the "real" one.
1) The "Conventional" Answer
Your chance of acceptance will be the same as every other major.
When you apply to an Ivy League college, you don’t apply as a “computer scientist” or even as a “STEM major.” Rather, all applicants are lumped together into one centralized pool regardless of intended major.
There’s two reasons for this:
- These colleges know that you’re probably going to change your major once, twice, maybe even three times before deciding on what you actually want to study. That’s the point of a liberal arts education, and the point of college.
- Ivy League universities are not vocational schools. They don’t really care what you study so long as you are growing intellectually and developing critical thinking skills. Again, liberal arts.
2) The "Real" Answer
Your chance of acceptance will be higher than it would be when applying to a more technical institution (e.g. MIT, Stanford). According to CS Rankings , the highest ranked Ivy League school when it comes to CS is Cornell at #7, followed by Columbia at #12. Harvard and Yale aren’t even top 20.
Ranking of undergraduate programs by CS graduate job placement rates/wages (Image Source)
The Ivy Leagues are known to be weaker at CS, and they recognize this fact as well. Thus, they’re spending a lot of time and money (e.g. Harvard , Yale ) recruiting new CS professors and strong CS undergrads/grad students to improve their programs.
So yes, if you’re interested in CS and are applying to MIT and Harvard/Yale/Princeton, you probably have a much better shot at getting into the Ivies.
So does that mean you should apply to Harvard as a "computer scientist" since they need more CS? Unfortunately, the answer is a bit more complicated than that for 2 reasons:
A) Everyone programs
Everybody, it seems, has caught onto the fact that the Ivies want to improve their CS programs, and that CS is the future. As a result, the skill has unfortunately become commoditized.
The number of CS majors at elite colleges has grown almost exponentially. (Note: At MIT, 6.2 is Electrical Engineering & CS, 6.3 is CS) (Image Source)
High schoolers who taught themselves to code after-school and have built a dozen websites/love programming are a dime a dozen these days. This makes it incredibly hard to distinguish yourself as a CS applicant unless you do something truly exceptional (e.g. found a start-up, place at the USACO, do algorithms research, etc.)
B) Top-heavy field
Because CS is such a math/engineering-focused field, this means that it is much easier for the nation’s “top” CS students to distinguish themselves from the rest of the population.
This occurs in the same way that the nation’s "top" math students become fairly identifiable — there are objective measures for how well you perform at math (e.g. doing well in a competition, publishing a paper), whereas for fields like English, History, etc. it’s harder to objectively rank applicants.
Harvard’s admissions rate for students who declare different majors. CS is at the bottom, tied with engineering. (Image Source)
It’s therefore much easier for the admissions office to rank two CS applicants against one another than it would be had they declared their interest in a humanities or social sciences field. Thus, even if you’re not one of the “top” CS students in the nation, by applying as a “computer scientist” you’re basically asking the admissions office to lump you in the “CS” pool.
The US’s 2019 International Olympiad in Informatics team. To a certain extent, these are the students to whom your CS application will get compared. (Image Source)
This means you’ll be ranked against the pool of all other CS-interested applicants, which includes the top CS students in the nation.
And because there are somewhat more “quantifiable” or “standardized” metrics for comparing CS candidates than there are for comparing applicants with other intended majors, you’ll probably look relatively worse off because of it.