1
0
mirror of https://github.com/namibia/free-programming-books.git synced 2024-12-27 08:52:37 +00:00
programming-books/free-courses-en.md
Florin Cioloboc 7225ca02d0 Add to [Free courses] new courses and sections (#2089)
* Add Berkeley's CS61 Data Structures free course

* Add LouvainX courses on Computer programming paradigms

* Add MIT's Software construction in Java course

* Add Advanced Software Construction course

* Change Algorithmic to Algorithms and Data Structures

* Add software engineering section with 4 courses

* Fix to alphabetically order courses

* Add computer science theory section

* Add theory section to index

* Add compilers section with course

* Fix spacing for Theory courses

* Fix alphabetical ordering

* Add Data Structures PDF by Paul Hilfinger from Berkeley
2016-10-02 12:42:32 +02:00

271 lines
12 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](#bash)
* [C](#c)
* [C#](#c-sharp)
* [C++](#c-2)
* [Clojure](#clojure)
* [Compilers](#compilers)
* [CUDA](#cuda)
* [Databases](#databases)
* [Git](#git)
* [Go](#go)
* [Haskell](#haskell)
* [HTML / CSS](#html--css)
* [iOS](#ios)
* [Java](#java)
* [JS](#js)
* [Lua](#lua)
* [Matlab](#matlab)
* [Misc](#misc)
* [OCaml](#ocaml)
* [Oracle PL/SQL](#oracle-plsql)
* [Python](#python)
* [R](#r)
* [RethinkDB](#rethinkdb)
* [Ruby](#ruby)
* [Sails.js](#sailsjs)
* [Scala](#scala)
* [Software Engineering](#software-engineering)
* [Swift](#swift)
* [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/)
* [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
* [Bash tutorial](http://gdrcorelec.ups-tlse.fr/files/bash.pdf) (PDF)
### 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)
### 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)
### 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)
### Git
* [Git and Gitlab Live Workshop](https://courses.platzi.com/courses/git-gitlab/)
### 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
* [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 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)
* [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)
### JS
* [Egghead.io](https://egghead.io)
### Lua
* [Lua Interactive Crash Course](http://luatut.com/crash_course.html)
* [Lua Tutorial](http://www.tutorialspoint.com/lua/)
### 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/)
* [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)
### 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)
### Python
* [Berkeley's Structure and Interpretation of Computer Programs](http://cs61a.org)
* [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 to program in Python](https://www.codecademy.com/learn/python)
* [Programming for Everybody](https://www.coursera.org/learn/python)
### R
* [R Programming](https://www.coursera.org/course/rprog)
### RethinkDB
* [RethinkDB: Distributed Databases](https://courses.platzi.com/courses/rethinkdb-databases/)
### Ruby
* [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)
### 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)