Live data from Hacker News

Current draft of The Art of Computer Programming pre-fascicle 6a [ps]

www-cs-faculty.stanford.edu

101–110 of 116 posts

Re: Current draft of The Art of Computer Programming pre-fascicle 6a [ps]

#101
post #69

I'm wondering if someone should be starting a new generation of TAOCP as wiki. As wonderful as TAOCP is, frankly, first volumes are bit outdated. Many problems that were mentioned opened have had huge progress and many new fields have opened up since their publications. Several Level 50 problems are now being taught in CS Masters or some even Bachelor levels. Besides I really find MIX too arcane and getting in the wa…

If you want to work on solving the problems you're describing, one of the surest paths would be to translate the existing MIX code from the older books to MMIX versions.

I would love to contribute to a new, more open TAOCP that strives to cover a wider range. But I think it will be difficult to organize this.

Re: Current draft of The Art of Computer Programming pre-fascicle 6a [ps]

#102
post #36

I just picked up my father's old copy of vol. 1, Fundamental Algorithms . It's amazing that a book published in 1973 (second edition) can still be worth studying. I'd like to work from the copy I have, largely for sentimental reasons. My father passed away a few years ago, and it feels really good to work from the same book he studied decades ago. Is it reasonable to study the second edition, or should I buy a copy o…

I think getting a copy of the third edition is much better.

It is really worth studying even though sometimes you will be discouraged when answering some of the problems in the book and that would be normal. In fact, reading Donald Knuth's book is difficult but you should not feel bad about it.

Here is a quote from Peter Seibel's book, Coders at Work:

"I try to give the key ideas and I try to simplify them the best I can, but then what happens is every five pages of my book is somebody's career.

In other words, there's still so much more beyond any five pages of my book that you can make a lifetime's worth of study, because there's just that much in computer science."

Re: Current draft of The Art of Computer Programming pre-fascicle 6a [ps]

#103
post #59

Earlier quoted context omitted.

Certainly, if all you're after is a degree (the certificate), not much effort is needed. On the other hand, if you want to, you can get more out of college. Which brings me back to my "good computer science education": it depends a lot on the aims of the student and how she approached her learning. That is not to say that there are no computer science programs that is basically vocational training, nor that there are…

You can say the it's up to the student to put in the effort but that really just sounds like confirmation that it's not part of a college education. If you want more out of an education you have to do it yourself, don't expect much from college. I guess what I'm saying is that an undergraduate CS degree is just a vocational degree. College does not prepare you to read TAoCP. If you want a solid CS foundation you have…

> I guess what I'm saying is that an undergraduate CS degree is just a vocational degree.

I think my undergraduate CS degree contained exactly four courses that I would classify as pure vocational in nature: the first class everyone had to take was to learn to program in Delphi; a class on functional programming; a class on GUI programming; and a class on object oriented programming. After that, all classes were either:

- mathematics, from analysis, statistics, writing/reading proofs, to loads of discrete mathematics

- formal methods, from proving correctness of programs, modeling, to different methods to analyze complex systems

- theory, from automata theory, language theory, compiler theory, database theory, relational algebra, to complexity and computability

- odds and ends, such as ethics, philosophy, history

Then, each trimester, we also had an engineering project where we would have to apply theory. There were no vocational classes associated. If we had to, or wanted to, use a tool, language, system, we had to learn it by ourselves first. Nevertheless, these engineering projects can be seen as vocational in nature too, of course. Still, that makes for about one vocational class a year (of about 15), and three engineering projects a year.

So, when people talk about undergraduate computer science degrees, I always assume their experiences are not dissimilar to mine.

Re: Current draft of The Art of Computer Programming pre-fascicle 6a [ps]

#104
post #52

I've been holding off on reading TAOCP because of the modernized assembly language promised for the next version -- is this at all justified?

I'm not 100% sure about this, but IIRC it'll be quite a while before they plan to rework Volumes 1-3 for MMIX (the new assembly language). Instead two smaller updates have been published, "TAOCP Volume 1, Fascicle 1: MMIX" and "The MMIX Supplement" by Martin Ruckert.

Regarding if it's justified, you might want to look at Knuth's forword to The MMIX Supplement. In short, he says that it's important to have some understanding of all the layers in the computer, and thus learning assembly is time well spent even if you never use it as such.

Re: Current draft of The Art of Computer Programming pre-fascicle 6a [ps]

#105

Earlier quoted context omitted.

To be fair, books on PDF are electronic books. Kindles don't handle them well, but tablets do. Also, I agree with him! ePUB and Kindle markup/typesetting just don't look as good yet, and they certainly can't handle complex mathematics with any amount of grace.

> books on PDF are electronic books. Kindles don't handle them well, but tablets do. Pdfs on current generation kindles (300dpi) look great, actually, as long as they are computer-generated. Scanned documents can be hit-or-miss, though.

Really? Last I tried, it'd display a page at a time, leaving you to scroll around. Particularly terrible with 2 column layouts like those loved for papers.

Re: Current draft of The Art of Computer Programming pre-fascicle 6a [ps]

#106
post #100

Earlier quoted context omitted.

college coincides with the most callow years of your life, when you scarcely know the value of time, or the opportunity you are about to squander THIS IS THE BEST COMMENT YOU WILL READ TODAY, IF NOT THIS WEEK!!!! Sorry for the all caps, but "truer words were never spoken". So, anyone reading this who hasn't gone to college or who hasn't yet graduated, heed those words. You will thank the poster perhaps 30 years later…

