* The Yale Computer Science Thread *

^^^ @suzy79: The short answer: No.

The long answer: Yale does not recruit by major. All student’s apply to Yale as Liberal Arts Majors, and choose a major during their sophomore year. So, whatever students select as their “intended major” on the Common Application has absolutely no bearing on their chances. Nor does writing an essay about CS (or any other academic subject) increase your chances of acceptance.

The reason: As more than 60% of US college students switch majors during their 4 years of school, it’s impossible for an Admissions Office to use an applicant’s “intended major” as a recruiting tool, as most students will graduate with a major that is different from the one they wrote down on the Common Application. The same thing applies to writing an essay about CS or another academic subject.

Colleges ask about your “intended major” to see how committed you are to your interests – the idea being that your commitment, energy and drive is a transferrable skill. So whatever student’s write down as their “intended major” they should make sure they have documented evidence in the rest of their application of their commitment to that major.

FWIW: If you’re applying to a college with an “intended major” of Computer Science, rather than writing an essay about CS, you should consider creating a website that displays your CS skills by posting examples of games or app’s you have created or designed – along with a link to the code you wrote, so Admissions can forward it to the CS department for evaluation. If you can demonstrate that you have CS skills beyond that of an average high school senior that might be impressive and increase your chances.

Full Disclosure: My son applied to colleges by hanging himself on the “Computer Science Display Rack” and selected CS as his “intended major.” In addition to three specific essays not related to an academic subject, he submitted a link to his website which contained several computer games written in Java, Python and SQL, as well as animations written in Adobe Flash. Along with each game/animation, he included a link to the code for inspection. My son graduated from Yale in 2015 with a degree in Psychology (yes, he switched majors) and is a now project owner and data scientist with a well known tech company.

This is not specific to the student’s gender or Yale or any particular college, but generally, when the student matriculates to a college, any college courses taken while in high school will be evaluated to determine if they are accepted for subject credit (i.e. whether a college multivariable calculus course taken previously elsewhere can fulfill requirements for multivariable calculus for majors that require it).

I’m glad I found this thread. The information here is very helpful. I have a couple of additional questions related to CS at Yale:

  1. With the popularity of CS at most top colleges (presumably at Yale, too), how difficult is it to be enrolled in popular CS classes? What about more specialized courses in fields such as artificial intelligence, machine learning, etc.? Is enrollment prioritized based on seniority?
  2. What does it take to skip the introductory CS courses?

@1NJParent ,
Re 1, DS has never had difficulty signing up for a CS class. CS50 is the only CS class that I would count as “popular,” I.e., appealing to non-CS kids, and that was available. Ditto the more specialized courses, which are often available in UG and grad flavors. Some classes are only offered once a year, rather than each semester, but that just requires some planning.

Re 2, unless someone has taken a comparable introductory course, I’d be hesitant to skip one. Is there a particular course you’re wondering about? Algorithms and Data Structures, for example, might seem introductory, but it is rigorous and well worth taking.

@IxnayBob Thanks for your quick and very helpful response. One of the attractions of the Yale CS program for my DS is the possibility of the four-year BS/MS combined degree. If he could skip the introductory CS courses, he’d be able to take the graduate level courses sooner in the area he’s interested in. By introductory CS courses, I meant the courses listed here (and identified as such): http://catalog.yale.edu/ycps/subjects-of-instruction/computer-science/#coursestext

@1NJParent, I will check with my son (who is getting a combined MS/BS this year), but I’m pretty sure that he would argue against skipping CPSC 201 Introduction to Computer Science, CPSC 202 Mathematical Tools for Computer Science, and definitely CPSC 223 Data Structures and Programming Techniques.

He was a decent programmer (and very good for his age/experience) going into the program, but he has often said how much stronger he was as a result of 223.

I got some input from him:
201 is worth taking for most people. It’s a good introduction to recursion and theoretical CS. Hardly anyone comes into college knowing what a DFA is (Deterministic Finite Automata, a computational model lower on the hierarchy than Turing machines).
Bear in mind that he falls very strongly on the Computer Science side, as opposed to the more applied side. We sometimes refer to the other side as “Code Monkeys,” which is what I was for many years and made a very good living at, but I wasn’t a Computer Scientist in the more proper use of the term. His view is that sometimes code monkeys arrive and say "okay, I know C, so I’ll take CPSC 323).

Another factor is that two of DS’s strongest mentor relationships were formed in “Introductory Classes.” He went on to do research with those professors, TA their courses, etc. He was not held back by taking the 2xx level courses, and has taken quite a few grad courses.

@gibby
This comes from a former Admission officer at Yale.

http://nypost.com/2016/02/07/former-yale-admissions-officer-reveals-secrets-of-who-gets-in/

“Deciding which 14 percent of the applicants would get the golden ticket was really tough work. Once the children of alumni, recruited athletes, underrepresented minorities or regions and students interested in ‘’'underenrolled major”" were considered, there wasn’t much room for your generic genius. (By today’s standards, 14 percent doesn’t seem so brutal. In 2014, Yale got nearly 31,000 applicants and accepted a mere 6.3 percent of them.)"

And in another report, which shows you the number of students graduated with a particular major declaration, only 2% students graduated with a statistics major in the Class of 2016. I think we can positively infer that applying as a Data science and Statistics intended major can give you an advantage in some cases.

“And in another report, which shows you the number of students graduated with a particular major declaration, only 2% students graduated with a statistics major in the Class of 2016. I think we can positively infer that applying as a Data science and Statistics intended major can give you an advantage in some cases.”

Not really, because there’s a weak correlation with declaring a major and graduating with it. The data science and statistics major has been seeing pretty strong growth anyway.

Hi @1NJParent!

  1. Virtually all CS courses are not capped, so there should be no trouble enrolling in classes. Upper level classes tend to be pretty small while the core classes (201 - 365) have grown quite a bit in recent years.
  2. There are introductory programming classes (CS50, CPSC 112, and more recently, CPSC 200) which aren't prerequisites for the CS major. If you have some programming experience in C/C++/Java and the like, then its entirely possible to skip these classes - quite a large number of freshmen do. Deciding whether to take these classes is entirely up to your own discretion.

CPSC 201 (Introduction to Computer Science) is the first required class for the major and mostly covers computer science fundamentals - boolean algebra, circuits and gates, computer architecture, compilers, etc. The problem sets are done in Racket (a variant of Scheme). Yale in general has a very loose definition of ‘required’ courses, so several people skip 201 and head straight to 223. However, very few self-taught programmers have any experience or knowledge of the topics taught in 201, so I’d definitely recommend taking the course even if it won’t land you a gig at Facebook. Racket/Scheme/Lisp introduces a new programming paradigm and is very interesting for someone who’s used to coding in C or Python.

https://medium.com/@johnamadeo/where-do-yale-cs-majors-work-3396510b3f56

(Disclaimer: Not written by me)

I know little to nothing about CS but thought this was interesting from today’s NYT:
https://www.nytimes.com/2017/11/13/technology/quantum-computing-research.html

@reuynshard Thanks for your very helpful post! My DS actually doesn’t mind large intro classes if he has to take them so long as he can take them right away in his freshman year (perhaps concurrently with some of the more advanced CS classes). He’s taken some of the basic courses online via Coursera, edX, and MIT OpenCourseWare.