Here are 4 more free online books, one each will help you learn Java and Perl; and the other 2 will teach you important programming techniques and how to think like a developer.
Bleeding at the Keyboard: A Guide to Modern Programming with Java:
http://www.roxie.org/books/bleeding/tableofcontents.html
A free 16 chapter book on learning how to program in Java. It is broken into 3 parts: 1) Learning About Objects, 2) Learning About Types, and 3) Designing Programs. Another good book on learning Java is How to Think Like a Computer Scientist, Java Version: http://www.ibiblio.org/obp/thinkCS/java/english/
Other versions are here: http://www.ibiblio.org/obp/thinkCS/.
Perl 5 By Example:
http://www.codebits.com/p5be/
Teach yourself Internet programming and CGI scripting -this book teaches you how to use the Perl programming language by showing examples that demonstrate the concepts being discussed. The examples are designed to give you a chance to experiment-which in turn should clarify the material.
A Practical Theory of Programming:
http://www.cs.toronto.edu/~hehner/aPToP/
A 12 chapter book you can download in 4 parts, each one a pdf file. Lecture slides are also available in pdf format. The book covers the following:
1. Basic Theories
2. Basic Data Structures
3. Function Theory
4. Program Theory
5. Programming Language
6. Recursive Definition
7. Theory Design and Implementation
8. Concurrency
9. Interaction
Algorithms and Complexity:
http://www.cis.upenn.edu/~wilf/AlgComp.html
This is the first edition of this book, in the form of a single 1.1 Mb pdf file. Here is the link to download it:
http://www.math.upenn.edu/%7Ewilf/AlgoComp.pdf