free-programming-books/free-courses-en.md
2017-10-05 10:00:21 -04:00

350 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### 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)
* [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)
* [SystemVerilog](#systemverilog)
* [Theory](#theory)
* [Web Development](#web-development)
### Algorithms & Data Structures
* [Berkeley University CS 61B: Data Structures](http://datastructur.es/sp16/)
* [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)
* [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)
### 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/)
### 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://www.youtube.com/playlist?list=PL-XXv-cvA_iDXrTvCvDgIkeCWeSIDr4Yh)
* [Berkeley's CS 70: Discrete Mathematics and Probability Theory](https://www.youtube.com/course?list=EC1A2EBAC4283FE3EA)
* [Berkeley's CS 162: Operating Systems and Systems Programming](https://www.youtube.com/view_play_list?p=-XXv-cvA_iCrnl0625nXp4GimjT-cv_1)
* [Berkeley's CS 164: Programming Languages and Compilers](https://www.youtube.com/playlist?list=PL3A16CFC42CA6EF4F&feature=plcp)
* [Berkeley's CS 169: Software Engineering](https://www.youtube.com/view_play_list?p=-XXv-cvA_iAS_kCeleydK6mDc0kCbdhU)
* [Berkeley's CS 194: What is an Operating System?](https://www.youtube.com/view_play_list?p=-XXv-cvA_iB_5Q8G8kW5idSwNmXypmQE)
* [Berkeley's Math 10B: Methods of Mathematics: Calculus, Statistics, and Combinatorics](https://www.youtube.com/view_play_list?p=-XXv-cvA_iCZ8sTG0pDuBubsDfOFoY2X)
* [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)
### 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)
### 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)
### 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)
* [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)