
List of freely available programming books - parallel
http://stackoverflow.com/questions/194812/list-of-freely-available-programming-books
======
tryitnow
There are several lists like this floating around, but this one is just
amazingly comprehensive. Reading a subset of these books (and actually
building stuff with the knowledge gained) will most likely provide one with a
better education than all but the top-tier computer sci programs.

And the cost is $0. Now one might argue that a college cuts down on the time
it takes to select courses, find and work with other students, get access to
mentors, etc. But I doubt it. Whatever learning inefficiencies colleges
address, other inefficiencies more than counteract those gains.

Consider that colleges also force you to spend more time on classes you could
complete more quickly on your on, plus all the required coursework that might
be completely unnecessary for your goals.

~~~
unalone
I never pursued a comp sci degree in college, and it's possible that you're
right, their subject matter is so basic you don't need to actually take
classes to learn the content. I guess you could further argue that sites like
Hacker News are so good at helping you meet like-minded coders that literally
living with people who have the same passions doesn't yield the same reward
that it used to.

That said:

> plus all the required coursework that might be completely unnecessary for
> your goals.

These were the courses I have become most thankful for at college. I've taken
courses on religion, existentialism, the history of the Enlightenment, an
analysis of film genres, a course on silent cinema, a flamenco course, and a
number of other classes which each incidentally taught me a new way to look at
the world. A liberal arts education is a valuable thing, and it's so much
easier to grasp its meaning when you're guided there by a number of skilled,
caring professors than when you try and read your way to the same goal. I have
no doubt that one day people will create a virtual experience that duplicates
or improves on what my college experience has been like, but so far nothing
comes close.

In fact, one of my only regrets at college was that it _didn't_ make math or
science courses mandatory. I'm regretting more and more that my science
knowledge was a high school year of biology, chemistry, and physics apiece. I
suspect that taking college courses in the sciences would have exposed me to
teachers talented enough to make learning those subjects worthwhile. And it's
difficult to search for books about rekindling your passions in the sciences;
I find the field pretty obscure and not at all easy to navigate on my own.

~~~
tryitnow
I agree that these courses were some of the most valuable. For me a course in
Eastern Religions was one of the most eye-opening.

However, there's nothing stopping someone from taking these courses later in
life (I've known single moms working 50+ hours who make time for education
"just for the sake of learning" so no excuses).

I think where we disagree is in requiring people to do one things (liberal
arts learning) while their clear priority is to do something else (get a job
to survive in this economy). I think that's unfair, even to college students,
who can be an admittedly obnoxious bunch. Forced product bundling rarely has
the effect it's intended to have. Sure, there may be some people who learn
something neat from a class they're forced to take, but there are a lot more
who learn nothing and are simply delayed in achieving their goals.

Why should students from poor families be forced to pay for something that
economically secure college administrators insist is for their own good when
all the student is trying to do is make a better living for himself than his
parents had?

In that light forcing students to take these class is rather morally
repugnant. It's tantamount to a tax inflicted on people to pay for more
product than they want.

~~~
unalone
Good arguments. I'm extremely fortunate and have been able to attend a costly
4-year college without debt; I have a tendency to take my time here for
granted, which I absolutely shouldn't. I feel that it would be wrong of a
college that professes to teach a deeper education not to require a breadth of
learning from its students, but again, my perspective is unfairly privileged
and I'm not thinking in any sort of cost-efficient manner.

------
hexagonc
One free book that I like is "The Z Notation: A Reference Manual" by Spivey.
You can get a pdf version for free at
<http://spivey.oriel.ox.ac.uk/~mike/zrm/zrm.pdf>. I would say that learning Z
Notation had a bigger impact on my ability to understand and model software
than anything else. It isn't exactly programming but it will teach you how to
be a better software engineer. I never used it to prove program correctness or
refinement but rather to express the relationships between the parts of a
software system. It made me better at object oriented modeling.

~~~
cturner
I've been looking for something like this for a long time - thanks. I'm also
interesting in finding something that operates at a level removed from this -
making diagrams of the creative process itself, as you go down routes and
reach dead ends, and then fork from an earlier path. If readers know of
anything like this please let me know.

