Best Undergraduate Programs in CS for Women

My 17 year old daughter is applying to college next fall and is interested in studying Computer Science. She does not have any experience in CS because classes were not offered at our high school and I had a difficult time finding local programs.

Can anyone recommend a CS program that is well suited for women with little experience? I am worried that she will be overwhelmed by students who have been programming since they were 10 years old! She has an A average and solid scores on the SAT and ACT. We are open to schools in any geographic location but are considering University of Illinois Urbana Champaign, University of Maryland College Park and Georgetown at the moment. She also likes UC Boulder as a possibility.

Thanks!
LMB

TL;DR (read next post for summary)

From my rather limited experience (having been given the opportunity to personally experience CS classes in both a State school and a Private school), I will have to say there is no CS program particularly “suited for women”.

As of my knowledge, all CS curriculum expect students to come to college knowing absolutely nothing about programming. It doesn’t matter if the student is a male or female. As far as the college cares, your first course in CS must be a course for learning programming (since students come from all different backgrounds -and yes, this includes students from even very known schools in CS-).

In other words:
it doesn’t matter if your daughter were to do a CS curriculum at a place like CalTech (known to be very rigorous academically), the required classes she would take in CalTech would still expect her peers (including her) to know absolutely nothing about programming.
Yes, having learnt programming in a young age helps (tremendously), but it is not a requirement to major in.
In addition, I would like to note that most students in CS really don’t know how to program or if they did, are able to do only the basics like if…then statements, etc.

Also, CS is not programming. CS prioritizes (at least in most fields) in finding efficient algorithms to a problem. It is often said that CS to programming is like astronomy to telescopes.
If your daughter has solid skills in mathematical logic, then she could actually have an advantage over those who programmed since 5th grade simply because CS by nature is more about logical steps than programming.

In addition, CS curriculums almost everywhere are pretty similar (maybe except a place like Carnegie Mellon in which the students seem to breathe CS even outside CS courses and CalTech in which students are forced to go through CS in addition to many theoretical sciences requirement which can be prettyyyy challenging)
You do not have to worry about your daughter and finding a “CS program for women”. A vast majority of students (even students in MIT, Columbia, Harvard, Stanford, etc.) don’t really know programming like your daughter and able to succeed in college. And if the college confidential people in this forum states otherwise, then I must say they are most likely giving a misguided answer as I have experienced 2 different types of schools (public flagship and a top private which is ranked in the top 5 in USNEWS) and have friends in many other schools (including Stanford, Berkeley, UCLA, Rutgers, etc.).

However, I will like to note that publics and privates have a different culture which could impact your daughter’s academics (as some people are more influenced by their peers than others).
In public (a top 10 public during my years there), I noted something that was rather disappointing. Let’s say 10 people had signed up for Introduction to Programming course. By the second project, about 4~6 of the students would drop out of the course. Now as of the remaining 4~6 students, 1~2 would constantly complain about how hard the classes were and keep constantly making it aware that pretty much everyone would fail the class and the grade distribution were unfair in that the A’s were given to those who knew programming (and the Bs to Fs to rest).
Doing this only stigmatized those who were having difficulty with CS to believe that “CS/engineering were the hardest things in the world in undergrad” and many took pride in that.
In private (a top 5 USNews university), I noted something very unique. If 10 people signed up for Introduction to Programming course, then 10 stayed. And no one ever complained and the atmosphere was CS was challenging but fun.
Now, you might now come to think that “oh, there it is! CS curriculum at different schools cater different types of people”. Maybe they do, maybe they don’t. But to my awareness, in the State school, there were many many students who wanted to major in CS but had no interest to put in the required effort for CS. Both schools provided top notch resources for students. However, it seemed that most students in public did not bother to get help since their peers didn’t (unfortunately, for many people, the indirect influence one gets from their peers are huge). In the private, many more did get help but the atmosphere was mostly different because of the students that the privates had enrolled. By filtering mostly students of great academics, a higher concentration of students seemed to enjoy learning and seemed to have almost no difficulty in learning introduction to programming.
In fact, quite ironically, in the State school I attended, the students made me believe that Engineering/Computer Science were the hardest majors in undergrad (which actually annoyed me as at the time, I was majoring in math and I can personally tell you majors like Math puts many more hours with its honors courses) and the students in those courses did not give much credits to liberal arts majors.
In the private school I now attend, some of that is quite different. First, the students in Engineering/CS do not believe that their courses are the hardest courses in the world for undergrad. In fact, they respect the liberal arts majors and some being extremely glad that they could avoid the many essays liberal arts majors have to face as engineering/CS.
The “weed” courses in engineering are honestly Calc 1, 2, 3, Physics 1, 2, Chem 1, 2. And quite frankly, many of the students in State schools were not prepared for any of those academically while in the private, pretty much everyone took the AP of those in high school and saw no difficulty.

