Live data from Hacker News

Computer Science from the Bottom Up (2016)

bottomupcs.com

41–50 of 79 posts

Re: Computer Science from the Bottom Up (2016)

#41
post #37
post #36

Earlier quoted context omitted.

Hey, so this is a great work you did. One thing perhaps you can explain... I've stared at this example now for like 30 minutes... https://www.bottomupcs.com/chapter01.xhtml Section on "Masking" How do you get 0x09 or 0x90? I get how using & = ... so: 10100101 & 11110000 = 10100000 But I have yet to see how this is 0x90 or 0x09, perhaps I'm misunderstanding. I'm trying to understand the 'shift' piece of it

It’s a typo: he meant 0xa0 or 0x0a and the shift is the four positions to the right to extract the top nybble of the byte.

Awesome, thank you... I thought I was going insane. So you shift 4 times correct?

Re: Computer Science from the Bottom Up (2016)

#42

I remember reading this a few years back. I stopped reading at some point because there were so many errors, unfinished bits, and just flat-out garbage. Sorry to the author but this needs to improve. It's a good start, but you need to invite fixes and implement them. Put your email address on every single page and invite fixes and then implement them. This could be an awesome resource, but right now it's too full of…

Everyone who tries to create something eventually comes up against being told their work is flat-out garbage. Unfortunately I don't think there is a vaccination for it, and one must just take their chances and hope to build a mental immunity so it doesn't ruin your day. It's sad to say that many don't develop a resistance, and I think we lose many good contributors that way.

Re: Computer Science from the Bottom Up (2016)

#43
post #17

Earlier quoted context omitted.

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…

When I did my CS programme decades ago, we all started with Scheme, which is very high-level, and forced everyone to focus on the algorithms, the math of it, instead of what the hardware is doing, or how the Scheme interpreter is implemented. It gets you going, thinking about values and execution and iteration and recursion. Starting with bits and bytes and hardware would be pretty goddamn boring, I think. You'd lose…

Scheme is deadly boring. You'd lose a lot of students that way. Starting with bits and bytes and hardware would be pretty goddamn fun, I think.

I first really got into things with assembly language for DOS. It was interesting to directly control the IRQ controller, real-time clock, interval timer, and keyboard interface. These were all motherboard chips that could be messed with.

Years later I passed a mandatory Scheme class. I tolerated it to get my degree, but I was furious. I handed in just enough assignments to pass the class. If the degree had started with Scheme or required very much of it, I would have found something less miserable to do with my life.

Re: Computer Science from the Bottom Up (2016)

#44
post #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.

Computer Systems - a Programmer's Perspective

Re: Computer Science from the Bottom Up (2016)

#46
post #37
post #36

Earlier quoted context omitted.

Hey, so this is a great work you did. One thing perhaps you can explain... I've stared at this example now for like 30 minutes... https://www.bottomupcs.com/chapter01.xhtml Section on "Masking" How do you get 0x09 or 0x90? I get how using & = ... so: 10100101 & 11110000 = 10100000 But I have yet to see how this is 0x90 or 0x09, perhaps I'm misunderstanding. I'm trying to understand the 'shift' piece of it

It’s a typo: he meant 0xa0 or 0x0a and the shift is the four positions to the right to extract the top nybble of the byte.

Thanks, I believe this should be clearer with https://github.com/ianw/bottomupcs/commit/d8dfd3dc6be5795f4b...

Re: Computer Science from the Bottom Up (2016)

#47
post #39
post #17

Earlier quoted context omitted.

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…

Most students approach courses as a form of top-down search with a cache for items they see often. It is generally difficult to get them to reason about subjects from the bottom up. A smaller proportion of students approach courses from the bottom-up (10-20%?) - they tend to start with the basic pieces and glue them together over time to understand larger concepts. I’ve read about this phenomenon (it is extensively d…

When I was in college I was very interested in learning computer fundamentals bottom-up, but I had some pripr experience programming a high level language. With that prior knowledge everything made sense to me.

Maybe if I didn't have this prior knowledge back then the classes would be very boring.

Re: Computer Science from the Bottom Up (2016)

#48

Earlier quoted context omitted.

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 t…

[deleted]

Re: Computer Science from the Bottom Up (2016)

#49
post #39
post #17

Earlier quoted context omitted.

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…

Most students approach courses as a form of top-down search with a cache for items they see often. It is generally difficult to get them to reason about subjects from the bottom up. A smaller proportion of students approach courses from the bottom-up (10-20%?) - they tend to start with the basic pieces and glue them together over time to understand larger concepts. I’ve read about this phenomenon (it is extensively d…

Can you link a document discussing this phenomenon or at least give the relevant keyword to search myself? I have noticed something similar when TA'ing, observing my colleagues and also when learning myself.

Re: Computer Science from the Bottom Up (2016)

#50
post #37

Earlier quoted context omitted.

It’s a typo: he meant 0xa0 or 0x0a and the shift is the four positions to the right to extract the top nybble of the byte.

Thanks, I believe this should be clearer with https://github.com/ianw/bottomupcs/commit/d8dfd3dc6be5795f4b...

Great resource - very detailed and your style is clear and readable. I'd happily recommend this to anybody who is studying an OS course (and in fact emailed a link to some people who teach similar courses to see if they would use it as background reading).
Post reply on HN