This is basically the equivalent of SICP for the scripting world.
Shameless plug, but highly relevant: I'm trying to make 'git as a platform' more accessible for non-programmers with a project I'm working on - http://www.penflip.com. Wrote about it in detail here: http://madebyloren.com/github-for-writers
Glad to discuss it further if anybody's interested.
I wonder a little about that text's status as a freely available draft and whether it would be kosher to distribute the pdf if that site disappears.
It lacks any sort of underlying narrative or structure--I think this is common with algorithms texts in general. Probably why I didn't like the course much. It feels like a bunch of disjoint topics held together very loosely by some techniques that get repeated a bit.
I compare it very unfavorably to Sispser's Introduction to the Theory of Computation which, I felt, was much more coherent as a book. It's not a fair comparison at all because they're about different (although related) subjects, but I think it neatly illustrates my point.
Also, I don't believe Sipser's book is free, so it's not entirely relevant in that sense either. I just brought it up because I think it's the best example of the underlying narrative and structure I was talking about.
(To keep this on topic, my assembly instructor -- the legendary [to NC State students] Dana Lasher -- posts his course pack online.  It's a comprehensive introduction to computer architecture topics and original 8086 assembly programming.)
As far as x86 assembly goes, I found Kip Irvine's book to be pretty great. (not free) It's not a subject I would want to spend more time on, though.
Coincidentally I just signed up for Ullman's Automata course at Coursera. The description makes it seem pretty basic but I'm interested to see what he does with it.
Some people might find it as a downside but the book was written with Java in mind. I personally didn't mind this at all.
I used Aho, Hopcroft, and Ullman's two Algorithms books in class. They are old but extremely good. If you want to buy dead tree books they're available used for a very low price.
Hope that helps.
(I didn't really mean to recommend Sedgwick's stuff. As I said, I just think it's not bad.)
We used this in our upper-division intro to algorithms course. Solid book, goes over important algorithms while remaining short and concise, A+ would read again.
I thought the text (and class) was pretty good, although I'm sure being in the class helped. You should definitely have some experience with basic data structures, discrete math and graph theory before diving into it.
Another great list of books for programming languages/tools/frameworks/gen dev
I had to look up what _allongé_ meant as I've never heard it ordered. It sounds like the perfect drink.
"coffee beverage made by using an espresso machine to make an espresso (single or double dose or shot) with much more water (generally twice as much), resulting in a stretched espresso"
I've had this SO list in my bookmarks for long enough, and there were more and more dead links in it. I felt the need to move it to github in order to keep it up-to-date and to augment it.
I apologize if the intention or original source were not made clear.
A resource like this doesn't fit their model, even if you strain it by trying to invent a question that appears to fit their format.
"This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed."
The list of best programming books may not be totally objective, but the wisdom of the crowds just should be enough to filter out what's good from what's bad. When mods lock the allegedly non-objective questions, they force content to become stale and rot - but still showing up at the top of search engines.
I have given you an upvote
This is where the resources has moved to.
I couldn't find this url in this post and it made me pretty happy when I found it. A website full of IT book which can be downloaded for free.
I prefer focusing on one subject or programming language, search the internet for feedbacks and reviews, select the one book (free or not) that fits my needs and read that one. I'm consequently more informed about what my further needs are: do I want to learn more about this programming language? Or about a different but complementary one? Or do I need to reach for a more language-agnostic topic?
It's the usual "quality over quantity" issue, that prevents yourself from taking no decision at all when facing too many options.
you need to do your research and select that one right book and work through it. If in the middle of a book you think you're not making good progress, you should just drop it and find another one.
Doesn't it depend on what specifically you are trying to learn?