I had the same question when I was a TA for junior (3rd year) CS classes at UCSD, coming from an undergrad in Greece. I talked with a lot of my students and I was shocked to learn that only half of their courses were in CS. The rest were very "breath" courses, many unrelated to engineering altogether. Contrast that with my undergrad experience (which is also pretty typical for many non-US undergrad programs), where _all_ of the courses are engineering-related: math, physics, compilers, OS, etc. Perhaps there's merit to breath vs depth, but I have only experienced one side of the equation.