Looking for suggestion - computer science

A good CS education should have you learn the foundational principles that form the basis of future self-education throughout a career in computing. The foundational principles do not become obsolete (although new ones can get added), but you need to be able to know how to apply them to your work and self-education.

Math goes hand in hand with CS. One should be able to have high level academics and be exposed to things in the classroom as well as self teaching. Technically most subject matter can be self taught but schools were developed to enhance the process. Higher expectations, being challenged, being exposed to things one wouldn’t know to consider will be found at the better school in a field.

Please remember that there are software engineers/developers (title depends on the company) as well as programmers. The two are not the same. The first job may hone programming skills and then recruiting by a more major firm can occur (one example I know of). Reread post #80"s comment about one’s foundation. A top school will give more tools to be able to self teach. Sometimes a person absorbs a lot and does not realize how their ability to think outside the box is based on advanced math/CS.

OP- your D needs to be at an institution where others “get it” when she explains how she solved a problem in math and CS. She needs to be energized by others who are better than she is. She needs to be among other students she can work with and learn from. She should NOT be the top student. Even the gifted students with top test scores in HS will find others who are smarter at the schools they should attend.

A corollary. As medical students we needed a huge fund of knowledge - to save time needing to look things up. However, we were more importantly taught HOW to learn as much of what we learned would become out of date. Likewise in CS so much changes but good teaching will cover the theory behind it all so one can be a changer of the practical aspects as knowledge advances. Taking what is known and having tools to think outside the box is what elite software developers (engineers) do. It depends on which level one wishes to perform. There is a need for people to do a lot of routine problem solving but only some will be the ones doing things no one imagined some time period ago.

Do not worry about advanced degrees at this point. Your D will figure out her path once she is in college. Plus- be sure it is a place that gives her a top tier education in more than just her STEM classes. She, like everyone, is multifaceted.

Software engineer/developer/programmer are all the same thing. Software engineer is simply the updated title for programmer. I still call myself a programmer because when I graduated from school, that’s what we all called ourselves, and I’m perfectly comfortable with the term. Back then, I had never even heard the term “software engineer”. But if you look at my job description at work, and the people I work with, we’re software engineers.

Years ago when the term “software engineer” started to be used, people would say that software engineers designed programs and programmers implemented those designs, but that way of thinking has long since disappeared. Trying to split up job responsibilities like that simply didn’t work.

Totally agree. When I used the word “obsolete”, I was thinking about classes I took like assembly language and microprogramming. While I did some assembly programming in my first couple of jobs, within a few years assembly and microprogramming were pretty much replaced by C. Old technologies that you learn in school, being replaced by new technologies, is the nature of the beast in CS. So much of what students are learning in CS programs today will be gone and never used again within a few years. You typically learn the new technologies on your own, without going back to school.

Assembly language is still used in college CS courses, but mainly as a tool to help teach students about how computers work at lower levels, rather than as something that one will have to use on a regular basis. Example: http://inst.eecs.berkeley.edu/~cs61c/su17/

“Please, for crying out loud, stop with this stuff about how engineers/programmers get hired. Engineers and programmers get hired or not hired depending on their skills, experience, and how well they do in their interviews. I’ve never seen any engineer or programmer hired or not hired based on the school they went to, unless the school was absolutely bottom tier or the hiring manager never heard of the school.”

I don’t think it’s as simple as that, initially a lot of the internet companies hired from schools with top-notch CS reputations (powerhouse as someone said above)- Stanford, Berkeley, MIT, UIUC, Michigan, CMU,Harvard, maybe a couple other ivies. They also hired from local schools as it was easier - San Jose State, Cal Poly, other UCs, Santa Clara and then found that the graduates from the local schools did as well maybe better than the name brand ones, if you will. They still of course hire from those top schools, I think Stanford, UCB, Michigan are all top-10 or 15 wrt employees at silicon valley companies, but SJSU is top-5 I think.

And once a company likes a certain school, it will continue to hire from there. But that’s really for the first job, the second job, the school will have very little effect on getting the interview.