“I see it all perfectly; there are two possible situations — one can either do this or that. My honest opinion and my friendly advice is this: do it or do not do it — you will regret both.” ― Søren Kierkegaard, Either/Or: A Fragment of Life Thus, follow your heart- dwell not on what you did, nor on what you do, but listen to what you need. Long after, look back, and see, more clearly, what you need now.

I won't say you're wrong, but I still think I'd rather regret having gone to school than, as I do now, regret having not gone; not that I haven't done rather well for myself, so much as that I'd have liked to do more -- I've learned from experience that the ancestor comment, about how much you have to make up, to be absolutely true; however autodidactic you happen to be, there's a lot of value in the distilled knowledge university courses can provide, and only so many hours in a day -- and days in a lifetime -- besides.

Re: Current draft of The Art of Computer Programming pre-fascicle 6a [ps]

#107
For Windows users the incantation to get a version with fonts that aren't great but readable is this:

gswin64 -sDEVICE=pdfwrite -o fasc6a.pdf fasc6a.ps

You can get ghostscript here: http://www.ghostscript.com/download/gsdnld.html and you will need it on your path.

If you want nicer fonts you can download your preferred latex distribution (miktex is easy to install but big) and your preferred perl distribution (ActivePerl maybe). Then you can run pkfix (which you may need to install) on the ps file like this:

pkfix fasc6a.ps fasc6a-pkfix.ps

Finally you can run

gswin64 -sDEVICE=pdfwrite -o fasc6a-pkfix.pdf fasc6a-pkfix.ps

Which will give you a pretty nice pdf.

Re: Current draft of The Art of Computer Programming pre-fascicle 6a [ps]

#108
post #85

Earlier quoted context omitted.

This. You realise the value of the time you pissed away only when it's too late. Unfortunately, college coincides with the most callow years of your life, when you scarcely know the value of time, or the opportunity you are about to squander. Sigh...

college coincides with the most callow years of your life, when you scarcely know the value of time, or the opportunity you are about to squander THIS IS THE BEST COMMENT YOU WILL READ TODAY, IF NOT THIS WEEK!!!! Sorry for the all caps, but "truer words were never spoken". So, anyone reading this who hasn't gone to college or who hasn't yet graduated, heed those words. You will thank the poster perhaps 30 years later…

One of my friends has loaned some books to my other friend's brother at the beginning of the year.

The year being over, I asked my friend if his brother is done with the books. He got back to me saying that his brother asked if I was in 1st year, and that he was surprised when he learned that I graduated and still studying.

I had a chance to talk with him yesterday (well, this morning at 4 AM), we were seven people at my friend's.

I said that not working harder than I did back in college is a mistake I am paying the price for today. I urged him to work harder than he is for he will later regret it with hot tears. I said that right now, he's in a cocoon where nothing is expected of him except to study, which he should do vigorously, relentlessly, and constantly. He has no other obligations or pressure other than to learn and become excellent. I said if I was asked to kill ten people to be able to go back a decade, I would kill an additional two to show how thankful I am for the bargain.

I tried to convey the message because he didn't fully grasp that time wasted is never, ever coming back. That once it's gone, it is forever. That it is the only thing we own only for its very duration, not a second more.

I hope he understood. There was a fleeting expression of realization after the chuckles that I hope will grow.

Re: Current draft of The Art of Computer Programming pre-fascicle 6a [ps]

#109
post #29

Earlier quoted context omitted.

I vastly prefer HTML with searchable text, easy copy-pasting capability, easy indexability, etc. to PDF with its outdated printed-page metaphor. On the other hand, it's Knuth and TAOCP, so I can't really complain much.

Better for you. Not better if you're writing and publishing a book.

That's a good point.

Books.... that's what our forefathers used in the distant past, right.

Re: Current draft of The Art of Computer Programming pre-fascicle 6a [ps]

#110
post #55
post #54

Earlier quoted context omitted.

I would argue that anyone who can read and understand TAOCS in its entirety is extremely privileged. Even if the entire CS curriculum was just "Read TAOCS", only the most motivated and hard-working students would make it through. TAOCS is enormous and a lot of the content is dense; even if it is possible for anyone with a ( good ) CS degree to digest, finding the time to do so would constitute a significant life comm…

I agree with you. It might make for an interesting course: the teacher develops instructional materials fitted for the class she's teaching, using Knuth's chapter as a reference and foundation, guiding and challenging students to dig deep on this topic. I'd like such a class, both as a teacher and a student, I think.

I have thought a lot about this.

The primary benefit of TAOCS is that it's self-contained and all written in the same voice/style. It's much higher quality than a lot of other texts on the subjects it covers, but a given chapter is not necessarily that best text for the given topic.

It would be really cool if there were a "TAOCS" elective offered every single semester, just for the sake of fun. I would love to teach a course like that. I think it would work really well for e.g., an honors program ("to get honors in the major, one option is to enroll in this course for 4 consecutive semesters")

More generally, I think the policy that courses should use TAOCS where a chaper exists for the topic at hand would certainly increase the quality of courses at non-top CS programs (certainly, it would have at mine).

But in general, there are often texts that do a better job at covering a topic. E.g., this is a really interesting chapter, but I think there are probably better introductory texts on SAT (entirely subjective, of course).

Which is to say, if I know the area well then I will probably not use TAOCS. But if I don't then TAOCS is a safe choice.

Post reply on HN