Based on our experience (both parents engineers, advanced degrees, EE and CS) and feedback from our son (after freshman year), it seems safe to say that his CS classes move at a much faster pace and go into more depth that what we experienced. Parents’ degrees received from flagship state and some private colleges. Our son is attending a highly selective private university with a strong CS reputation. He learns more, at depth, in one quarter than we did in an entire semester.
^ the other side: both parents’ degrees in other fields, but two successful software developer careers. Our son is attending a highly selective private university with an, imo, undeservedly moderate CS reputation (Yale). He also, as @Rivet2000’s son, learns more, in depth, than we ever did.
Re #60, #61
However, when comparing across generations, the huge increase in computing power may allow some CS courses to cover more material than they did a generation ago (because students can finish their programming assignments and projects faster). I remember when the introductory CS course for CS majors had 6 hours of lab per week, because time on the instructional computers had to be rationed that way (i.e. each student had 6 hours per week on the instructional computers during daytime and evening hours – only late night hours and maybe weekends were available if one wanted additional time to work on programming assignments). Of course, all of the students shared one instructional computer using 80x24 terminals. Now, students can probably do all of their assignments on their own inexpensive computers in their dorm rooms, with multiwindow development environments, fast compile times, etc…
Increased computing power and accessibility may also make learning other subjects more efficient. Writing a paper for a humanities or social studies course using an editor or word processing software is easier than writing several drafts by hand. Searching libraries of books by hand for references was more time consuming than using web searches to help you identify which books are most likely to contain the needed references.
@ucbalumnus, computing power is part of it. I’m not sure that many books existed then. The VMS internals book, for example, was originally only available for people taking a course from DEC. It was coveted like a rare manuscript back in the day.
Maybe I’m over generalizing from my small sample size, but I was considered a pretty clever CS guy back then, and I was a dunce by comparison to today’s kids.
I agree with @ucbalumnus that the increasing availability of computers and software has helped to make it easier to cover more material. However, the amount of theory and depth at which it is covered is still amazing. Sure, my son has a laptop with all the compilers and tools he needs, but he still needs to absorb they theory and transform it into a
real solution, and it is the rate and depth at which theory is presented that is different than my experience.
A college who had a chemistry PhD then got her masters in CS at a top tier U where she TA’d for quarter system classes. She then worked at a podunk public U where she was expected to cover less material in a semester! THAT is my reference point for course work differences. Also AP calculus is not as difficult (covers less) than at many U’s, one reason UW suggests many students who “pass” the AP exam still start with first semester calculus there- they are not well enough prepared for second semester. And that is the regular, not Honors version. Info on that comes from the mother of a gifted girl who did AP calc then regular college calc as a HS senior before going to an Ivy (she may have had a different opinion if she had been able to take the honors version).
A lot depends on expectations in the workforce. Places like Google and Amazon have the pick of the CS students for cutting edge research. Many do work for many other types of companies needing CS skills. Going to a top in the field school (not all elite colleges are in the top in CS) can be an advantage since employers know the caliber of student and course material learned. btw- I’m talking about CS as a software, not engineering hardware major.
Son did an honors math major and added CS to it instead of math grad school. He had grad school math courses at a top 15 or so U and did minimal programming before hitting the work force. His first job took him for his math/thinking skills and not his speed at routine programming. Then recruited by the big leagues in another area and is being intellectually challenged so far. He self teaches some new stuff. Back in college they were required to do lab work on the school’s computers- likely to ensure they were the ones doing the work.
Since the OP’s D did the middle school SAT (like my son did for a talent search program) she likely should go for a top tier CS program school. She needs to be among her academic peers and academically challenged in college.
“Passing” an AP exam typically means scoring 3, which is implied to be like a C grade. Theoretically, a C grade means ready for the next course, but the student may not do as well as one who earned a B or A grade (or 4 or 5 on the AP exam).
Students considering using AP scores to take advanced placement should try the college’s old final exams for the courses to be skipped to check their knowledge. Some students will find that they know the material well and should skip (avoiding wasting time and tuition repeating what they know), while others will find their knowledge to be shaky and should retake the course before taking more advanced courses.
I had a friend who went well beyond the CS curriculum at a university which is now in the top 60 who ended up being hired by another household name tech company almost by surprise. Especially considering his low undergrad GPA(Too much videogaming in his freshman/sophomore years) and achievements which would have been fine enough if all he wanted to be was a programmer at a less high profile company.
However, at that high profile company which hired him, his college stats/achievements combined with the fact he never got around to pursuing a CS masters degree(fully funded by employer had he pursued it) with a top 8 program after 2+ years meant he was eventually included in the bottom 10% who were not promoted after 2 years and eventually forced to leave the company.
Math may be different than many courses because it builds so much upon previous courses’ knowledge. Part of me thinks it is great to get requirements out of the way with HS work but the down side is not getting the extra, college level (and speed) classes compared to AP versions. Even the AP class literature discussions will not be the same as those at one’s college (chemistry major who took college honors lit to meet reqs). I recall realizing that I felt I didn’t learn the STEM course material if I got less than an A (writing was my bugaboo in lit). The better one’s foundation the easier it is to do well- one reason to take AP versions of HS courses even if “starting over” in college (remember there are reasons some top tier schools do not give AP credits).
Most, except for Caltech and Harvey Mudd, do allow AP scores for subject credit and/or advanced placement*. Caltech and Harvey Mudd basically expect incoming students to have had some regular high school or college calculus before taking their theory-heavy “calculus” courses.
*While (for example) Dartmouth does not give credit against the 35 courses needed to graduate for AP scores, it does allow for subject credit and advanced placement for some of them: https://www.dartmouth.edu/~reg/enrollment/credit_on_entrance_exemption_charts.html . MIT offers credit units, subject credit, and advanced placement for some sufficiently high AP scores: http://uaap.mit.edu/first-year-mit/first-year-academics/incomingcredit/previous-study/ap-and-transfer-credit-advanced-placement
OP- a major point is to not only look at costs but also at the academics of schools. You do not want your D to need to self teach what others were taught in a top program.
I’m a contract programmer, so I’ve worked at a lot of companies. After working in the software biz for over 30 years, I have never seen a company evaluate its programmers that way. Sure, there could be a black swan out there that does it like that, but it’s easier for me to believe that people are making up evidence to support what they’re saying. The computer field is one of the most egalitarian fields out there. While the first job can be affected by where you went to school because there isn’t a lot of work history to judge someone on at that point, once you’ve worked for 2-3 years, your school matters very little.
@ucbalumnus and @cobrat In fact, I recently learned that in addition to not using AP scores for math/physics/chemistry/CS/writing placement, Caltech offers a “voluntary” online course the summer before freshman year called “Transition to Mathematical Proofs” that aims to get students acquainted with proof writing.
The class “offers several chapters on the fundamentals of mathematical proofs and logic, along with a mechanism to turn in some of your own work for feedback and assessment.” They say that although the course is optional, their statistics show that students who do not take the course are two times more likely to get a “C” or lower in their first math course at Caltech.
It wasn’t really about the school, but the level of technical proficiency and perceptions of “intellectual/mental bandwidth”.
In most software development firms or tech firm/departments, the engineering/CS basics learned in any reasonably decent program are usually more than enough. However, at the higher profile tech firms, there are greater expectations beyond that even beyond the first job or two.
And it’s not always about elite pedigree…or at least not the way most laypersons would think about it.
For instance, many older relatives who are/were engineers/programmers and play critical roles in hiring them would hire graduates from RPI, UW-Seattle, UIUC, and certainly Georgia Tech before they’d hire folks from most Ivy colleges(With the possible exception of Princeton, Cornell, and Columbia SEAS) all things being as equal as possible.
Well she is working in a lab and teaching herself some advance things as the her work is cutting edge technology. As she is busy, my daughter will never come to CC; she just got her first summer internship offer from a fortune 100 company for next year. Through these summer internship, our daughter is exploring her options and want to make sure that she pursue what she would love to do her entire life.
@IxnayBob thanks for your insight about Yale as this is very helpful; daughter has multiple interests as she love history, and have received outstanding comments on history research papers, finance and equity markets are a big draw for her as she will be taking calculus based statistics in high school.
I do not think my kid will pursue a PhD in computer science, she may drop before college graduation as she tells me that she wants to work in a start up company or maybe involved with a venture capital firm as many of her senior friends from high school who are attending top elite universities are going that route. but who knows what kind of new opportunities life brings; then again she may surprise me and pursue PhD.
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.
CS is a field where you have to self-teach. Much, if not most, of what you learn as an undergraduate will be so theoretical and general, and often obsolete, as to be not directly applicable to work. CS programs tend to lag a few years behind what’s in demand in the job market, so it’s up to each new graduate to come up to speed with the latest technologies and practical tools on their own.
A semi-exception to what I just said in regards to CS programs is if you can find a CS program with a particular specialty or track that you’re interested in, e.g., computer games, data science, cyber-security. You’ll still have to self-teach, but the gap between what you learned in school and what you need to know to apply that knowledge will be easier to bridge.
Getting involved in a venture capital company straight out of college isn’t going to happen, unless it’s for some menial administrative work. Nobody lacking substantial, practical experience in the business world is going to have a meaningful role in a venture capital company.
People aren’t hired based on the school they went to, but when I get a lot of resumes for a position and I rank them, people who excel at a competitive school move to the top of the pile. I really don’t often have to go very far down the pile to find my candidate, although the economy is picking up and I’m having to going further down than I did 5 years ago, and pay a lot more money. In some cases I just can’t be competitive.
+1 It has been years since DW and I interviewed young programmers, but based on observation of DS and his cohort:
It might be slightly more difficult to get the initial (often telephone) interview coming from Yale CS rather than schools more commonly regarded as CS powerhouses, but the initial interview is possible for the tenacious, and then it’s “all’s fair in love and war.”
From what I gather from DS’s and cohort’s interview experiences at Citadel, Jane Street, DE Shaw, Google, FB, etc., the wheat is pretty quickly separated from the chaff. Where the kid goes to school is of no concern, but man oh man, I’d want to have attended a rigorous school with a solid theoretical CS grounding (as opposed to a coding intensive school) if I hoped to make it to the later interview rounds at the hedge funds (and somewhat less so for the FAANG companies).