@@ -4,30 +4,30 @@ This guide details how to contribute to this repository.
## Contributor license agreement
By submitting code you agree to the [LICENSE](/LICENSE) of this repository.
By submitting code you agree to the [LICENSE](https://github.com/vhf/free-programming-books/blob/master/LICENSE) of this repository.
## Everyone is welcome to add a new free book to the list
Yep, that is true, you and your friends are welcome to add new free books to the list. And by free, we mean free, really free.
And you know what? It's really easy, see below.
## All the steps you need
1. First of all, what you want to add should be actually 'Free'. Don't mistake "An easy link to Download a book" with "Free".
2. If you don't know how to work with git or github, just simply go to [Wiki: Contribution](https://github.com/vhf/free-programming-books/wiki/Contribution) and read the rest.
3. We have 3 kinds of lists. Make sure you know where you're adding the link:
+**Books** : PDF, HTML, DJVU, ePub, a gitBook.io based site, a Git repo, etc.
+**Courses** : A course is a well designed learning material which was made by an organized group and is availabe for a long time where there is no interactive tool embeded in the site. e.g.: [OpenCourseWare](http://ocw.mit.edu/), [PHPAcademy](https://phpacademy.org), etc.
+**Interactive Tutorials** : An application which helps you learn, by actually typing syntax. e.g.: [Codecademy](http://www.codecademy.com/), [Try Github](http://try.github.io/), etc.
## Steps to add a new book
Make sure that you've read [Contribution](https://github.com/vhf/free-programming-books/wiki/Contribution), which guides you to editing a repository. Then:
1. Again, unlike other projects, we prefer multiple small commits rather than one large change in a pull request - it's fine to have one pull request, but please make sure your title reflects what you've changed.
2. Use our standard for formatting the .md file. Check it out: [Formatting](#formatting)
3. Please try to use alphabetic order.
4. We prefer small commits rather than one large commit in a pull request. If you don't have the time to make small commit, add an issue with all the links included and we'll add them for you.
5. Use our standard for formatting the .md file. Check it out: [Formatting](#formatting)
6. Please try to use alphabetic order.
### Formatting
We are adults. Let's respect the next standard.
+ All lists are ```.md``` files. Try to learn Github's Markdown syntax. It's simple!
+ All the lists start with an Index, the idea is to show all of sections and subsections there, so it's important to have an index for each section. Right now it's alphabetized, so please use alphabetic order.
+ Sections are using level 3 heading (in HTML is ```<h3>```, in Markdown is ```###```), and subsections are using level 4 (in Markdown is ####).
+ Sections are using level 3 heading (in HTML is ```<h3>```, in Markdown is ```###```), and subsections are using level 4 (in HTML is ```<h4>```, in Markdown is ```####```).
The idea is to have
+```2``` empty lines between last suggested book & header
+```2``` empty lines between last suggested book & new header
+```0``` empty line between header & first book of that very section.
+```0``` empty line between each book in 1 section.
+```1``` empty line at the end of each ```.md``` file.
- Read the [TODO](/TODO.md) file(Adding new books is our #1 priority, but things like Alphabetizing are important, too.)
-Edit (we prefer multiple small commits rather than one large change)
-[Edit](https://github.com/vhf/free-programming-books/edit/master/free-programming-books.md)(we prefer multiple small commits rather than one large change)
-[Send a PR](https://help.github.com/articles/using-pull-requests)
- be part of a project that over 19,000 people starred in 4 months. ;)
- be part of a project that over 24,000 people starred in 7 months. ;)
**Again, unlike other projects, we prefer multiple small commits rather than one large change in a pull request - it's fine to have one PR, but please make sure your title reflects what you're changing**, thanks.
*[Introduction to Databases](https://class.stanford.edu/courses/Engineering/db/2014_1/about)(Stanford University)
###Haskell
*[CIS 194: Introduction to Haskell](http://www.seas.upenn.edu/~cis194/) - Brent Yorgey
*[CS240h: Functional Systems in Haskell](http://www.scs.stanford.edu/11au-cs240h/notes/) - Bryan O'Sullivan
###HTML / CSS
*[Code a personal splash page in 1 hour: A Hands-on Intro to HTML & CSS](http://www.thefirehoseproject.com/lessons/splash-page)
*[Learn HTML5 Programming From Scratch](https://www.udemy.com/learn-html5-programming-from-scratch/)
###JS
*[Egghead.io](https://egghead.io/)
###iOS
*[Developing iOS 7 Apps for iPhone and iPad](https://itunes.apple.com/us/course/developing-ios-7-apps-for/id733644550)(slides and videos) - Stanford University
###Oracle PL/SQL
*[Steven Feuerstein's PL/SQL Obsession - Videos and Presentations](http://www.toadworld.com/platforms/oracle/w/wiki/8243.plsql-obsession.aspx)
*[Scrum und XP im harten Projektalltag](http://www.infoq.com/resource/news/2007/06/scrum-xp-book/en/resources/ScrumAndXpFromTheTrenchesonline_German.pdf)
*[Scrum und XP im harten Projektalltag](http://www.infoq.com/resource/news/2007/06/scrum-xp-book/en/resources/ScrumAndXpFromTheTrenchesonline_German.pdf)[PDF]
###Action Script
...
...
@@ -36,7 +37,7 @@
###Android
*[Grundlagen und Programmierung](http://www.dpunkt.de/ebooks_files/free/3436.pdf)
*[Grundlagen und Programmierung](http://www.dpunkt.de/ebooks_files/free/3436.pdf)[PDF]
###Assembly Language
...
...
@@ -45,14 +46,14 @@
###C
*[C von A bis Z](http://openbook.galileocomputing.de/c_von_a_bis_z/)
*[Softwareentwicklung in C](http://www.asc.tuwien.ac.at/~eprog/download/schmaranz.pdf)
*[Softwareentwicklung in C](http://www.asc.tuwien.ac.at/~eprog/download/schmaranz.pdf)[PDF]
###C++
*[Die Boost C++ Bibliotheken](http://www.highscore.de/cpp/boost/)
*[Programmieren in C++: Einführung](http://www.highscore.de/cpp/einfuehrung/)
*[Programmieren in C++: Aufbau](http://www.highscore.de/cpp/aufbau/)
* [Softwareprogrammierung in C++] (http://www.iaik.tugraz.at/content/teaching/bachelor_courses/betriebssysteme/downloads/schmaranz2.pdf)
*[Softwareprogrammierung in C++](http://www.iaik.tugraz.at/content/teaching/bachelor_courses/betriebssysteme/downloads/schmaranz2.pdf)[PDF]
###C Sharp
...
...
@@ -65,7 +66,7 @@
###iOS
*[Apps programmieren für iPhone und iPad](http://openbook.galileocomputing.de/apps_programmieren_fuer_iphone_und_ipad/)
*[97 cosas que todo programador debería saber](http://97cosas.com/programador)
*[El camino a un mejor programador](http://emanchado.github.io/camino-mejor-programador/)
*[Videojuegos Multiplataforma con OpenFL](http://www.openflbook.com/)
####Paradigmas de Programación
...
...
@@ -90,6 +99,14 @@
###Android
*[Curso de Programación Android](http://www.sgoliver.net/blog/wp-content/uploads/2011/11/Manual-Programacion-Android-SgoliverNet-v3-muestra.zip)(PDF) by Salvador Gómez Oliver
###C
*[Introducción a la programación con C](http://repositori.uji.es/xmlui/bitstream/handle/10234/24306/s29.pdf)
*[GNU/Linux: Programación de Sistemas](http://www.alcancelibre.org/filemgmt_data/files/programaciongnulinux.pdf)(PDF)
###C++
*[Ejercicios de programación creativos y recreativos en C++](http://antares.sip.ucm.es/cpareja/libroCPP/)
*[Python para ciencia e ingeniería](https://github.com/mgaitan/python-ingenieria)
...
...
@@ -183,12 +202,20 @@
*[Python para principiantes (PDF)](http://www.cursosdeprogramacionadistancia.com/static/pdf/material-sin-personalizar-python.pdf)[(HTML)](http://librosweb.es/libro/python/)
####Django
*[El libro de Django 1.0](http://django-book.mkaufmann.com.ar/)
####Web2py
*[Web2py - Manual de Referencia Completo, 5a Edición](http://www.web2py.com/books/default/chapter/41)
###Ruby
*[Guía para aprender a programar con Ruby. Adaptación al español del libro "Learn to Program" de Chris Pine](https://github.com/rubyperu/aprende.a.programar)
*[Ruby en 20 minutos](https://www.ruby-lang.org/es/documentation/quickstart/)
###Ruby on Rails
####Ruby on Rails
*[El maldito libro de los Descarrilados](http://yottabi.com/mld.pdf)(PDF)
...
...
@@ -202,3 +229,12 @@
*[Optimización Matemática con R: Volumen I](http://cran.r-project.org/doc/contrib/Optimizacion_Matematica_con_R_Volumen_I.pdf)
*[R para Principiantes](http://cran.r-project.org/doc/contrib/rdebuts_es.pdf)
###Scala
*[Escala con Ejemplos](https://github.com/ErunamoJAZZ/ScalaByExample-es)(En proceso)
*[Manual de Scala para programadores Java](http://www.scala-lang.org/docu/files/ScalaTutorial-es_ES.pdf)(PDF)
###SQL
*[Tutorial de SQL](http://www.desarrolloweb.com/manuales/9/)
*[Le SILO: Sciences du numérique & Informatique au Lycée: Oui!](https://wiki.inria.fr/sciencinfolycee/Accueil)
*[Le SILO: Sciences du numérique & Informatique au Lycée: Oui!](https://wiki.inria.fr/sciencinfolycee/Accueil)
###Non dépendant du langage
...
...
@@ -68,10 +67,6 @@
*[Scrum et XP depuis les tranchées](http://www.infoq.com/resource/news/2007/06/scrum-xp-book/en/resources/ScrumAndXpFromTheTrenches_French.pdf), par Henrik Kniberg
####Systèmes Informatiques
*[Systèmes Informatiques (C, Unix/Linux,...)](http://sinf1252.info.ucl.ac.be/), par Olivier Bonaventure ([sources](https://github.com/obonaventure/SystemesInformatiques))
####Théorie des langages
*[Compilation. Théorie des langages](http://www.lisyc.univ-brest.fr/pages_perso/leparc/Etud/Master/Compil/Doc/CoursCompilation.pdf) par Université de Bretagne Occidentale
...
...
@@ -85,7 +80,6 @@
###Caml
*[Introduction à Objective Caml](http://form-ocaml.forge.ocamlcore.org/html/index.html), par Maxence Guesdon
*[Le language Caml](http://caml.inria.fr/)
...
...
@@ -185,7 +179,7 @@ Voir aussi [TeX](#tex)
###Sage
*[Calcul mathématique avec Sage](http://sagebook.gforge.inria.fr/), par A. Casamayou, N. Cohen, G. Connan, T. Dumont, L. Fousse, F. Maltey, M. Meulien, M. Mezzarobba, C. Pernet, N. M. Thiéry, P. Zimmermann
*[Calcul mathématique avec Sage](http://sagebook.gforge.inria.fr/), par A. Casamayou, N. Cohen, G. Connan, T. Dumont, L. Fousse, F. Maltey, M. Meulien, M. Mezzarobba, C. Pernet, N. M. Thiéry, P. Zimmermann
###Scilab
...
...
@@ -203,5 +197,4 @@ Voir aussi [LaTeX](#latex)
###Vim
*[A Byte of Vim](http://swaroopch.com/notes/Vim_fr/)
*[Learn Vim Progressively](http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/)
*[Google Python スタイルガイド](http://works.surgo.jp/translation/pyguide.html) - Amit Patel, Antoine Picard, Eugene Jhong, Jeremy Hylton, Matt Smart, Mike Shields, Kosei Kitahara(翻訳)
*[The Programming Historian](https://sites.google.com/site/theprogramminghistorianja/) - William J. Turkel, Alan MacEachern, @moroshigeki(翻訳), @historyanddigi(翻訳), @Say\_no(翻訳), @knagasaki(翻訳), @mak\_goto(翻訳)
*[1ª Edição - Começar a programar (Março de 2006)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=1)(PDF)
*[2ª Edição - Iniciação à programação em Visual Basic (Maio de 2006)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=2)(PDF)
*[3ª Edição - Segurança e hacking: Scripts NASL (Julho de 2006)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=3)(PDF)
*[4ª Edição - Microcontroladores (Setembro de 2006)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=4)(PDF)
*[5ª Edição - Base de Dados (Novembro de 2006)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=5)(PDF)
*[6ª Edição - Scheme (Janeiro de 2007)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=6)(PDF)
*[7ª Edição - Introdução ao WML (WAP) (Março de 2007)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=7)(PDF)
*[8ª Edição - Windows Vista para Programadores (Maio de 2007)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=8)(PDF)
*[9ª Edição - AJAX & PHP (Julho 2007)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=9)(PDF)
*[10ª Edição - Iniciação ao Assembly x86 (Setembro de 2007)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=10)(PDF)
*[11ª Edição - Programação Concorrente em Ambientes UNIX (Novembro de 2007)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=11)(PDF)
*[12ª Edição - Programação Orientada a Objectos em C# (Janeiro de 2008)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=12)(PDF)
*[13ª Edição - Assinaturas Digitais em XML (Março de 2008)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=13)(PDF)
*[14ª Edição - Reflection (Maio 2008)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=14)(PDF)
*[15ª Edição - Estado de Visualização em ASP.NET (Agosto 2008)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=15)(PDF)
*[16ª Edição - Visual Studio 2008 e .NET Framework 3.5 (Outubro 2008)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=16)(PDF)
*[17ª Edição - Subversion: Controlo total sobre o software (Dezembro 2008)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=17)(PDF)
*[18ª Edição - Cloud Computing (Fevereiro 2009)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=18)(PDF)
*[19ª Edição - Google Web Toolkit (Abril 2009)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=19)(PDF)
*[20ª Edição - Metaprogramação em C++ (Junho 2009)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=20)(PDF)
*[21ª Edição - Construção de Diagramas de Blocos (Setembro 2009)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=21)(PDF)
*[22ª Edição - Computação em Grid (Novembro 2009)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=22)(PDF)
*[23ª Edição - Introdução à Programação para Android (Março 2010)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=23)(PDF)
*[24ª Edição - Introdução a Bases de Dados para Objectos (Junho 2010)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=24)(PDF)
*[25ª Edição - Pong com Slick2D em Java (Setembro 2010)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=25)(PDF)
*[26ª Edição - LINQ:TakeLast, TakeLastWhile, SkipLast e SkipLastWhile (Dezembro 2010)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=26)(PDF)
*[27ª Edição - Introdução ao ASP .NET MVC 3.0 (Fevereiro 2011)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=27)(PDF)
*[28ª Edição - Business Connectivity Services (Abril 2011)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=28)(PDF)
*[29ª Edição - GIT - Controlo de Versões para Pequenos e Grandes Projectos (Junho 2011)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=29)(PDF)
*[30ª Edição - Introdução ao Ruby on Rails (Agosto 2011)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=30)(PDF)
*[31ª Edição - NHibernate (Outubro 2011)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=31)(PDF)
*[32ª Edição - iOS, Cocoa Touch & MVC (Dezembro 2011)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=32)(PDF)
*[33ª Edição - Kinect Hack (Fevereiro 2012)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=33)(PDF)
*[34ª Edição - Mobile World (Abril 2012)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=34)(PDF)
*[35ª Edição - Tema de capa Desenvolvimento de Aplicações Web Ricas (RIA) com Ext JS 4 e Rails 3 (Junho 2012)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=35)(PDF)
*[36ª Edição - As Novidades do Visual Studio 2012 RC (Agosto 2012)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=36)(PDF)
*[37ª Edição - Makefiles (Outubro 2012)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=37)(PDF)
*[38ª Edição - Introdução à Programação em CUDA (Dezembro 2012)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=38)(PDF)
*[39ª Edição - Windows 8 Store Apps - Do sonho à realidade (Fevereiro 2013)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=39)(PDF)
*[40ª Edição - Estruturas vs Objetos (Abril 2013)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=40)(PDF)
*[41ª Edição - Java EE & Java Web (Junho 2013)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=41)(PDF)
*[42ª Edição - Web Persistente/Local Storage (Setembro 2013)](http://www.revista-programar.info/?action=editions&type=viewmagazine&n=42)(PDF)
## Livros
### C/C++
*[Apontamentos de Programação em C/C++](http://www.dei.isep.ipp.pt/~pbsousa/aulas/ano_0/2006_07/c/Sebenta-cpp-03-2006.pdf)(PDF) - Paulo Baltarejo e Jorge Santos