Free Software and Programming eBooks Online
Here is a list of online books about Programming Languages and Software in various formats available for free :
- A Byte of Python by C.H.Swaroop. A nice introduction.
- ACM online Books & Courses. Free for ACM members.
- Algorithms for Programmers by Jörg Arndt. Nice open project and a book (pdf, 970 pp).
- ARM Assembly Language Programming by Pete Cockerell.
- Autoregressive Modeling: Elementary Least-Squares Methods by H.Thornburg.
- C++: A Dialog, a nice text by Steve Heller.
- C++ GUI Programming with Qt 3 by Jasmin Blanchette and Mark Summerfield.
- Clever Algorithms: Nature-Inspired Programming Recipes by Jason Brownlee.
- Compiler Construction by N.Wirth.
- Computational Introduction to Number Theory and Algebra by Victor Shoup.
- Computer Architecture and Interfacing to Mechatronic Systems by Dario J.Toncich.
- Convex Optimization by Stephen Boyd and Lieven Vandenberghe.
- Cross-Platform GUI Programming with wxWidgets by Julian Smart, Kevin Hock andStefan Csomor. Find PDF here
- Data Structures and Algorithms with Object-Oriented Design Patterns in C++
by Bruno R.Preiss. Also available in Java, C#, Python, Ruby, Lua, Perl, and PHP. - Dive into Python by Mark Pilgrim.
- Designing and Building Parallel Programs by Ian Foster.
- Dreistufig parallele Software zur Parameteroptimierung von Support-Vektor-Maschinen mit kostensensitiven Gütemaßen, NIC Volume 35, by Tatjana Eitrich. In German.
- Entropy and Information Theory by R.M.Gray.
- Eric’s Book about Linux by Eric Forsberg.
- Erkennung von Nichtlinearitäten und wechselseitigen Abhängigkeiten in Zeitreihen, NIC Volume 6, by Andreas Schmitz in German.
- Essential Skills for Agile Development by Tong Ka Iok.
- Extreme Programming in Perl by Robert Nagler.
- FORTRAN 90 and Computational Science by Computational Science Education Project.
- Foundations of Cryptography by Oded Goldreich
(related and complementary postsript texts). - FreeBSD Handbook .
- From Computational Biophysics to Systems Biology (CBSB07), NIC Volume 36,
Edited by U.H.E.Hansmann et al. Proceedings of CBSB07. - Graph Algorithms by Shimon Evan (Chapters 1-6, .ps format).
- Handbook of Applied Cryptography by Alfred J.Menezes, Paul C. van Oorschot
and Scott A.Vanstone. - Information Theory, Inference, and Learning Algorithms, by David MacKay.
- Intel ® 64 and IA-32 Manuals. A set of 9 PDF manuals covering all Intel microprocessors.
- Introduction to Statistical Data Processing by R.M.Gray and L.D.Davisson.
Courtesy Cambridge University Press. - Java by Definition (JBD) at MathCS.org, a textbook by Bert G.Wachsmuth.
- Lexical Analysis and Parsing using C++
by Bruno R.Preiss. 390-page PDF. - Logic for Computer Science: Foundations of Automatic Theorem Proving
by Jean Gallier. Wiley 1986. Revised 2003. - Machine Learning, Neural and Statistical Classification,
edited by D.Michie, D.J.Spiegelhalter and C.C.Taylor. - Mathematical Optimization by the Computational Science Education Project. Online HTML/PS book on unconstrained and global optimization. Very good!
- Mathematics for Algorithm and Systems Analysis
by Edward A. Bender and Gill S. Williamson. - Maximum Security: A Hacker’s Guide to Protecting Your Internet Site and Network
Sams 1997, by Mark Taber, pure HTML version. - Multiparadigm Programming with Object-Oriented Languages, NIC Volume 13,
Edited by J.Striegnitz et al. Proceedings of MPOOL Workshop, 11 June 2002, Malaga. - Multiparadigm Programming with Object-Oriented Languages, NIC Volume 7,
Edited by C.Bischof et al. Proceedings of MPOOL Workshop, 18 May 2001, Budapest. - NIC Symposium 2006, NIC Volume 32,
Proceedings edited by Münster et al. High-end scientific computing. - NIC Symposium 2001, NIC Volume 9,
Proceedings edited by Horst Rollnik and Dietrich Wolf. High-end scientific computing. - NIC Workshop: From Computational Biophysics to Systems Biology 2006,
NIC Volume 34, edited by U.H.E.Hansmann et al. Proceedings of CBSB06. - Numerical Methods and Analysis for Engineers by Douglas W.Harder.
- Numerical Methods for Limit and Shakedown Analysis, NIC Volume 15.
Edited by Manfred Staat and Michael Heitzer. - Numerical Recipes by Press W.H., Teukolsky S.A., Vetterling W.T., Flannery B.P.
Subscribe to the newest C++ verion, or consult chapters of older versions. Excellent. - Object-Oriented Reengineering Patterns
by Serge Demeyer, Stéphane Ducasse, and Oscar Nierstrasz. - Object-Oriented Software Composition, edited by Oscar Nierstrasz and Dennis Tsichritzis.
- On LISP by Paul Graham.
- Parallel Computing: Architectures, Algorithms and Applications, NIC Volume 38,
Edited by C.Bischof et al. Proceedings of ParCo 2007 Conference, 4-7 Sep 2007. - Parallel Computing: Current &anp; Future Issues of High-End Computing,
NIC Volume 33, edited by G.R.Joubert et al. Proceedings of ParCo 2005 Conference. - Parsing Techniques – A Practical Guide by Dick Grune and Ceriel J.H.Jacobs.
1st Edition printed in 1990 by Ellis Horwood. - Planning Algorithms by Steven M. LaValle (1023 pages, Cambridge Uni Press 2006).
- Practical Common Lisp by Peter Seibel.
- Practical PHP Programming by Paul Hudson (it even became a wiki)
- Programming in Oberon by M.Reiser and N.Wirth.
- Project Oberon – The Design of an Operating System and Compiler
by N.Wirth and J.Gutknecht. - Rethinking Public Key Infrastructures and Digital Certificates: Building in Privacy
by Stefan Brands. - Rough Set Data Analysis: A road to non-invasive knowledge discovery,
a primer by Ivo Düntsch and Günther Gediga. - Security Engineering: A Guide to Building Dependable Distributed Systems by Ross Anderson, Complete 1st Edition and selected Chapters of 2nd Edition.
- Sequential Simplex Optimization by Fred H.Walters, Lloyd R.Parker Jr., Stephen L.Morgan and Stanley Deming.
- Structure and Interpretation of Computer Programs a free course at MIT Open Courseware. Based on the printed book by H.Abelson and G.J. and Julie Sussman .
- Sorting and Searching Algorithms: A Cookbook by Thomas Niemann.
Attention: Updated and expanded version of this free book is available from ePaperPress
in 4 languages (English, Russian, Italian and French). - Statistics: Methods and Applications by Thomas Hill and Paul Lewicki at StatSoft.
- System/360 Scientific Subroutine Package Programmer’s Manual, Version III
an online re-edition of the now historic 1968 IBM document. - Tcl Wise a Tcl/Tk book with 10 free Chapters online; by Salvatore Sanfilippo.
- Tcl/Tk Tutorial by Binny V.A..
- Technical Reports of the Computer Laboratory of the University of Cambridge.
This is much more than a book: over 700 freely accessible PDFs. - The Matrix Cookbook, a free mathematical desktop reference on matrices
by Kaare B.Petersen and Michael S.Pedersen. - Thinking in C++ by Bruce Eckel. 2nd Edition, Volumes 1 & 2.
Also available: Annotated Solutions Guide for Thinking in C++. - Thinking in Java by Bruce Eckel. 3rd Edition.
Also available: Annotated Solutions Guide for Thinking in Java. - Three books by Ian Parberry:
– Problems on Algorithms,
– Parallel Complexity Theory,
– Lecture Notes on Algorithm Analysis and Computational Complexity. - Ynot Logic Simulator: A literate C++ program by Bruno R.Preiss.
Source code is also available