I completed my Comp Sci undergrad in 2021 from a top 10 UK university and I agree. We had modules on networking, databases, operating systems, software design, AI, distributed systems and many more, but almost everything was surface level.
I felt as if they went for massive breadth instead of focusing on key concepts in depth. We brushed over data structures and algorithms (this is pretty poor since Leetcode-esque questions are now standard for entry level interviews), never really learning the theory behind them, when to use each one, their efficiency etc. No maths besides probability and basic calculus... Writing efficient code and unit testing was not given more than half a lecture.
Luckily, all of my uni friendship group did comp sci and we love it so often went deeper into relevant topics together in our own time, otherwise I feel like I would've found getting into the industry pretty tough. I'm a machine learning engineer now and I'm basically self-taught, my degree didn't help much at all.
It's definitely shocking if your data structures and algorithms course did not provide you with a solid foundation for leetcode or discuss efficiency.
The noise in UK unis has been, for years, that they have real trouble normalising the intake of students with respect to maths ability, hence they need to revisit way too much basic calculus etc. when they would prefer to be doing other things.
That said, students and new grads tend to prioritise immediate software development practicalities, which change with surprising frequency, over the fundamentals, which we have been forgetting and rediscovering since the 70s at a far greater rate than we have advanced the field as a whole.
I hope you have managed to find a good team with the right spirited mentorship.
> I felt as if they went for massive breadth instead of focusing on key concepts in depth.
To be fair, a bachelor's degree in CS is almost unavoidably going to do that to some degree. There's enough of a breadth of subject matter that it's going to be an overview of lots of things.
Of course it should still go into some depth, or it wouldn't be worth a university degree. If, for example, no basic understanding of time complexity (or complexity analysis in general) was taught for common data structures and some basic algorithms, I agree that sounds shallow for a university course on the topic.
Studies on alcohol consumption are always flawed due to socioeconomic factors. Adults who can afford to have some beers or wine on an evening are more affluent, therefore are more likely to have private healthcare, can afford nutritious diets and are more likely to exercise regularly. Until we can find a way to control for these factors, studies into the health benefits of alcohol are very misleading
Cheap beer is cheap. Around a dollar a pint. The homeless drink beer because it is the cheapest way to get alcohol.
Even when we only consider the nutritious value, it is about 200 kcal/$, about as much as chicken. Not cheap but definitely not fancy.
Socioeconomic factors have to be taken into account, but I don't think the rich drink more beer, they just get better quality, and maybe in a bar rather than from a supermarket.
I felt as if they went for massive breadth instead of focusing on key concepts in depth. We brushed over data structures and algorithms (this is pretty poor since Leetcode-esque questions are now standard for entry level interviews), never really learning the theory behind them, when to use each one, their efficiency etc. No maths besides probability and basic calculus... Writing efficient code and unit testing was not given more than half a lecture.
Luckily, all of my uni friendship group did comp sci and we love it so often went deeper into relevant topics together in our own time, otherwise I feel like I would've found getting into the industry pretty tough. I'm a machine learning engineer now and I'm basically self-taught, my degree didn't help much at all.