Live data from Hacker News

Computer Science from the Bottom Up (2016)

bottomupcs.com

11–20 of 79 posts

Re: Computer Science from the Bottom Up (2016)

#11

Earlier quoted context omitted.

Looks like someone has vandalized your guide. > Reordering > This bit is crap

Yes, it has some rough edges. One lesson you can learn is probably not to write things like this, and just let what you have stand as it is, and incrementally improve it.

Thanks for the guide nonetheless. Going to be refreshing myself on a lot of this.

Re: Computer Science from the Bottom Up (2016)

#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 the low level mechanics of how things like the OS and networking protocols work. S/W eng. classes are a bit useful, but mostly knowing how to write in C++, Java, and now Python has gotten me most of the way. As it is, I have almost never run into a situation where most of my CS classes have been relevant. And, where they are relevant, it can be covered by a week course in the basics.

I feel the CS curriculum would be much better service for students if it covered more of the knowledge of how to get things done. And not in a faddish, framework du jour manner, but there are constant elements throughout all the fads that a good developer should learn cold, and are not covered very well, at least in my 8 years in CS academia.

IMHO the real problem with CS is that it's driven by AI envy, and much of what is considered important only makes sense in light of the assumption the human mind is basically a computer, and CS is all about how to recreate a human mind. However, almost none of that line of thought matters in the real world, and is most likely false.

Re: Computer Science from the Bottom Up (2016)

#14
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…

I'm assuming you have some concrete curriculum in mind, but I'm curious how what you're thinking of compares to something like the learning objectives spelled out in the CS Curricula 2013[0]?

Personally, going through OP's site, I was nodding my head and comparing it to what I learned in my undergraduate CS degree. Some of it is dated, but most of it connects to the Architecture and Operating System classes I took.

[0] https://www.acm.org/binaries/content/assets/education/cs2013...

Re: Computer Science from the Bottom Up (2016)

#15
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…

That would be an engineering program not a science program. 40 years ago there wasn’t much difference but the field has moved on since then! A number of schools have split the tracks, or offer only a computer engineering program.

Re: Computer Science from the Bottom Up (2016)

#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 people learn.

Regardless, this seems like a nice little document for those 20% of students who are still willing to read supplementary materials. Then again, this is short and clear enough that if it were properly chunked within a course and had graded assignments attached, many students would probably actually skim it.

If you ever want to develop this some more, I hope you'll consider something like Runestone[0], in order to give it some auto-graded questions along the way!

[0] https://runestone.academy/runestone/default/user/login?_next...

Re: Computer Science from the Bottom Up (2016)

#18
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…

*kibibyte

Re: Computer Science from the Bottom Up (2016)

#20
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…

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 a lot of students that way.

That said, in the third year we had a course in analog electronics, which was basically transistors and logic gates.

Following that course was one in digital electronics, where we all built our own little toy 8-bit computer, wiring the CPU ourselves, writing the microcode ourselves. I'll never forget the a-ha moment when you realize that your instruction set are just binary patterns representing which wires to put a current on, which units to toggle on and off. The instruction to move a value from a register to an address in RAM has to look like this, because you need to toggle the read input on the correct register, and the write input on the RAM unit, and everything else has to be off. Blew my mind at the time.

The clock was manual if you wanted to, so you could step through and watch your little CPU run a program, or you could set it to like 1Hz and watch the thing go. And from there, you can sort of get how a modern computer works, it's just a matter of going from 1Hz to 1GHz, wider buses, wider instruction sets, but it's no longer "magic" how the CPU works, it's all ones and zeroes, for a reason, and you now know that reason.

Post reply on HN