Still seems like a good resource, just perhaps mislabeled.
Still seems like a good resource, just perhaps mislabeled.
> In a nutshell, what you are reading is intended to be a shop class for computer science. Young computer science students are taught to "drive" the computer; but where do you go to learn what is under the hood?
And “Shop Class For Computer Scientists” or “Systems Engineering From The Bottom Up” would have been better titles. It’s simply misleading to suggest a course comprehensively covers “computer science” without covering algorithms or complexity, among many other things.
I'd agree with this, but it fits with how a certain set of schools teaches their core. They will teach a set of related classes around the topics here: computer architecture, operating systems, and networking, because this is often central to their research interests. Others will scatter this information across a number of unrelated courses to check the box, or skip it entirely because their research doesn't touch as heavily on these topics.
Further research on the author suggests they are from New Zealand. I'm from the UK and live in the US. What I see taught in US CS degrees is somewhat different from what I saw in the UK, and heard about from friends in continental Europe. I imagine the author's experience is similar.
A further bias from the author, and I'm making big assumptions, is that see value here because they've worked in places that do lot of system programming. Mentions of VMware and Red Hat on https://www.wienand.org.
I think this is a good system - and also indicates that we are speaking somewhat past each other on what a “computer science” education looks like.
1. BSc, BEng, MSc monikers to be meaningless across universities, but to be used consistently at the establishment.
2. Multiple degree paths to be available that went from something advertised as computer science to computer engineering.
3. A straightforward path directly into master's level computer science education.
You couldn't make an assessment based on BS vs BA because the curriculum may be similar in both cases. Oxford used BA whereas Durham used BS with both producing solid graduates that can't be differentiated in most work (further research or industry.)
My experience in the US is that hiring has kind of perverted the nature of discussions like these. The focus is on a few select algorithms and maths courses whereas the folks who've done the systems work are arguably better prepared for many real world tech roles. The last half of your degree has to be more interesting and reflective of the individual, right?
MA versus MS is different (I think similar to the difference between a M.Phil versus an M.Sc). But I’ve never seen anyone dwell much on BA/BS.
In fact, it seems to specifically be trying to have a different focus than a cs degree:
> This book aims to move in completely the opposite direction, working from operating systems fundamentals through to how those applications are complied and executed.
Definitely not computer science.
We had another called "Operating Systems" that focused on things like concurrency, building a really basic memory pager, etc (mix of C and Java I think)
And we had one other called "Networking" that was sort of along the same lines as "Operating Systems" but focused on, well, networking. Mostly Java; we wrote our own application-layer protocols, that sort of thing
But yeah pretty much everything else - including the more "concrete" programming courses like Data Structures and Algorithms - was fairly abstracted away from any specific system