While Harvard has been exerting maximal effort to improving its DEAS including CS, its CS department historically hasn’t been regarded as a powerhouse.

Especially considering up until very recently, Princeton, Cornell, and Columbia SEAS all tended to have far stronger engineering/CS programs due to greater institutional prioritization and other factors.

This was one key factor in why most engineering/programmer relatives strongly advised their kids to NOT apply to Ivies beyond those three and one PE licensed engineer uncle who had the dubious experience of having a Harvard engineering alum as his most incompetent employee during his decades-long career pointedly tell his kids that if they wanted to attend Harvard or Ivies other than CCP for engineering/CS, they were completely on their own in finding ways to fund it.

He didn’t have the same levels of concerns for CCP though he was relieved when none of his kids opted to apply to any Ivies for engineering/CS and much later on, when his oldest grandchild opted to attend Berkeley on a full-ride engineering scholarship over attending schools like Cornell or Columbia SEAS.

I only read about half these posts so sorry if I am repeating –

First, odd that Brown’s net price is so much higher than the others. Might want to look into that further. I know that each of these schools crunches the numbers in slightly different ways, but for us, Brown was on the low side.

Second, Washington and Lee University is a gem - very high quality liberal arts college that offers several rigorous STEM majors (including CS). AND offers a full ride merit scholarship to close to 10% of each entering class. Worth a close look.

Disagree with programmer statement. One can get an AA degree to be a programmer, or just learn on one’s own. Many companies will hire programmers but not be developing new software. One job possibility- backup- son had coming out of college was with an insurance company. He got a job developing software. Compare with being a basic lab tech to being a research scientist. Son tells me he does not need beyond his BS degree and it seems that in today’s world once you have a firm grasp of the theory you can go beyond and teach yourself what is learned in master’s programs, unlike many other fields. Perhaps his math major with some grad courses helps him. He came out of college strong in theory and weak in programming skills since he added the CS major (taking only required courses he did not have) - something he caught up with on the job. Then he was recruited by a major player in CS new development. btw- once the new concept has been developed one may want to move on to another project and leave the tweaking to others.

The Ivies may have top overall reputations but not in the newest fields such as CS. Several of the large public flagships were and are at the cutting edge and have developed powerhouse CS departments. reasons to consider majors when looking for a best school. One’s innate abilities will determine which schools are the best fit and how far one can go with the major.

For some kids you may want the residential college experience that a Harvard or a Yale provides and the computer science department will be fine. You won’t have the same total immersion in geek culture that you might have at a place like Carnegie Mellon, but you’ll find your peeps there too. One of the things that surprised my son (and this was just as the engineering school was being established) was that he actually liked Harvard much more than he had expected to. The kids in the CS department were being hired to all the usual suspects.

^ and, you will have a lot of access to professors. No complaints from me.

Established?

Or do you mean renamed from the Division of Engineering and Applied Sciences which was the division Harvard’s engineering and technical science departments fell under in the '90s and before.

Harvard’s engineering program has been around for decades even if it was considered the “neglected stepchild of FAS” in the words of a HS classmate* who was a Harvard DEAS engineering major in the mid-late '90s.

  • She realized her turning down MIT for Harvard DEAS was a mistake and said as much during her undergrad years and moreso after going to Stanford for engineering grad school.

Renamed, enlarged, promises to hire 100 new professors etc. Harvard has had engineering since 1847. I never met anyone majoring in engineering when I was there, but had lots of friends in Applied Math which used to be where CS was housed.

No doubt that Harvard is making big investments in computer science (thanks Steve Balmer), and one can get a great CS education there. However, many still consider it a work in progress where other schools are simply adding and expanding from an existing base of CS excellence (hello Stanford, CMU SCS, UCB)

If you only want the best CS program, Harvard is probably not your best choice, but it has a lot to offer. Lots of students change majors.

While it got a late start, Harvard has a fantastic CS department these days. It’s just that reputations take a while to catch up.