1
0
mirror of https://github.com/namibia/free-programming-books.git synced 2024-12-28 01:04:55 +00:00
programming-books/free-courses-en.md
Ye Shu 87f400240e Update deprecated links to Google's Android courses (#3229)
* Update deprecated links to Google's Android courses

* Renaming link to codelab in alphabetical order

* Rearrange in alphabetical order

* Remove Android Developer Fundamentals from books

* Add Android Developer Fundamentals to courses list
2019-04-27 21:36:44 -04:00

422 lines
20 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)
* [Assembly](#assembly)
* [Bash / Shell](#bash--shell)
* [C](#c)
* [C#](#c-sharp)
* [C++](#c-1)
* [Clojure](#clojure)
* [Compilers](#compilers)
* [CUDA](#cuda)
* [Data Science](#data-science)
* [Databases](#databases)
* [Deep Learning](#deep-learning)
* [Git](#git)
* [Go](#go)
* [Haskell](#haskell)
* [HTML / CSS](#html--css)
* [iOS](#ios)
* [Java](#java)
* [JavaScript](#javascript)
* [Angular.js](#angularjs)
* [jQuery](#jquery)
* [React](#react)
* [Redux](#redux)
* [Sails.js](#sailsjs)
* [Lua](#lua)
* [Machine Learning](#machine-learning)
* [Matlab](#matlab)
* [Mercurial](#mercurial)
* [Misc](#misc)
* [.NET](#net)
* [OCaml](#ocaml)
* [Perl](#perl)
* [PHP](#php)
* [Python](#python)
* [QB64](#QB64)
* [R](#r)
* [RethinkDB](#rethinkdb)
* [Ruby](#ruby)
* [Sails.js](#sailsjs)
* [Scala](#scala)
* [Software Engineering](#software-engineering)
* [SQL](#sql)
* [Swift](#swift)
* [Vapor](#vapor)
* [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/)
* [IIT Bombay Foundation of Data Structures (CS213.1x)](https://courses.edx.org/courses/course-v1:IITBombayX+CS213.1x+1T2017/course/)
* [MIT's Design and Analysis of Algorithms (Spring 2012)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2012) - Dana Moshkovitz, Bruce Tidor
* [MIT's Design and Analysis of Algorithms (Spring 2015)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015) - Erik Demaine, Srini Devadas, Nancy Lynch
* [MIT's Introduction to Algorithms (SMA 5503) (Fall 2005)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005) - Charles Leiserson, Erik Demaine
* [Princeton University Algorithms, Part 1](https://www.coursera.org/learn/algorithms-part1)
* [Princeton University Algorithms, Part 2](https://www.coursera.org/learn/algorithms-part2)
* [Stanford University Algorithms: Design and Analysis, Part 1](http://online.stanford.edu/course/algorithms-design-and-analysis-part-1)
* [Stanford University 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
* [Android Developer Fundamentals (Version 2) — Codelab](https://developer.android.com/courses/fundamentals-training/toc-v2)
* [Android Developer Fundamentals (Version 2) — Concepts](https://google-developer-training.github.io/android-developer-fundamentals-course-concepts-v2/index.html)
* [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)
### Bash / Shell
* [Bento Shell Track](https://bento.io/topic/shell) (Bento)
* [Shell Scripting Tutorial](https://www.youtube.com/playlist?list=PL7B7FA4E693D8E790)
### C
* [C Programming Tutorial](https://www.youtube.com/playlist?list=PL_RGaFnxSHWoGzOXqtKeM71OLpvZbuU0P)
* [Introduction to Computer Science](https://www.edx.org/course/introduction-computer-science-harvardx-cs50x#.VNsjDvmUcmQ)
* [The Arduino Platform and C Programming](https://www.coursera.org/learn/arduino-platform)
### C Sharp
* [Learn how to program: C#](https://www.learnhowtoprogram.com/c) - Epicodus Inc.
### C++
* [C++ Tutorial](https://www.youtube.com/playlist?list=PL_RGaFnxSHWoVZWSN-ze3VVtIfZfXwAGM)
* [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)
* Microsoft edX Courses:
* [Advanced C++](https://www.edx.org/course/advanced-c-plus-plus-1)
* [Intermediate C++](https://www.edx.org/course/intermediate-c-plus-plus-1)
* [Introduction to C++](https://www.edx.org/course/introduction-c-plus-plus-1)
### Clojure
* [Functional Programming with Clojure](http://mooc.fi/courses/2014/clojure/)
### 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
* [Advanced Data Mining with Weka MOOC](https://www.cs.waikato.ac.nz/ml/weka/mooc/advanceddataminingwithweka/)
* [Data Mining with Weka MOOC](https://www.cs.waikato.ac.nz/ml/weka/mooc/dataminingwithweka/)
* [Introduction to Python for Data Science](https://www.edx.org/course/introduction-python-data-science-microsoft-dat208x-3)
* [More Data Mining with Weka MOOC](https://www.cs.waikato.ac.nz/ml/weka/mooc/moredataminingwithweka/)
* [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)
* [MIT 6.S094: Deep Learning for Self-Driving Cars](https://selfdrivingcars.mit.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 GitHub for Poets](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZF9C0YMKuns9sLDzK6zoiV)
* [GitHowTo](https://githowto.com)
* [How to Use Git and GitHub](https://www.udacity.com/course/how-to-use-git-and-github--ud775) (Udacity)
### Go
* [A Tour Of Go](https://tour.golang.org/welcome/1)
* [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/)
* [CSS Tutorial](https://www.youtube.com/playlist?list=PL_RGaFnxSHWqMH9a9DY8LFKrJ5NJCFHHe)
* [HTML Tutorial](https://www.youtube.com/playlist?list=PL_RGaFnxSHWr_FB-hVEgEGUESZL1TOiJ6)
* [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 11 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-11-apps-with-swift/id1309275316)
* [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)
* [Java for Mobile Devices - Introducing Codename One](https://codenameone.teachable.com/p/java-for-mobile-devices-introducing-codename-one)
* [Learn how to program: Java](https://www.learnhowtoprogram.com/java-june-2017) - Epicodus Inc.
* [Object-Oriented programming with Java, part I](https://moocfi.github.io/courses/2013/programming-part-1/)
* [Object-Oriented programming with Java, part II](https://moocfi.github.io/courses/2013/programming-part-2/)
* [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)
* [Intro to JavaScript ES6 programming](https://www.youtube.com/playlist?list=PL-xu4i_QDSxcoDNeh8rx5-pHCCTOg0XsI)
* [Learn how to program: JavaScript](https://www.learnhowtoprogram.com/javascript) - Epicodus Inc.
* [learn:query](https://learnquery.infinum.co)
#### Angular.js
* [Angular.js Youtube Channel](https://www.youtube.com/angularjs)
* [CodeCademy Angular](https://www.codecademy.com/learn/learn-angularjs)
* [egghead.io youtube channel: Learn AngularJS with Tutorial Videos & Training](https://www.youtube.com/user/johnlindquist)
* [Shaping up with Angular.js](https://www.codeschool.com/courses/shaping-up-with-angular-js)
#### jQuery
* [Bento jQuery Track](https://bento.io/topic/jquery) (Bento)
#### React
* [Start Using React to Build Web Applications](https://egghead.io/courses/react-fundamentals)
#### Redux
* [Getting Started with Redux](https://egghead.io/series/getting-started-with-redux)
### Sails.Js
* [Develop web apps in Node.js and Sails.js](https://courses.platzi.com/courses/develop-apps-sails-js/)
### Lua
* [Lua Interactive Crash Course](http://luatut.com/crash_course.html)
* [Lua Tutorial](http://www.tutorialspoint.com/lua/)
### Machine Learning
* [Google's Machine Learning Crash Course](https://developers.google.com/machine-learning/crash-course/)
* [Machine Learning Mini Bootcamp](https://lambdaschool.com/free-course-machine-learning/)
* [Pattern Recognition and Machine Learning](https://www.microsoft.com/en-us/research/people/cmbishop/#!prml-book)
* [Principles of Machine Learning By Microsoft](https://www.edx.org/course/principles-machine-learning-microsoft-dat203-2x-6)
* [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)
* [Aml-2018 Ambient Intelligence](https://www.youtube.com/playlist?list=PLqRTLlwsxDL8fUcY2Y54sITILyJcTySpC) (F. Corno - L. De Russis - A. Monge Roffarello)
* [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)
* [Caltech's Learning From data](https://work.caltech.edu/telecourse.html)
* [Computer Graphics](http://nptel.ac.in/courses/106106090/)
* [Embedded Software Safety](https://www.youtube.com/playlist?list=PLAQopGWlIcyaqDBW1zSKx7lHfVcOmWSWt) (P. Koopman)
* [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 6.S099: Artificial General Intelligence](https://agi.mit.edu)
* [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)
* [Robotics I](https://www.youtube.com/playlist?list=PLAQopGWlIcyaqDBW1zSKx7lHfVcOmWSWt) - (A. De Luca)
* [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)
### Perl
* [Perl Tutorial](https://www.youtube.com/playlist?list=PL_RGaFnxSHWpqRBcStwV0NwMA3nXMh5GC)
### PHP
* [Learn how to program: PHP](https://www.learnhowtoprogram.com/php) - Epicodus Inc.
* [PHP & MySQL Tutorial](https://www.youtube.com/playlist?list=PL_RGaFnxSHWrjkpK2zD4TWKWMWVfeYK-b)
### 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)
* [Introduction to Python Programming](https://www.udacity.com/course/introduction-to-python--ud1110) (Udacity)
* [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)
* [Python Programming Tutorial](https://www.youtube.com/playlist?list=PL_RGaFnxSHWpX_byHyTEj9hecPngl2DqR)
### 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)
### 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)
### SQL
* [SQL Tutorial](https://www.youtube.com/playlist?list=PL_RGaFnxSHWr_6xTfF2FrIw-NAOo3iWMy)
### Swift
* [Swiftris - Build an iOS Tetris app from scratch](https://www.bloc.io/swiftris-build-your-first-ios-game-with-swift)
#### Vapor
* [Vapor University](https://vapor.university)
### 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)