Coding for Fun and Profit for Beginners: Free Book Recommendations
I am often asked for recommendations on how to learn the programming trade and especially which books yield the best results. Over the years with both students and clients, I have found books that work tend to be based on very personal taste. First, I recommend you go to your favorite big box book store, and carry as many books as you can to a table (or sit on the floor!) and find what works for you. Second, here is a short list of free books on the net:
Wikibooks: http://en.wikibooks.org/wiki/Non-Programmer’s_Tutorial_for_Python/Intro
A Byte of Python: http://www.swaroopch.com/notes/Python
CSharp Basics: http://www.vijaymukhi.com/documents/books/csbasics/contents.htm
Thinking in Java: http://www.mindview.net/Books/TIJ/
MIT Open Courseware: http://ocw.mit.edu/
Read the Docs Directly (highly recommended): Python, Java, C#
Code Complete by Steve McConnell: http://www.amazon.com/Complete-Microsoft-Programming-Steve-McConnell/dp/1556154844 – Ok, this is not a free one, but is on the desk of every coder I know – it is pro-forma.
To get the most training, you are going to need to work with other people either in person or via the web. The advantages of getting training in person are all the things you would not pick up on otherwise learning on your own: an instructor with his/her resources, the other people’s questions/mistakes/insights and also a sense of community. Finally, on a related note, we are doing free programming training at my office in Venice every Monday. Tonight is Django and next is Microsoft .NET if you would like to join us.
Learning programming is more about just doing it than anything else; if you aren’t getting frustrated by a compilier at some point, you aren’t doing it right! As Thomas Edison once said, “Opportunity is missed by most people because it is dressed in overalls, and looks like work.” Programmers, and fellow Zulu-ers, please feel free to add your 2 cents in on which books work for you!