mirror of
https://github.com/EbookFoundation/free-programming-books.git
synced 2024-12-21 10:56:13 +00:00
7225ca02d0
* 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
271 lines
12 KiB
Markdown
271 lines
12 KiB
Markdown
### 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)
|