UC DAVIS Vs Purdue for Computer Science Major

Purdue has formalized specializations as listed at https://www.cs.purdue.edu/undergraduate/curriculum/bachelor.html . These specializations make up 3 to 5 of the 7 upper level CS courses in the major.

However, UCD’s fairly generic CS degree requirements include 6 upper level elective CS courses (out of 11 upper level CS courses in the major) which can be used to specialize or generalize as the student prefers: https://ucdavis.pubs.curricunet.com/Catalog/computer-science ; checking the course offerings at https://ucdavis.pubs.curricunet.com/Catalog/ecs-courses-sc can give an idea of what specialty areas one can choose within the generic framework. (Note: not suggesting that UCD is necessarily better than Purdue for the OP. But just pointing out that the existence of formalized specializations is not necessarily much of a difference in actual practice.)

But, regardless of specialty interest, it is best to get a strong base level of CS knowledge in areas that are applicable to many specialties, in order to be more adaptable as specialty demand shifts around.

Note that UCD is on the quarter system, so there will be more courses taken, but each one is “smaller”.