3 ms·
This seems highly focused on systems; I wouldn't call it representative of "Computer Science" as a whole. Only maybe 2-3 of the classes in my computer science d
by brundolf 6y ago
This seems highly focused on systems; I wouldn't call it representative of "Computer Science" as a whole. Only maybe 2-3 of the classes in my computer science degree were focused on this kind of stuff.
Still seems like a good resource, just perhaps mislabeled.
- macintux 6y agoI’m surprised you had that many. My CS program had nothing comparable that I can remember. Definitely not computer science.
- brundolf 6y agoWe had one called "Systems Programming" that was a whirlwind intro to everything Unix (6 weeks on bash, 6 weeks on C, 6 weeks on Perl, a mishmash of SSH and everything-is-a-file and Unix-philosophy, etc) 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
- macintux 6y agoNice, and now that I think of it we did have an operating systems class. I know better than to trust 25-year-old memories.
- michaelcampbell 6y agoMy undergrad CS degree I don't think contained any sort of OS course, other than maybe a survey of them but there was a graduate level class that was required for any higher degree. I took it before I graduated with an undergrad because it was interesting, and it was quite extensive as I recall. That was well over 20 years ago, however.
- ivankolev 6y agoThat sounds a lot like part of the UofT CS program.
- elcapitan 6y agoYeah it's basically an Operating Systems book like Tanenbaum's "Modern Operating Systems".
- zerkten 6y ago> This seems highly focused on systems; I wouldn't call it representative of "Computer Science" as a whole. 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 https://www.wienand.org.
- nicklecompte 6y agoI was a math major (in the US) so I don’t recall exactly, but I think my university offered both BA and BS degrees in computer science, where the BA focused more algorithms and complexity (overlap with math majors) while the BS focused on operating systems and hardware (overlap with electrical engineering majors). For postgraduates there is an academic MS in computer science versus a more practical MEng in software/computer engineering. 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.
- zerkten 6y agoI think it's good to offer more options, but the focus on BA/BS in the US is weird. In the UK, it was common circa-2000 for: 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?
- _wldu 6y agoYears ago, systems was the general purpose CS degree. I guess it is/was classical CS. Today, there are many specialties (data, security, algorithms, etc.), but many top-ranked CS schools still offer a traditional systems degree.
- Yottaqubyter 6y agoThe reason for the name seems to be because of its focus on systems. I do agree that the way it's labeled isn't the best, but it's not trying to be representative of all Computer Scionce. 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.
- brundolf 6y ago"opposite direction" tends to imply "the same content, just with a different order/framing". Whereas the OP leaves out the majority (not all, but more than half) of what people tend to put under the term "computer science" completely
- userbinator 6y agoYes, the same comment appears whenever this comes up on HN. Bottom-up would actually be something more like Nand2Tetris or Petzold's code.
- nicklecompte 6y agoThe introduction is a much better description: > 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.