📚 Freely available programming books
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

352 lines
12 KiB

### Index
* [Ada](#ada)
* [Android](#android)
* [Bash](#bash)
* [C](#c)
* [C#](#c-sharp)
* [C++](#cpp)
* [Clojure](#clojure)
* [Cloud Computing](#cloud-computing)
* [CoffeeScript](#coffeescript)
* [Dart](#dart)
* [Data Science](#datascience)
* [Erlang](#erlang)
* [Git](#git)
* [GLSL](#glsl)
* [Go](#go)
* [Haskell](#haskell)
* [HTML / CSS](#html--css)
* [Bootstrap](#bootstrap)
* [Java](#java)
* [JavaScript](#javascript)
* [AngularJS](#angularjs)
* [jQuery](#jquery)
* [React](#react)
* [Kotlin](#kotlin)
* [Language Agnostic](#language-agnostic)
* [Operating Systems](#operating-systems)
* [LaTeX](#latex)
* [Lisp](#lisp)
* [MATLAB](#matlab)
* [Node](#node)
* [NoSQL](#nosql)
* [Objective-C](#objective-c)
* [Ocaml](#ocaml)
* [PHP](#php)
* [PostgreSQL](#postgresql)
* [Python](#python)
* [R](#r)
* [Ruby](#ruby)
* [Rust](#rust)
* [Scala](#scala)
* [Selenium](#selenium)
* [SQL](#sql)
* [Vim](#vim)
### Ada
* [Introduction to Ada](https://learn.adacore.com/courses/intro-to-ada/index.html)
### Android
* [Android Tutorial](https://www.tutlane.com/tutorial/android) - tutlane
* [Javatpoint Android Tutorial](https://www.javatpoint.com/android-tutorial)
### Bash
* [Help messages will explain everything](https://explainshell.com)
* [Learn Shell Programming](http://www.learnshell.org)
### C
* [Learn C](http://www.learn-c.org)
### C Sharp
* [C# Tutorial](https://www.tutlane.com/tutorial/csharp) - tutlane
* [C# Tutorial](https://www.w3schools.com/cs) - W3Schools
* [Codeasy](https://codeasy.net/course/csharp_elementary)
* [Learn C#](http://www.learncs.org)
* [Learn C#](https://www.codecademy.com/learn/learn-c-sharp) - Codecademy
<h3 id="cpp">C++</h3>
* [C++ Tutorial](https://www.w3schools.com/cpp) - W3Schools
* [CppKoans](https://github.com/torbjoernk/CppKoans)
### Clojure
* [4Clojure - Koans](http://www.4clojure.com)
* [Clojure Koans](http://clojurekoans.com)
* [ClojureScript Koans](http://clojurescriptkoans.com)
* [Try Clojure](http://www.tryclj.com)
### Cloud Computing
* [AWS API Gateway](https://run.qwiklabs.com/focuses/269?catalog_rank=%7B%22rank%22%3A3%2C%22num_filters%22%3A1%2C%22has_search%22%3Atrue%7D&parent=catalog&search_id=3605949) - *registration required*
* [AWS Identity and Access Management (IAM)](https://run.qwiklabs.com/focuses/7782?catalog_rank=%7B%22rank%22%3A6%2C%22num_filters%22%3A1%2C%22has_search%22%3Atrue%7D&parent=catalog&search_id=3605942) - *registration required*
* [AWS Lambda](https://run.qwiklabs.com/focuses/6431?catalog_rank=%7B%22rank%22%3A2%2C%22num_filters%22%3A1%2C%22has_search%22%3Atrue%7D&parent=catalog&search_id=3605949) - *registration required*
* [AWS Simple Storage Service (S3)](https://run.qwiklabs.com/focuses/7860?catalog_rank=%7B%22rank%22%3A3%2C%22num_filters%22%3A0%2C%22has_search%22%3Atrue%7D&parent=catalog&search_id=3597563) - *registration required*
* [Google Cloud Platform](https://cloud.google.com/training/free-labs/)
### CoffeeScript
* [Coffeescript Style Guide](https://github.com/polarmobile/coffeescript-style-guide/blob/master/README.md)
* [Smooth CoffeeScript, Interactive Edition](http://autotelicum.github.io/Smooth-CoffeeScript/interactive/interactive-coffeescript.html)
### Dart
* [Dart Official Codelabs](https://dart.dev/codelabs)
### Data Science
* [Data Science Foundations - IBM SkillBuild](https://skillsbuild.org/students/course-catalog/data-science) *(Email login reqired to access the course)*
* [Essential Linear Algebra for Data Science and Machine Learning](https://www.kdnuggets.com/2021/05/essential-linear-algebra-data-science-machine-learning.html) -KDnuggets
* [Top 10 Data Science Projects for Beginners - KDnuggets](https://www.kdnuggets.com/2021/06/top-10-data-science-projects-beginners.html)
### Erlang
* [Try Erlang](http://www.tryerlang.org)
### Git
* [git-game](https://github.com/git-game/git-game)
* [git-game-v2](https://github.com/git-game/git-game-v2)
* [Githug](https://github.com/Gazler/githug) (Tutorial in shell)
* [Learn Git Branching](https://learngitbranching.js.org)
* [Learn Git with Bitbucket Cloud](https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud)
* [Try Git](http://try.github.io)
### GLSL
* [The Book of Shaders](https://thebookofshaders.com)
### Go
* [Go Koans](https://github.com/cdarwin/go-koans)
* [Go Tutorial](https://www.w3schools.com/go/) - W3Schools
* [Learn Go](https://www.codecademy.com/learn/learn-go) - Google, Robert Griesemer, Rob Pike, and Ken Thompson (Codecademy) *(account required)*
* [Start using Go](https://docs.microsoft.com/en-us/learn/paths/go-first-steps/) - Microsoft
* [The Go Tutorial](http://tour.golang.org)
### Haskell
* [Try Haskell!](http://tryhaskell.org)
### HTML / CSS
* [CSS Diner](http://flukeout.github.io)
* [CSS Tutorial](https://www.w3schools.com/css/) - W3Schools
* [Flex Box Adventure](https://codingfantasy.com/games/flexboxadventure) - Nick Bull
* [Flexbox Defense](http://flexboxdefense.com)
* [Flexbox Froggy](http://flexboxfroggy.com)
* [FreeCodeCamp: Responsive Web Design Course](https://www.freecodecamp.org/learn/responsive-web-design/basic-html-and-html5/)
* [Grid Attack](https://codingfantasy.com/games/css-grid-attack) - Nick Bull
* [Grid Garden](https://cssgridgarden.com)
* [HTML Tutorial](https://www.w3schools.com/html/) - W3Schools
* [Knights of the Flexbox Table](https://knightsoftheflexboxtable.com)
* [Learn by doing beginner projects](https://dash.generalassemb.ly)
* [Learn HTML & CSS interactively](https://www.codecademy.com/learn/web)
* [Prototyping a professional website](https://www.codecademy.com/learn/make-a-website)
#### Bootstrap
* [Bootstrap Tutorial](https://www.tutlane.com/tutorial/bootstrap) - tutlane
* [Front End Libraries: Bootstrap](https://www.freecodecamp.org/learn/front-end-libraries/bootstrap)
### Java
* [CodingBat code practice](http://codingbat.com/java)
* [Java at Codecademy](https://www.codecademy.com/courses/learn-java)
* [Java Tutorial](https://www.w3schools.com/java) - W3Schools
* [Learn Java](http://www.learnjavaonline.org)
* [Learneroo Java tutorial](https://www.learneroo.com/modules/11)
### JavaScript
* [ABC of JavaScript : An Interactive JavaScript Tutorial](http://www.openjs.com/tutorials/basic_tutorial/)
* [Codecademy jquery track](https://www.codecademy.com/learn/jquery)
* [ES6 Interactive Guide](http://stack.formidable.com/es6-interactive-guide/#/)
* [Functional Programming in Javascript](https://github.com/ReactiveX/learnrx)
* [JavaScript Algorithms and Data Structures Certification](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-javascript)
* [Javascript interactive tutorial on CodeCademy](https://www.codecademy.com/learn/javascript)
* [JavaScript interactive tutorial on CoderMania](http://www.codermania.com/javascript/lesson/1a/hello-world)
* [JavaScript Tutorial](https://www.w3schools.com/js) - W3Schools
* [Javascripting](https://github.com/sethvincent/javascripting)
* [Learn JavaScript](http://www.learn-js.org)
* [Learn knockout.js](http://learn.knockoutjs.com)
* [Learn to Code for Free – Grasshopper](https://grasshopper.app)
* [Learning Advanced JavaScript](http://ejohn.org/apps/learn/)
* [Try jQuery](http://try.jquery.com)
#### AngularJS
* [AngularJS - Step by Logical Step](http://nicholasjohnson.com/angular-book/) - Nicholas Johnson
* [AngularJS Basics](http://www.angularjsbook.com) - Chris Smith
* [AngularJS Tutorial](https://www.tutlane.com/tutorial/angularjs) - tutlane
* [AngularJS Tutorial](https://www.w3schools.com/angular/) - W3Schools
* [egghead.io: Learn AngularJS with Tutorial Videos & Training](https://egghead.io)
* [Learn AngularJS with free interactive lessons](http://www.learn-angular.org)
#### jQuery
* [Front End Libraries: jQuery](https://www.freecodecamp.org/learn/front-end-libraries/jquery)
#### React
* [Front End Libraries: React](https://www.freecodecamp.org/learn/front-end-libraries/react)
* [React Tutorial](https://react-tutorial.app)
### Kotlin
* [Kotlin tutorial](https://kotlinlang.org/docs/tutorials/)
* [Learn Kotlin](https://www.codecademy.com/learn/learn-kotlin) - Galina Podstrechnaya, Alex DiStasi (Codecademy) *(account required)*
### Language Agnostic
* [CodeCombat](http://codecombat.com) - Python, JavaScript, CoffeeScript, Clojure, Lua, Io
* [Codility](https://codility.com/programmers/)
* [Introduction to the Coding Interview Prep Algorithms](https://www.freecodecamp.org/learn/coding-interview-prep/algorithms) (freeCodeCamp)
* [Python Tutor](http://pythontutor.com) - Python, Java, JavaScript, TypeScript, Ruby, C, C++
* [The Fullstack Tutorial for GraphQL](https://www.howtographql.com)
#### Operating systems
* [Learning operating system development using Linux kernel and Raspberry Pi](https://github.com/s-matyukevich/raspberry-pi-os) - Sergey Matyukevich (:construction: *in process*)
### LaTeX
* [Learn LaTeX in 30 minutes](https://www.overleaf.com/learn/latex/Learn_LaTeX_in_30_minutes)
### Lisp
* [Lisp Koans](https://github.com/google/lisp-koans)
### MATLAB
* [Interactive Tutorials for MATLAB, Simulink, Signal Processing, Controls, and Computational Mathematics](http://www.mathworks.com/tutorials)
### Node
* [Node School](http://nodeschool.io)
* [Node.js Tutorial](https://www.tutlane.com/tutorial/nodejs) - tutlane
* [Node.js Tutorial](https://www.w3schools.com/nodejs) - W3Schools
### NoSQL
* [MongoDB Koans](https://github.com/chicagoruby/MongoDB_Koans)
* [Try Redis](http://try.redis.io)
### Objective-C
* [Try Objective-C](http://tryobjectivec.codeschool.com)
### Ocaml
* [Try Ocaml](http://try.ocamlpro.com)
### PHP
* [CodeCademy PHP](https://www.codecademy.com/learn/php)
* [Learn PHP](http://www.learn-php.org)
* [PHP tutorial](https://www.w3schools.com/php) - W3Schools
### PostgreSQL
* [PostgreSQL Tutorial](https://www.postgresqltutorial.com)
### Python
* [Codecademy Python course](https://www.codecademy.com/learn/python)
* [How to Think Like a Computer Scientist: Learning with Python, Interactive Edition](http://interactivepython.org/courselib/static/thinkcspy/index.html)
* [Learn Python](http://www.learnpython.org)
* [Learn Python Step by Step](http://www.techbeamers.com/python-tutorial-step-by-step)
* [Python for Everybody - Interactive](https://runestone.academy/runestone/books/published/py4e-int/index.html) - Barbara Ericson
* [Python Koans](https://github.com/gregmalcolm/python_koans)
* [Python Pandas Tutorial: A Complete Introduction for Beginners](https://www.learndatasci.com/tutorials/python-pandas-tutorial-complete-introduction-for-beginners/) - George McIntire, Brendan Martin, Lauren Washington
* [Python Programming Language](https://www.geeksforgeeks.org/python-programming-language/) - GeeksforGeeks
* [Python Tutorial](https://www.tutlane.com/tutorial/python) - tutlane
* [Python Tutorial](https://www.w3schools.com/python) - W3Schools
## R
* [Learn R](https://www.codecademy.com/learn/learn-r) - Codecademy *(account required)*
* [R Tutorial](https://www.w3schools.com/r) - W3Schools
### Ruby
* [CodeCademy Ruby](https://www.codecademy.com/learn/ruby)
* [Ruby Koans](http://www.rubykoans.com)
* [The Odin Project](http://www.theodinproject.com)
* [Try Ruby](http://tryruby.org)
### Rust
* [Rust Quiz](https://dtolnay.github.io/rust-quiz)
* [Rustlings](https://github.com/rust-lang/rustlings)
### Scala
* [A Tour of Scala - an interactive scala tutorial](https://scalatutorials.com/tour/)
* [Scala Exercises](https://www.scala-exercises.org)
### Selenium
* [Selenium Tutorial - Web Automation](http://www.techbeamers.com/selenium-webdriver-tutorial)
### SQL
* [Intro to SQL: Querying and managing data](https://www.khanacademy.org/computing/computer-programming/sql) - Khan Academy
* [SQL at Codecademy](https://www.codecademy.com/courses/learn-sql)
* [SQL Server Tutorial](https://www.tutlane.com/tutorial/sql-server) - tutlane
* [SQL Teaching](https://www.sqlteaching.com)
* [SQL Tutorial](https://www.w3schools.com/sql) - W3Schools
* [SQLBolt](http://sqlbolt.com)
### Vim
* [Interactive Vim Tutorial](http://www.openvim.com/tutorial.html)