TL;DR
So as of resources, universities in both public and private cater pretty much the same. There is no “best program for women” as all programs expect you to come in to college knowing nothing. The only difference is the difference in mentality between a top public and a top private as the concentration of more academic students are higher in the latter. If you want to shield your daughter from such mentality, then I would advise the top privates. If you believe your daughter can go through just 1 or 2 semesters of that feeling in undergrad and she wants to go to a public, then go to the public. (After all, seeing your daughter looks prepared for college, she shouldn’t be the ones “struggling”. Some of those students were taking like Pre-Calc in college and struggling!).
However, quick advise, When picking among the phenomenal universities you have listed, take note of 1 thing. The required introduction class for CS (so the first course). Make sure it is Python. If it is Java, your daughter might struggle more. Most people agree (not me but I had experience programming since 5th grade) it is MUCH MUCH better to go from Python to Java to the rest then straight Java to rest. Python is incredibly easy to learn and honestly, I personally feel like if 10 students started with Python, 10 would pass the course but if 10 students started with Java, like 2 would give up. (This could also be why there was such a difference in my public and private but again, I believe most students there weren’t as prepared to start with)
And oh ya, being a female in Engineering/CS is like a super plus. Being a minority (if you don’t like that idea, privates tend to have better distributions but still, even in Columbia the ratio is like 3 girls for every 7 guys <- the public I went was like 1 girl for every 12 guys), ALL the guy students are like willing to help out the girl. And as pathetic as it sounds, in the public, I think many girls took huge advantage of that and passed the courses (by pretty much letting the guys do the work though in the private I now attend, it seems the student body is more serious about learning so… I don’t see it). Also, there are I am aware many more opportunities in CS being a female (you pretty much get priority in almost all internships, scholarships, etc.) than being a male. So ya, don’t worry!

