mirror of
https://github.com/EbookFoundation/free-programming-books.git
synced 2024-12-18 17:36:14 +00:00
66bc4b149b
* Added Codename One books Codename One is an Open Source Java platform for mobile devices (iOS, Android, Windows etc.). The developer guide is created in the open as part of the Codename One wiki. The Uber Clone book isn't free but the first 2 chapters which are about 100 pages are free to download without an email address or anything. I hope the latter is considered free enough for this list * Fixed typo in book name and added author * Attempt to fix lint issues * Added free course * Fixed location of (PDF) next to author * added '(first 2 chapters)' to the title
19 KiB
19 KiB
Index
- Algorithms & Data Structures
- Android
- Assembly
- Bash / Shell
- C
- C#
- C++
- Clojure
- Compilers
- CUDA
- Data Science
- Databases
- Deep Learning
- Git
- Go
- Haskell
- HTML / CSS
- iOS
- Java
- JavaScript
- Lua
- Machine Learning
- Matlab
- Mercurial
- Misc
- .NET
- OCaml
- Perl
- PHP
- Python
- QB64
- R
- RethinkDB
- Ruby
- Sails.js
- Scala
- Software Engineering
- SQL
- Swift
- Theory
- Verilog / VHDL / SystemVerilog
- Web Development
Algorithms & Data Structures
- Berkeley University CS 61B: Data Structures
- IIT Bombay Foundation of Data Structures (CS213.1x)
- MIT's Design and Analysis of Algorithms (Spring 2012) - Dana Moshkovitz, Bruce Tidor
- MIT's Design and Analysis of Algorithms (Spring 2015) - Erik Demaine, Srini Devadas, Nancy Lynch
- MIT's Introduction to Algorithms (SMA 5503) (Fall 2005) - Charles Leiserson, Erik Demaine
- Princeton University Algorithms, Part 1
- Princeton University Algorithms, Part 2
- Stanford University Algorithms: Design and Analysis, Part 1
- Stanford University Algorithms: Design and Analysis, Part 2
Assembly
- Introduction To Reverse Engineering Software
- Introductory Intel x86: Architecture, Assembly, Applications, & Alliteration
Android
- Creative, Serious and Playful Science of Android Apps
- Learn how to program: Android - Epicodus Inc.
- Material design
- Programming Cloud Services for Android Handheld Systems
- Programming Mobile Applications for Android Handheld Systems pt. 1
- Programming Mobile Applications for Android Handheld Systems pt. 2
- Programming Mobile Services for Android Handheld Systems: Communication
- Programming Mobile Services for Android Handheld Systems: Concurrency
- Udacity Android Course Catalog
Bash / Shell
C
C Sharp
- Beginning Game Programming with C#
- Learn how to program: C# - Epicodus Inc.
C++
- C++ Tutorial
- Google's C++ Course
- Introduction to C++ (MIT's opencourseware)
- LearnCpp.com C++ Tutorial
Clojure
Compilers
Cuda
Data Science
- Advanced Data Mining with Weka MOOC
- Data Mining with Weka MOOC
- Introduction to Python for Data Science
- More Data Mining with Weka MOOC
- The Analytics Edge
Databases
- Database Systems (MIT's opencourseware)
- Introduction to Databases (Stanford University)
Deep Learning
- Convolutional Neural Networks for Visual Recognition
- Deep Learning for Natural Language Processing
- MIT 6.S094: Deep Learning for Self-Driving Cars
- Practical Deep Learning For Coders taught - Jeremy Howard
- Self-Paced Courses for Deep Learning
- Unsupervised Feature Learning and Deep Learning
- What is Deep Learning
Git
- Bento Git Learning Track (Bento)
- Bento GitHub Learning Track (Bento)
- How to Use Git and GitHub (Udacity)
Go
Haskell
- C9 : Functional Programming Fundamentals - Erik Meijer
- CIS 194: Introduction to Haskell - Brent Yorgey
- CS240h: Functional Systems in Haskell - Bryan O'Sullivan
- edX: Introduction to Functional Programming - Erik Meijer
- RWTH Aachen University: Functional Programming - Jürgen Giesl
HTML / CSS
- Bento CSS Learning Track (Bento)
- Bento HTML Learning Track (Bento)
- Build a Personal Website with Dash
- Build a responsive website with Webflow
- Build a SaaS landing page using Skeleton
- Build Dynamic Websites
- CSS Tutorial
- HTML Tutorial
- Learn how to program: CSS - Epicodus Inc.
- Learn HTML5 Programming From Scratch
iOS
Java
- Central Connecticut State University, Introduction to CS Using Java
- Introduction to Java
- Java for Complete Beginners
- Java for Mobile Devices - Introducing Codename One
- Learn how to program: Java - Epicodus Inc.
- Princeton Algorithms, Part 1
- Princeton Algorithms, Part 2
- Problem Solving With Java
JavaScript
- Bento JavaScript Learning Track (Bento)
- Egghead.io
- Learn how to program: JavaScript - Epicodus Inc.
- learn:query
Angular.js
- Angular.js Youtube Channel
- CodeCademy Angular
- egghead.io youtube channel: Learn AngularJS with Tutorial Videos & Training
- Shaping up with Angular.js
jQuery
- Bento jQuery Track (Bento)
React
Redux
Sails.Js
Lua
Machine Learning
- Google's Machine Learning Crash Course
- Machine Learning Mini Bootcamp
- Stanford University Machine Learning
MATLAB
Mercurial
- Hg Init: a Mercurial Tutorial - Joel Spolsky
Misc
- Advanced Data Structures
- Algorithm Design and Implementation
- Aml-2018 Ambient Intelligence (F. Corno - L. De Russis - A. Monge Roffarello)
- Berkeley's CS 61B: Data Structures
- Berkeley's CS 162: Operating Systems and Systems Programming
- Berkeley's CS 169: Software Engineering
- Berkeley's CS 194: What is an Operating System?
- Bits: The Computer Science of Digital Information
- Caltech's Learning From data
- Computer Graphics
- Embedded Software Safety (P. Koopman)
- FindLectures.com - Index of conference talks by language / topic
- LouvainX Paradigms of Computer Programming – Abstraction and Concurrency
- LouvainX Paradigms of Computer Programming – Fundamentals
- MIT 6.S099: Artificial General Intelligence
- MIT Numerical Methods (2014)
- MIT's Artificial Intelligence
- MIT's Computer Language Engineering
- MIT's Introduction to Algorithms
- MIT's Mathematics for Computer Science
- Principles of Reactive Programming
- Robotics I - (A. De Luca)
- Stanford Cryptography I
- Stanford Cryptography II
- Stanford SEE 229 - Machine Learning
.NET
- Learn how to program: .NET - Epicodus Inc.
OCaml
- Cornell's Data Structures and Functional Programming
- Introduction to Functional Programming in OCaml
Perl
PHP
- Learn how to program: PHP - Epicodus Inc.
- PHP & MySQL Tutorial
Python
- An Introduction to Interactive Programming in Python (Part 1) (Coursera)
- An Introduction to Interactive Programming in Python (Part 2) (Coursera)
- Bento Python Learning Track (Bento)
- Berkeley's Structure and Interpretation of Computer Programs
- Codesdope
- Google's Python Course
- Introduction to Computer Science and Programming (MIT's opencourseware)
- Introduction to Python Programming (Udacity)
- Learn Python
- Learn Python - Free Interactive Python Tutorial
- Learn to program in Python
- Learn to Program: The Fundamentals (Coursera)
- Learn to Program Using Python (edX)
- Microsoft Virtual Academy
- Programming for Everybody
- Programming Foundations with Python (Udacity)
- Python Course
- Python Programming Tutorial
QB64
- Game Programming with QB64 - Terry Ritchie
R
RethinkDB
Ruby
- Learn how to program: Ruby - Epicodus Inc.
- RubyMonk - Interactive Ruby tutorials
Scala
Software Engineering
- Advanced Software Construction in Java
- Agile Development Using Ruby on Rails - Advanced
- Agile Development Using Ruby on Rails - Basics
- Software Construction in Java
SQL
Swift
Theory
Verilog / VHDL / SystemVerilog
- SOC Verification Using SystemVerilog
- SystemVerilog - Learn basics of SystemVerilog for Hardware Verification
- SystemVerilog based UVM Methodology - Learn to build UVM based Testbenches in SystemVerilog
- Verilog Hardware Description Language - An Introductory Course