These are some of the “basics”, not “upper level” CS courses for a top CS program. Every CS student needs these basic skills but those aren’t what distinguish one program from another.
Most new graduates from undergrad CS programs, even “top” ones, do come out as CS generalists. Undergrad CS programs tend to be wide and shallow rather than narrow and deep.
Undergrad CS rankings are total garbage, as evidenced by the confusion about what they’re even based on.
I agree that most new CS graduates aren’t doing specialist work upon graduation for several reasons:
They are insufficiently prepared. They didn’t take enough specialist courses and/or conduct specialist researches. However, the “top” CS programs do require their graduates to specialize.
It’s been easy to find a decent software development job upon graduation, which lessens the need to look for more limited specialist opportunities or go on to graduate school to further one’s knowledge and skills in the specialty. However, “top” CS students generally won’t be content with generic software development jobs (unless, of course, they become entrepreneurs in their own projects).
Some of the most promising specialties are still mostly in the research stages, so their needs for graduates with undergraduate degrees are limited. However, that situation will change (and is changing) as the applications of these technologies become more widespread.
Students are all different, but @1NJParent captured some of my same sentiments on this…
Not all schools can offer the depth and breadth for specializing but many do. GT does as does Stanford. CMU requires students to take a minor or specialize. CMU actually offers BS degrees in several CS fields; AI, HCI for example.
Beginning with internships, it is generally easier to win and accept a general position. It was much more effort for our son to get machine learning-centric internships during his undergrad years. He was able to land AI engineering internships every summer but along the way he declined offers from the likes of Google, Intel, and Microsoft that were general in nature. He did eventually land a Google internship on a ML project in his later years.
All his efforts have seemed to pay off as now (grad student) he has ML offers coming to him off LinkedIn.
Posted job offering for AI/ML are heavily skewed towards PhD and masters degrees, but opening for BS degree holders are growing
CS + X, as so-called by some schools, is essentially an interdisciplinary program that allows a student to study CS with a focus of its applications (theory, techniques, etc.) in another discipline.
I hate to get too wrapped up in the rankings anyway, but I would definitely tend towards looking at the strength of the overall CS program and then check out the faculty and course listings for software areas. It seems hard to really know what one’s exact focus will end of being after a year or two.
The two advanced undergraduate subjects need not be in the same area to make what most would assume a concentration means.
The Unspecialized track “Requirements include a systems class, an AI class, an applications class, and electives from the general CS electives list.” I.e. somewhat generalized, although the additional electives can give the student either more breadth across CS or more depth within a given subarea.
Is it really “common” for Stanford CS majors to take 10 AI courses, 3 of which are graduate level courses (3xx course numbers)? https://cs.stanford.edu/degrees/undergrad/ProgramSheets/CS_AI_2021PS.pdf says 7 advanced courses minimum in the AI track, although not necessarily all of them have to be AI-specific CS courses, and students taking extra CS courses beyond their track may choose the extra CS courses from other areas.
@ucbalumnus For those students that are driven, absolutely! Hint to any incoming Stanford students (and this probably holds true at many other schools). If you want to get into a “graduate level” class, step one is make sure you have any prerequisite classes, step two is to simply ask if you can register to take the class. The answer (at least Stanford) is typically yes.
Students should learn the “couldn’t hurt to ask” tactic early. Our S took MV Calc at Cal while in HS by petitioning the prof. Don’t ask - don’t get.
CS department, at any college, isn’t going to mandate a large number of specialty courses a student must take for a undergraduate degree. The number they specify in their catalog is always the bare minimum. If you’re a motivated student, and you’re not content to be a “programmer” (or some nicer name such as a “software engineer”), you’d be taking advantage of what a “top” CS program has to offer.
I think this is a much more credible CS school ranking website…even then with a grain of salt. It’s the one I used when applying to colleges a couple years ago. USN is a joke, imo. http://csrankings.org/#/index?all
Seems like the third statement contradicts the first two.
Yes, motivated students can always take more courses than the minimum. But that does not necessarily mean that all of the additional courses have to be in one specialty area.
Speaking of specializations, it does seem that one of the more popular specializations expressed on these forums is computer game design.
In a “top” CS program, specialization is a requirement. The degree of specialization is up to the student. I don’t see a contradiction.
Game design may be popular with HS kids, but I don’t think it’s considered a specialty in a “top” CS program (it may offer a course or two on game design), unless one expands the “top” list to include schools like USC, Northeastern, etc.
My D and I have seen these rankings. They appear to rank by number of research faculty publications. I guess I see that as one data point to consider - that the higher the rank on that site means faculty at a particular school is doing some cutting edge research. I also find the site useful to see what the faculty are researching/have researched.
It’s a really good life lesson for advocating for yourself. At my son’s school also. Just ask… If you take the initiative the school will lay out the red carpet to help… ?