PS I hear it’s hard to switch majors in UIUC. So… ya, take note of that ^^
PPS If you want to filter, filter schools by which the first requirement course in CS is. Either Java or Python. Most people highly recommend Python first and Python is much easier to learn than Java. But make sure the school that teaches you Python also teaches you Java in any of the courses following it (probably right after the Python course)
It’s usually (for learning curve): Python << Java <<< C++ < C
So ya, something to keep in note (although both Java and Python are fantastic first learning languages, C and C++… is kind of overkill when first learning. I started with Java. For me, Java personally makes more sense than Python but that’s probably because I like proofs in mathematics and Java seems pretty similar to the proof style I write.

Actually, (last post):
I think it’s better for you or your daughter to judge the importance in differentiating Python and Java (and C/C++):

https://www.quora.com/If-I-had-to-choose-between-learning-Java-and-Python-what-should-I-choose-to-learn-first

If you start with Java, you will have harder time learning but much easier time shifting languages.
If you start with Python, you will have easier time learning but harder time shifting languages.
Other words, if you were to learn Java first, you would have much easier time with Programming a semester after the Introduction Programming class. (Which I honestly think it is better -I’m Java fan-)
And C has a thing called “pointers”. I honestly don’t recommend true beginners as pointers are VERY confusing for a beginner programmer. So ya, Java or Python :smiley:

And just a note, the very very very top schools in CS (MIT, Stanford, Berkeley, Columbia, etc.) ALL start with Python. Python is great in helping students get HOOKED to programming. Plus, Python is used a lot more in real life so why not? !

Harvey Mudd is hard to get into, but does a great job of bringing women into CS without allowing the “coder boys” to trample them. They split the intro classes by experience level. My D2 hadn’t had any experience with CS, and decided to be a CS major after that intro class. She eventually ended up in a major that combines physics and CS, but Mudd is a school that does a great job with this. What about women’s colleges? Smith, maybe Wellesley.

Because your DD has little experience in CS, I think you should consider schools that are very flexible in terms of declaring a major. You DD might love CS but she might not. Schools like Harvey Mudd, Rice, Smith and Wellesley will offer a flexibility that some large publics do not. Now is a good time to look at your budget. Determine if you DD will qualify for aid, if she should seek out merit scholarships or if you are comfortable being full pay.

Presumably, you mean schools where there is not a high barrier to entry to the major for students not directly admitted to the major as frosh?

UIUC would be an example of a school which would not be desirable for a prospective CS major who is not directly admitted to the CS major as a frosh, since a 3.67 college GPA is needed to do so later (but apparently does not guarantee admission):
https://cs.illinois.edu/prospective-students/undergraduates/transfer-students/transferring-another-university-illinois-major
https://wiki.cites.illinois.edu/wiki/display/ugadvise/Want+to+Change+Your+Major

Exactly. But also look for flexibility in terms of switching out of CS to Business or Engineering (or any major that is desirable at a given school).

For example, UT Austin has a terrific CS program which is part of the School of Natural Sciences but changing to the Engineering School or to the Business School is difficult.

Mudd only offers STEM majors, so probably only fits that bill if the student is sure they want a STEM major of some kind.

If you like the idea of Mudd and the idea of a woman’s college, she could attend Scripps and major in computer science at Mudd. It also gives her flexibility to change her major.

People may be able to give you better advice if you post some of her stats and preferences .

@lmb123 Your daughter still has a big chunk of time before she goes off to college. I would suggest beginning to learn to program now, with resources such as Coursera. I personally think Java is the best language to start with if she’s up to it but I suppose Python would work too. Then she’ll know if she actually wants to continue…I’m not too sure why she wants to do it if she doesn’t have any experience yet.

Thank you for all of the advice. It certainly gave us a lot to think about. My daughter has a 3.95 GPA with 8 AP classes and a 2200 SAT score. She is taking the ACT in a few months. My son is currently at Brown and had a difficult time with the Intro to CS course which was Java based. He was also taking a difficult course load of science and math classes but had difficulty keeping up with kids who had years of experience. I will definitely have my daughter take an online course in Python or Java before college.

We are interested in Claremount or Pomona but Mudd seems a little too STEM focused. If she were accepted to one of the other schools in the consortium she could take classes at Mudd occasionally. I love that the intro class was broken up by experiece and wish that were the case at Brown. I would like to also explore more schools in the Northeast such as Tufts and BU. we are also considering SUNY Binghamton as a possibility. She likes the idea of a mid sized school but also wants a co-ed environment. Thanks again for the advice – it is very helpful!

She should go to the school she thinks will be the best. Don’t worry about the boys! I was a female engineering student back in the early '80s and had absolutely no problem. Now if I had gone in EXPECTING to struggle, I might have!

Glad to see people recommended that your daughter pick up some skills before college. There are tons of resources. Many kids learn it entirely on their own. There are now programs for even young kids! Very exciting!

If you look at the Scripps website info on Computer Science, the major is actually offered through Mudd. Note, though, that it also means your kid will be in classes with mostly Mudders. If she has the stats that would make her competitive for Mudd, that could make sense. It could be tough for someone who doesn’t, though.

She may want to go through http://cs10.org to get an introductory overview of CS.

The colleges tend to teach Python and C++. The internships use completely different languages and I think it is almost impossible to prepare for them since you never know what you might get.

Hey OP, saw a couple of schools you mentioned for your D that my D’s attend(ed).

D1 graduated from Tufts in CS. Her CS intro course in her first semester freshman year was the very first time she’d ever programmed. By and large, the department was a supportive place for a nontraditional type of student to flourish and develop because of the faculty and a strong women in CS organization. As you mentioned with your son, there is definitely an issue with the newbies versus the students who’ve been programming since they were small. The major has become far more popular and it can now be difficult to get into classes.

Non-techie D2 is at Pitzer, and has taken non-technical courses at Mudd. If your D is interested in the consortium, she should certainly look at Scripps; it can be an “admissions bargain” (since half the possible pool of applicants is ruled out :slight_smile: ), and the consortium is so tightly integrated that she may find it doesn’t feel like a women’s college in the same way as, say, Wellesley or Smith.

I would also want to see the percentage of women in Computer Science at the schools she is considering, and support programs for women. For example, Carnegie Mellon and Penn assign mentors to women in CS. The mentors are women who are one or two years ahead of you. They provide a supportive resource to go to when you are feeling lost or confused and don’t know what to do next. Little things like that can be the difference between success and failure for inexperienced freshman or sophomores. Sometimes students feel like they are completely behind when actually they could catch up easily, if they knew what to do next. That is when good guidance can make a big difference.

Good luck!

What do you mean by that? That the program has a fair number of women in it or that it is geared toward students with little experience. In that case gender shouldn’t matter and @AccCreate did a pretty good job explaining that most schools assume little experience going in. I would really like to emphasize that fact. My youngest thought she’d hate computer science. Didn’t touch it in high school. Signed up for programming in college first semester because her math major required it and she didn’t want the awful thing hanging over her head. Well, long story short, she’s now a double major. She’s the first to admit that a number of students are far better coders/programmers, but programming languages are really the most basic level of a CS program. Without a strong math background, some of those kids “programming” since the age of ten stumble when they get to algorithms and beyond. I wouldn’t worry about the lack of programming experience if she’s got a good math background. And I certainly wouldn’t encourage online language classes before college. Ew. Any decent school will cover what she needs to know.

Now, number of women in a program is a whole 'nother matter. Some women are really uncomfortable being the “only girl” in a class while others are fine with it. I would imagine you’d have to check out each school individually for this data.