Live data from Hacker News

Computer Science from the Bottom Up (2016)

bottomupcs.com

21–30 of 79 posts

Re: Computer Science from the Bottom Up (2016)

#21
post #4

Author here ... Yes as pointed out many times not "computer science" and I somewhat regret the name. However, it came out of me being a teaching assistant for people doing computer science degrees. A surprising number of people got to 3rd year operating systems courses without realising things like 2^10 is a kilobyte, 2^20 is a megabyte, etc. Let alone how a program was linked and loaded. I hope for this to be helpfu…

Hello, thanks for releasing this! Are there any plans to release chapter 10?

Re: Computer Science from the Bottom Up (2016)

#22
post #13

While not technically all of what's covered in CS, in my experience with a PhD in Comp. Eng., 8 years as an AF comm officer, and 3.5 years in the commercial sector as a soft. eng., this is vastly more useful than most of what's covered in a CS curriculum. The CS curriculum probably made more sense back in the day when everyone was essentially an embedded developer. But nowadays, the most useful knowledge I have is th…

Could someone elaborate on what they think a good developer should "learn cold"

Re: Computer Science from the Bottom Up (2016)

#23
post #13

While not technically all of what's covered in CS, in my experience with a PhD in Comp. Eng., 8 years as an AF comm officer, and 3.5 years in the commercial sector as a soft. eng., this is vastly more useful than most of what's covered in a CS curriculum. The CS curriculum probably made more sense back in the day when everyone was essentially an embedded developer. But nowadays, the most useful knowledge I have is th…

Agreed, the typical CS education does not equip students to become useful programmers. I don't think AI has much to do with its failings, though. Universities like to think they are training up scientists.

It is much easier to teach an engineer to make good software than to teach a CSist to do engineering. I have seen the latter happen, but the usual results are... well, we see that every day.

Re: Computer Science from the Bottom Up (2016)

#24
post #13

While not technically all of what's covered in CS, in my experience with a PhD in Comp. Eng., 8 years as an AF comm officer, and 3.5 years in the commercial sector as a soft. eng., this is vastly more useful than most of what's covered in a CS curriculum. The CS curriculum probably made more sense back in the day when everyone was essentially an embedded developer. But nowadays, the most useful knowledge I have is th…

Could someone elaborate on what they think a good developer should "learn cold"

Linear algebra, discrete math, calculus. The mathematical underpinnings of algorithms and data structures. Turing machines will be a lot more useful once you actually know how to use properties to prove more things. A kindergartner can recite the layman description of an infinitely long tape with ones and zeroes but such simplistic understanding has very little practical use if you don't understand how it fits into the context of CS in general. Machines improve, architectures evolve, frameworks change. But math doesn't. Every few days there is a new "linear algebra for machine learning" guide that pops up on HN and every now and then there will be a "how to learn math" question on HN. The lack of mathematical maturity among software devs and engineers is not a good thing and reflects poorly upon the industry. Too many universities these days focus mostly on practical leet coding rather than the theoretical underpinnings of CS. An in-depth study of the finer aspects of a networking protocol would become outdated the moment the next iteration comes out, but a close examination of Shannon and information theory will serve you well for life. There seems to be a continuous myth that undergraduates cannot code a FizzBuzz to save their lives and thus all focus should be placed on testing that specific skill. This mentality of being dismissive towards math is pernicious to computing as a science and relegating theory as "stuff I never ever needed in my n years in industry" creates a harmful echo chamber for software engineering.

Re: Computer Science from the Bottom Up (2016)

#27
Here’s a slightly different take: The Secret Life of Programs (https://nostarch.com/foundationsofcomp ). It starts with a practical set of things and then ends with some survey overviews for people who want to know more.

A complement, not really an alternative, to this pdf.

(I fumble fingered this the first time and left out the link! Unfortunately I can't delete the confusing comment but fortunately it is being downvoted away)

Re: Computer Science from the Bottom Up (2016)

#28
Does anyone know if there's a book like this? Basically intro to OS but conceptual stuff only - for someone who didn't take it in school and wants to learn the high level details, not to the level normally covered in a college course.

Re: Computer Science from the Bottom Up (2016)

#29

> "This bit is crap" ( https://www.bottomupcs.com/chapter02.xhtml under "Reordering") Might want to proofread some of this and remove the ... proof-reading notes? Not sure what you thought was crap about this section?

I think in my mind at the time I was comparing it to Hennessy and Patterson; something that is obviously playing a in a completely different league!

Over time I have become a bit more realistic :) I've stopped worrying if it's better or worse than anything else. As long as it's factually correct, I think a rising tide floats all boats so the more we all write and read others work, the better off we'll be.

Re: Computer Science from the Bottom Up (2016)

#30
post #17
post #4

Author here ... Yes as pointed out many times not "computer science" and I somewhat regret the name. However, it came out of me being a teaching assistant for people doing computer science degrees. A surprising number of people got to 3rd year operating systems courses without realising things like 2^10 is a kilobyte, 2^20 is a megabyte, etc. Let alone how a program was linked and loaded. I hope for this to be helpfu…

Isn't it amazing how people pass courses, even perhaps demonstrate mastery at a point in time, but manage to get to later courses without fully understanding things? Students end up with a very strange mental framework by the time they graduate, and it seems like most students actually know shockingly little. I don't know that there's a solution, or even that it's an issue. To me, this is simply a reflection of how p…

Recently I had a conversation with someone who has been featured in Kaggle leaderboard(top 1%) telling 'CS background isn't helpful for Machine Learning'.[1]

I believe that he didn't understand what Computer Science actually is, besides having a degree in it. I'd say it's because of the educational system, where one could attain a degree without actually qualifying in it.

In under developed/developing economies if only qualified people get their degrees, then only a fraction would get their jobs and it would be very bad for that economy and so bad educational systems are by design.

[1] https://twitter.com/heavyinfo/status/1209330850363404288

Post reply on HN