It is about signaling, not education.
And for that, you need time for the college "image" to become elite.
It is about signaling, not education.
And for that, you need time for the college "image" to become elite.
I'm sympathetic to your signaling point of view, but this statement is definitely wrong. CS curriculum varies a lot between the top schools and a typical public university.
For example I just now looked at the labs for Operating Systems at University of North Carolina and compared that to the work I did at CMU. UNC has students implement malloc and free. At CMU I implemented a process scheduler and virtual memory system.
Each program has its own strengths, and simply comparing between similarly titled classes is an unfortunately poor metric. (Eg. At UNC, OS is really an introduction to C and OS concepts class. The Operating System Implementations class sounds more similar to CMU's OS Class.) Academic programs need to be compared holistically, and only if one is consistently worse than the other do you have an answer. (Otherwise I could go and claim that UNC is better than CMU because our real-time group is much better.)
Of course, that's too much analysis for most people (including me), so I would argue that looking at where graduates work is typically an okay proxy for undergraduate educational quality.
That being said I've spent a lot of time in my career recruiting students out of undergrad. And I've noticed significantly more rigor and in depth work from students from some of the top schools compared to most everywhere else.
My undergrad OS course didn't even have us implement malloc or free... CMU's sophomore systems course is a lot more rigorus, let alone their OS course.
And that's in systems courses where the variance is actually a lot smaller than in other subfields. There was simply no course in my undergraduate institutions curriculum where you could learn what a Turing machine or even DFA was! We never saw real asymptotic complexity analysis (our algorithms course spent most of the semester reviewing basic data structures as interview prep). Obviously no AI or ML course. Even where there was coverage the material covered was so different. For example, the PL course was all about using a functional PL and didn't include any of the type theory, logic programming, language implementation work, etc. It was a watered down version of SICP, which is an intro course.
If you think the difference in quality between UNC and CMU is large, consider the massive difference between branch campuses and top-ranked public research universities. For all practical purposes, "CS" means something very different at regional branch campuses than at top tier research universities like UNC and CMU.
I've taken community college CS, and I've taken CS50 (online). I did not find this to be the case.
No. Not even close. Unless you're taking about flagships like uiuc and Berkeley (which are not local for 99%).
This may be true in the humanities but is nowhere near true in the mathematical sciences.
My final year analysis course at college only covered a fraction of the content in the FIRST year advanced math sequence at Harvard.
As someone who went to one of those truly local state schools then taught at a #1 CS school: the quality difference in CS educations is absolutely insane. See also the "Java Schools" rant.
I went to school just as Java hit .. saw the old C days and then Java (in my OS course .. the horror!). I feel Java for OS stunted me to this day. Curious what your thoughts are on this.
(Also, don't read anything into my user name. I just happened to make my first comment about something related to java and then never logged out.)
Leland Stanford's reason for starting Stanford in his son's name was to honor his son's memory (who died when he was nine). Perhaps if his son was alive and wanted to attend college, he may have donated to Harvard or Wharton instead.