Recently we at FYCSP had an ask about AP Computer Science and if there were any books which could be used to learn Java. So, as a series/menial task which I feel many of our followers here at FYCSP will enjoy, I have collected and uploaded various intro-level books.
Introductory level books for Java, C, C++, Python(2.X and 3), and Perl. All books are those used in intro level classes at universities or widely used, highly recommended books.
All books except for Cozens’s Beginning Perl are hosted on open-to-the-web Google Docs (unfortunately K.N. King’s C Programming: A Modern Approach and Deitel and Deitel’s C++: How to Program are too large and lack previews (you can still download them though))
A Guide to Programming in Java (Beth Brown)
This is the book that I used in AP CompSci last year. It’s a great introduction into Java and it covers most of the skills you would need to study for the AP CS exam (although it does lack the case studies such as GridWorld, but you can get those on the CollegeBoard APCS site).
C Programming: A Modern Approach (K.N. King) (No preview, must download PDF)
A textbook used at over 200 colleges, this book and the K&R book below have formed the alpha and omega of C textbooks for the past 10 years. Definitely a good book for both beginners and intermediate level coders.
The C Programming Language (Brian Kernighan and Dennis Ritchie)
Known as the K&R book in many circles, The C Programming Language was written by Both Brian W. Kernighan and Dennis Ritchie, the developers of C. This book has been the bible of C for over 20 years and is not only good for beginners, but it also teaches a great deal of how to be a good programmer.
C++ Primer Plus, fifth edition (Stephen Prata)
C++ Primer Plus (ironically not C++ Primer) has set itself over the last 20 years as the book to learn C++ from. It’s easy to learn from as Prata laces the book with great explanations and humor and if you are new to C++, this is definitely the book for you.
C++: How to Program (Harvey Deitel & Paul Deitel) (No preview, must download PDF)
A much more complete introduction to C++ than C++ Primer Plus, you go from the basics all the way into C++. C++: How to Program, though, is definitely for you if you don’t have prior experience for coding, as the book is definitely aimed at teaching to someone with no experience, unlike most of the earlier C++ books which aim to convert C knowledge into C++ coding.
A Byte of Python for Python 2.X (Swaroop C H)
A Byte of Python (Swaroop C H)
A Byte of Python is an introduction level book to Python. As a whole it teaches to the level who does not know how to program, but with it, you should be able to grasp the fundamentals of Python, enough to start experimenting and move onto more difficult matters.
Beginning Perl (Simon Cozens)
Simon Cozens’s Beginning Perl is a great book for beginners because most Perl manuals out there go from basic to difficult techniques in a matter of pages, but Cozens seems to be able to pace the learning experience just right. It falls short in various areas, but for a beginner, Beginning Perl is definitely the book to start with.
Picking Up Perl (Bradley M. Kuhn)
Possibly one of the most widely distributed textbooks of Perl on the internet, it’s hard to go bad with both Picking Up Perl and Cozens’s Beginning Perl to augment each other.