mirror of
https://github.com/EbookFoundation/free-programming-books.git
synced 2024-12-22 19:36:13 +00:00
359 lines
16 KiB
Markdown
359 lines
16 KiB
Markdown
### Index
|
||
|
||
* [Algorithms & Data Structures](#algorithms--data-structures)
|
||
* [Android](#android)
|
||
* [AngularJS](#angularjs)
|
||
* [Assembly](#assembly)
|
||
* [Bash / Shell](#bash--shell)
|
||
* [C](#c)
|
||
* [C#](#c-sharp)
|
||
* [C++](#c-1)
|
||
* [Clojure](#clojure)
|
||
* [Compilers](#compilers)
|
||
* [CUDA](#cuda)
|
||
* [Data Science](#datascience)
|
||
* [Databases](#databases)
|
||
* [Deep Learning](#deep-learning)
|
||
* [Git](#git)
|
||
* [Go](#go)
|
||
* [Haskell](#haskell)
|
||
* [HTML / CSS](#html--css)
|
||
* [iOS](#ios)
|
||
* [Java](#java)
|
||
* [JavaScript](#javascript)
|
||
* [JQuery](#jquery)
|
||
* [Lua](#lua)
|
||
* [Machine Learning](#machine-learning)
|
||
* [Matlab](#matlab)
|
||
* [Mercurial](#mercurial)
|
||
* [Misc](#misc)
|
||
* [.NET](#net)
|
||
* [OCaml](#ocaml)
|
||
* [Oracle PL/SQL](#oracle-plsql)
|
||
* [PHP](#php)
|
||
* [Python](#python)
|
||
* [QB64](#QB64)
|
||
* [R](#r)
|
||
* [RethinkDB](#rethinkdb)
|
||
* [Ruby](#ruby)
|
||
* [Sails.js](#sailsjs)
|
||
* [Scala](#scala)
|
||
* [Software Engineering](#software-engineering)
|
||
* [Swift](#swift)
|
||
* [Theory](#theory)
|
||
* [Verilog / VHDL / SystemVerilog](#verilog--vhdl--systemverilog)
|
||
* [Web Development](#web-development)
|
||
|
||
|
||
### Algorithms & Data Structures
|
||
|
||
* [Berkeley University CS 61B: Data Structures](http://datastructur.es/sp16/)
|
||
* [Introduction to Algorithms (SMA 5503)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005) - Charles Leiserson
|
||
* [Stanford University Algorithms: Design and Analysis, Part 1](http://online.stanford.edu/course/algorithms-design-and-analysis-part-1)
|
||
* [Stanford University Algorithms:Algorithms: Design and Analysis, Part 2](http://online.stanford.edu/course/algorithms-design-and-analysis-part-2)
|
||
|
||
|
||
### Assembly
|
||
|
||
* [Introduction To Reverse Engineering Software](http://opensecuritytraining.info/IntroductionToReverseEngineering.html)
|
||
* [Introductory Intel x86: Architecture, Assembly, Applications, & Alliteration](http://opensecuritytraining.info/IntroX86.html)
|
||
|
||
|
||
### Android
|
||
|
||
* [Creative, Serious and Playful Science of Android Apps](https://www.coursera.org/course/androidapps101/)
|
||
* [Learn how to program: Android](https://www.learnhowtoprogram.com/android) - Epicodus Inc.
|
||
* [Material design](https://material.io/guidelines/)
|
||
* [Programming Cloud Services for Android Handheld Systems](https://www.coursera.org/course/mobilecloudprogram)
|
||
* [Programming Mobile Applications for Android Handheld Systems pt. 1](https://www.coursera.org/course/android)
|
||
* [Programming Mobile Applications for Android Handheld Systems pt. 2](https://www.coursera.org/course/androidpart2)
|
||
* [Programming Mobile Services for Android Handheld Systems: Communication](https://www.coursera.org/course/posacommunication)
|
||
* [Programming Mobile Services for Android Handheld Systems: Concurrency](https://www.coursera.org/course/posaconcurrency)
|
||
* [Udacity Android Course Catalog](https://www.udacity.com/courses#!/android#!/android)
|
||
|
||
|
||
### AngularJS
|
||
|
||
* [CodeCademy Angular](https://www.codecademy.com/learn/learn-angularjs)
|
||
* [Shaping up with Angular.js](https://www.codeschool.com/courses/shaping-up-with-angular-js)
|
||
|
||
|
||
### Bash / Shell
|
||
|
||
* [Bento Shell Track](https://bento.io/topic/shell) (Bento)
|
||
|
||
|
||
### C
|
||
|
||
* [Introduction to Computer Science](https://www.edx.org/course/introduction-computer-science-harvardx-cs50x#.VNsjDvmUcmQ)
|
||
|
||
|
||
### C Sharp
|
||
|
||
* [Beginning Game Programming with C#](https://www.coursera.org/course/gameprogramming)
|
||
* [Learn how to program: C#](https://www.learnhowtoprogram.com/c) - Epicodus Inc.
|
||
|
||
|
||
### C++
|
||
|
||
* [Google's C++ Course](https://developers.google.com/edu/c++/)
|
||
* [Introduction to C++](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-096-introduction-to-c-january-iap-2011/) (MIT's opencourseware)
|
||
* [LearnCpp.com C++ Tutorial](http://www.learncpp.com)
|
||
|
||
|
||
### Clojure
|
||
|
||
* [Functional Programming with Clojure](http://mooc.fi/courses/2014/clojure/index.html)
|
||
|
||
|
||
### Compilers
|
||
|
||
* [Stanford's Compilers](https://lagunita.stanford.edu/courses/Engineering/Compilers/Fall2014/about)
|
||
|
||
|
||
### Cuda
|
||
|
||
* [Intro to Parallel Programming Using CUDA to Harness the Power of GPUs](https://www.udacity.com/course/intro-to-parallel-programming--cs344)
|
||
|
||
|
||
### Data Science
|
||
|
||
* [Introduction to Python for Data Science](https://www.edx.org/course/introduction-python-data-science-microsoft-dat208x-3)
|
||
* [The Analytics Edge](https://www.edx.org/course/analytics-edge-mitx-15-071x-3)
|
||
|
||
|
||
### Databases
|
||
|
||
* [Database Systems](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-830-database-systems-fall-2010/) (MIT's opencourseware)
|
||
* [Introduction to Databases](https://lagunita.stanford.edu/courses/Engineering/db/2014_1/about) (Stanford University)
|
||
|
||
|
||
### Deep Learning
|
||
|
||
* [Convolutional Neural Networks for Visual Recognition](http://cs231n.github.io)
|
||
* [Deep Learning for Natural Language Processing](http://cs224d.stanford.edu)
|
||
* [Practical Deep Learning For Coders taught](http://www.fast.ai) - Jeremy Howard
|
||
* [Self-Paced Courses for Deep Learning ](https://developer.nvidia.com/deep-learning-courses)
|
||
* [Unsupervised Feature Learning and Deep Learning](http://deeplearning.stanford.edu/tutorial)
|
||
* [What is Deep Learning](https://www.udacity.com/course/deep-learning--ud730)
|
||
|
||
|
||
### Git
|
||
|
||
* [Bento Git Learning Track](https://bento.io/topic/git) (Bento)
|
||
* [Bento GitHub Learning Track](https://bento.io/topic/github) (Bento)
|
||
* [Git and Gitlab Live Workshop](https://courses.platzi.com/courses/git-gitlab/)
|
||
* [How to Use Git and GitHub](https://www.udacity.com/course/how-to-use-git-and-github--ud775) (Udacity)
|
||
|
||
|
||
### Go
|
||
|
||
* [Go Tutorial](http://www.tutorialspoint.com/go/index.htm)
|
||
|
||
|
||
### Haskell
|
||
|
||
* [C9 : Functional Programming Fundamentals](http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals) - Erik Meijer
|
||
* [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
|
||
* [edX: Introduction to Functional Programming](https://www.edx.org/course/introduction-functional-programming-delftx-fp101x-0) - Erik Meijer
|
||
* [RWTH Aachen University: Functional Programming](https://videoag.fsmpi.rwth-aachen.de/?course=12ss-funkprog) - Jürgen Giesl
|
||
|
||
|
||
### HTML / CSS
|
||
|
||
* [Bento CSS Learning Track](https://bento.io/topic/css) (Bento)
|
||
* [Bento HTML Learning Track](https://bento.io/topic/html) (Bento)
|
||
* [Build a Personal Website with Dash](https://dash.generalassemb.ly)
|
||
* [Build a responsive website with Webflow](https://www.bloc.io/tutorials/webflow-tutorial-design-responsive-sites-with-webflow)
|
||
* [Build a SaaS landing page using Skeleton](https://www.bloc.io/tutorials/jottly-a-beginner-s-guide-to-html-css-skeleton-and-animate-css)
|
||
* [Build Dynamic Websites](http://cs75.tv/2010/fall/)
|
||
* [Code a personal splash page in 1 hour: A Hands-on Intro to HTML & CSS](http://www.thefirehoseproject.com/lessons/splash-page)
|
||
* [Learn how to program: CSS](https://www.learnhowtoprogram.com/css) - Epicodus Inc.
|
||
* [Learn HTML5 Programming From Scratch](https://www.udemy.com/learn-html5-programming-from-scratch/)
|
||
|
||
|
||
### iOS
|
||
|
||
* [AppCoda Complete iOS Tutorial](http://www.appcoda.com/ios-programming-course/)
|
||
* [Developing iOS 7 Apps for iPhone and iPad](https://itunes.apple.com/us/course/developing-ios-7-apps-for/id733644550)
|
||
* [Ray Wenderlich iOS Tutorial](https://www.raywenderlich.com/category/ios)
|
||
|
||
|
||
### Java
|
||
|
||
* [Central Connecticut State University, Introduction to CS Using Java](http://chortle.ccsu.edu/CS151/cs151java.html)
|
||
* [Introduction to Java](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/)
|
||
* [Java for Complete Beginners](http://courses.caveofprogramming.com/courses/java-for-complete-beginners)
|
||
* [Learn how to program: Java](https://www.learnhowtoprogram.com/java-june-2017) - Epicodus Inc.
|
||
* [Princeton Algorithms, Part 1](https://www.coursera.org/course/algs4partI)
|
||
* [Princeton Algorithms, Part 2](https://www.coursera.org/course/algs4partII)
|
||
* [Problem Solving With Java](https://www.udacity.com/course/intro-to-java-programming--cs046)
|
||
|
||
|
||
### JavaScript
|
||
|
||
* [Bento JavaScript Learning Track](https://bento.io/topic/javascript) (Bento)
|
||
* [Egghead.io](https://egghead.io)
|
||
* [Learn how to program: JavaScript](https://www.learnhowtoprogram.com/javascript) - Epicodus Inc.
|
||
* [learn:query](https://learnquery.infinum.co)
|
||
|
||
|
||
#### JQuery
|
||
|
||
* [Bento jQuery Track](https://bento.io/topic/jquery) (Bento)
|
||
|
||
|
||
### Lua
|
||
|
||
* [Lua Interactive Crash Course](http://luatut.com/crash_course.html)
|
||
* [Lua Tutorial](http://www.tutorialspoint.com/lua/)
|
||
|
||
|
||
### Machine Learning
|
||
|
||
* [Stanford University Machine Learning](https://www.coursera.org/learn/machine-learning)
|
||
|
||
|
||
### MATLAB
|
||
|
||
* [MIT 18.S997 Introduction to MATLAB Programming](http://ocw.mit.edu/courses/mathematics/18-s997-introduction-to-matlab-programming-fall-2011/)
|
||
|
||
|
||
### Mercurial
|
||
|
||
* [Hg Init: a Mercurial Tutorial](http://hginit.com) - Joel Spolsky
|
||
|
||
|
||
### Misc
|
||
|
||
* [Advanced Data Structures](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-851-advanced-data-structures-spring-2012/)
|
||
* [Algorithm Design and Implementation](https://www.youtube.com/playlist?list=PL6EF0274BD849A7D5)
|
||
* [Berkeley's CS 61B: Data Structures](https://archive.org/details/ucberkeley_webcast_QMV45tHCYNI)
|
||
* [Berkeley's CS 162: Operating Systems and Systems Programming](https://www.youtube.com/watch?v=feAOZuID1HM)
|
||
* [Berkeley's CS 169: Software Engineering](https://www.youtube.com/watch?v=fXokQpWsszU)
|
||
* [Berkeley's CS 194: What is an Operating System?](http://www.infocobuild.com/education/audio-video-courses/computer-science/cs194-spring2013-berkeley.html)
|
||
* [Bits: The Computer Science of Digital Information](http://www.extension.harvard.edu/open-learning-initiative/bits)
|
||
* [Computer Graphics](http://nptel.ac.in/courses/106106090/)
|
||
* [FindLectures.com](https://www.findlectures.com/?class1=Technology) - Index of conference talks by language / topic
|
||
* [LouvainX Paradigms of Computer Programming – Abstraction and Concurrency](https://www.edx.org/course/paradigms-computer-programming-louvainx-louv1-2x-1#!)
|
||
* [LouvainX Paradigms of Computer Programming – Fundamentals ](https://www.edx.org/course/paradigms-computer-programming-louvainx-louv1-1x-1)
|
||
* [MIT Numerical Methods (2014)](http://www.iitg.ernet.in/kartha/CE601-14/CourseSchedule.htm)
|
||
* [MIT's Artificial Intelligence](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-034-artificial-intelligence-fall-2010/)
|
||
* [MIT's Computer Language Engineering](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-035-computer-language-engineering-sma-5502-fall-2005/lecture-notes/)
|
||
* [MIT's Introduction to Algorithms](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/)
|
||
* [MIT's Mathematics for Computer Science](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/video-lectures/)
|
||
* [Principles of Reactive Programming](https://www.coursera.org/course/reactive)
|
||
* [Stanford Cryptography I](https://www.coursera.org/course/crypto)
|
||
* [Stanford Cryptography II](https://www.coursera.org/course/crypto2)
|
||
* [Stanford SEE 229 - Machine Learning](https://see.stanford.edu/Course/CS229)
|
||
|
||
|
||
### .NET
|
||
|
||
* [Learn how to program: .NET](https://www.learnhowtoprogram.com/net) - Epicodus Inc.
|
||
|
||
|
||
### OCaml
|
||
|
||
* [Cornell's Data Structures and Functional Programming](http://www.cs.cornell.edu/courses/cs3110/2015fa/)
|
||
* [Introduction to Functional Programming in OCaml](https://www.fun-mooc.fr/courses/parisdiderot/56002S02/session02/about)
|
||
|
||
|
||
### Oracle PL/SQL
|
||
|
||
* [Steven Feuerstein's PL/SQL Obsession - Videos and Presentations](http://www.toadworld.com/platforms/oracle/w/wiki/8243.plsql-obsession)
|
||
|
||
|
||
### PHP
|
||
|
||
* [Learn how to program: PHP](https://www.learnhowtoprogram.com/php) - Epicodus Inc.
|
||
|
||
|
||
### Python
|
||
|
||
* [An Introduction to Interactive Programming in Python (Part 1)](https://www.coursera.org/learn/interactive-python-1) (Coursera)
|
||
* [An Introduction to Interactive Programming in Python (Part 2)](https://www.coursera.org/learn/interactive-python-2) (Coursera)
|
||
* [Bento Python Learning Track](https://bento.io/topic/python) (Bento)
|
||
* [Berkeley's Structure and Interpretation of Computer Programs](http://cs61a.org)
|
||
* [Codesdope](https://www.codesdope.com/python-introduction)
|
||
* [Google's Python Course](https://developers.google.com/edu/python/)
|
||
* [Introduction to Computer Science and Programming](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-introduction-to-computer-science-and-programming-spring-2011/) (MIT's opencourseware)
|
||
* [Learn Python](https://pythonspot.com)
|
||
* [Learn Python - Free Interactive Python Tutorial](http://www.learnpython.org)
|
||
* [Learn to program in Python](https://www.codecademy.com/learn/python)
|
||
* [Learn to Program: The Fundamentals](https://www.coursera.org/learn/learn-to-program) (Coursera)
|
||
* [Learn to Program Using Python](https://www.edx.org/course/learn-program-using-python-utarlingtonx-cse1309x) (edX)
|
||
* [Microsoft Virtual Academy](https://mva.microsoft.com/en-US/training-courses/introduction-to-programming-with-python-8360)
|
||
* [Programming for Everybody](https://www.coursera.org/learn/python)
|
||
* [Programming Foundations with Python](https://www.udacity.com/course/programming-foundations-with-python--ud036) (Udacity)
|
||
* [Python Course](http://www.python-course.eu)
|
||
|
||
|
||
### QB64
|
||
|
||
* [Game Programming with QB64](http://qb64sourcecode.com) - Terry Ritchie
|
||
|
||
|
||
### R
|
||
|
||
* [R Programming](https://www.coursera.org/course/rprog)
|
||
|
||
|
||
### RethinkDB
|
||
|
||
* [RethinkDB: Distributed Databases](https://courses.platzi.com/courses/rethinkdb-databases/)
|
||
|
||
|
||
### Ruby
|
||
|
||
* [Learn how to program: Ruby](https://www.learnhowtoprogram.com/ruby) - Epicodus Inc.
|
||
* [RubyMonk - Interactive Ruby tutorials](https://rubymonk.com)
|
||
|
||
|
||
### Sails.Js
|
||
|
||
* [Develop web apps in Node.js and Sails.js](https://courses.platzi.com/courses/develop-apps-sails-js/)
|
||
|
||
|
||
### Scala
|
||
|
||
* [Functional Programming Principles in Scala](https://www.coursera.org/course/progfun)
|
||
* [Principles of Reactive Programming](https://www.coursera.org/course/reactive)
|
||
|
||
|
||
### Software Engineering
|
||
|
||
* [Advanced Software Construction in Java](https://www.edx.org/course/advanced-software-construction-java-mitx-6-005-2x#!)
|
||
* [Agile Development Using Ruby on Rails - Advanced](https://www.edx.org/course/agile-development-using-ruby-rails-uc-berkeleyx-cs169-2x#!)
|
||
* [Agile Development Using Ruby on Rails - Basics](https://www.edx.org/course/agile-development-using-ruby-rails-uc-berkeleyx-cs169-1x#!)
|
||
* [Software Construction in Java](https://www.edx.org/course/software-construction-java-mitx-6-005-1x)
|
||
|
||
|
||
### Swift
|
||
|
||
* [Swiftris - Build an iOS Tetris app from scratch](https://www.bloc.io/swiftris-build-your-first-ios-game-with-swift)
|
||
|
||
|
||
### Theory
|
||
|
||
* [Automata Theory](https://lagunita.stanford.edu/courses/course-v1:ComputerScience+Automata+Fall2016/about)
|
||
* [Udacity: Intro to Theoretical Computer Science](https://www.udacity.com/course/intro-to-theoretical-computer-science--cs313)
|
||
|
||
|
||
### Verilog / VHDL / SystemVerilog
|
||
|
||
* [SOC Verification Using SystemVerilog](http://verificationexcellence.in/online-courses/soc-verification-using-systemverilog)
|
||
* [SystemVerilog - Learn basics of SystemVerilog for Hardware Verification](https://verificationexcellence.teachable.com/p/learn-systemverilog)
|
||
* [SystemVerilog based UVM Methodology - Learn to build UVM based Testbenches in SystemVerilog](https://verificationexcellence.teachable.com/p/learn-ovm-uvm)
|
||
* [Verilog Hardware Description Language - An Introductory Course](http://vol.verilog.com/VOL/main.htm)
|
||
|
||
|
||
### Web Development
|
||
|
||
* [Discover Flask - Full Stack Web Development with Flask](https://github.com/realpython/discover-flask)
|
||
* [Flask(A Python Microframework) Tutorial](http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world)
|
||
* [Free Code Camp](https://www.freecodecamp.org)
|
||
* [The Odin Project - Learn Web Development for Free](http://www.theodinproject.com)
|
||
* [Udacity Web Development Course Catalog](https://www.udacity.com/courses#!/web-development#!/web-development)
|