~~~
hexagonc
I've been interested in precisely this same question. I don't know that there
are any books that cover that. If there are, I'd also be interested in reading
them. As far as visually modeling a creative process, mindmaps or concept maps
are the closest. Tony Buzan has written a number of books on Mindmapping.

If you have an Android or iOS device, there are many apps for mindmapping and
concept mapping available but I don't know if they are comprehensive in the
way that you are looking for, especially for backtracking and annotating
failures and routes to avoid. Also, many desktop diagramming software, like
ConceptDraw, have templates for mind/concept mapping. Microsoft Visio is a
possibility too, although it is more expensive.

~~~
cturner
Yeah I've got a notation that's kind of based on mind maps. I put 'standing
stones' in the middle of a whiteboard to represent desired outcomes, and then
try to create a path from the edge of the whiteboard into the stones.

It's useful to track where your dead ends are for further discussion. Someone
else comes along and says "why didn't you just do this?" and you can't
remember why, just that there was what seemed like a good reason at the time.

------
scscsc
Whenever I see lists like this, I think:

\- why doesn't it read "list of _good_ programming books"? (the more the
merrier, but how about quality?)

\- how can such a huge list help anyone? Certainly no-one will read a
significant percentage of them.

I'm all for free quality content, but these lists seems to be just for
collectors.

~~~
oceanician
I guess someone could take the list, and put a rate up next to each book to
see which ones people think are actually the quality books.

I still rate paper books over scanning through pdf for a solution or fix to a
book. I'm definitely wrong though as the rest of the world values
searchability over knowledge.

------
zacharypinter
Sigh... I guessed even before clicking the stackoverflow link that the topic
would be locked/closed. It seems like every time I find something really
interesting on stackoverflow I can count on it being closed.

I realize the moderators are trying to restrict things to specific questions
with specific answers, but it's damn frustrating. Why can't they find a way to
take advantage of the open-ended questions that you really want a community of
programmers to answer?

------
gfodor
"Mining of Massive Datasets" and "Introduction to Information Retrieval" are
both excellent college-level texts to their respective subjects.

Also, _the_ machine learning book is available for free, "Elements of
Statistical Learning":

[http://www-stat.stanford.edu/~tibs/ElemStatLearn/download.ht...](http://www-
stat.stanford.edu/~tibs/ElemStatLearn/download.html)

------
AndreasBWagner
<http://www.reddit.com/r/csbooks>

------
dylangs1030
In the spirit of freely available learning material, here's this
<http://hackety-hack.com/>. It's a good guide for people who want to learn
with a visual aid in real time, as opposed to reading rote literature off a
screen. In that sense, it's good for rudimentary basics a beginning
programming student would need to understand before they could visualize
what's being said in the literature in more complicated manuals, without the
visual aid. It's recent, so there aren't many lessons available yet, but the
authors are updating more in the future. Thanks for this parallel. Very useful
for learning other languages.

------
mugsydean
Our educational system is so antiquated. If they could only teach kids how to
be self motivated. I know when I was young, I didn't care about making grades,
but to have the power to write video games was prety damn cool. Videogames
101, robotics 101, those should be a high school electives, kids would love
it.

~~~
bountie
I remember having an excel class in high school as a required elective.
Spreadsheets are important of course. It's amazing how many white collar
office people still don't know the basics of it -- but how hard is it to fit
in two weeks of simple scripting? I think kids learning even just the bare
mechanics of programming could be better off

------
mark_l_watson
Great list. My office bookshelves are overflowing, with 4 large stacks also on
the floor - about half are technical books. I would like to see which of my
physical books I can toss because they are available online.

------
jorgecastillo
This is a lifesaver, just what I was looking for. I tried google searching for
something similar, but some how I never found this list, and only found
useless links. Thanks.

------
ggwicz
Brilliant! Scalable and modular CSS is a great read. Some good practices for
anything where you're structuring files period, not even just CSS. Great list.

------
jim_lawless
See brief, older discussion:

<http://news.ycombinator.com/item?id=1444890>

------
jwallaceparker
Dive into Python

<http://www.diveintopython.net/>

~~~
jonathansizz
That's already on the list, but thanks anyway.

------
ale55andro
This is a nice compilation. Thanks!

