mirror of
https://github.com/EbookFoundation/free-programming-books.git
synced 2024-12-30 07:15:28 +00:00
15484cbc43
* Added Bento learning tracks with free tutorials * Fixed alphabetical ordering * Added more Bento tracks, extended topics * Fixed alphabetical ordering * Fixed heading spacing for jQuery topic * Nested jQuery into JavaScript, extended JS abbreviation * Removed GitHub from index and titles * Corrected spacing between sections * Added Bento learning tracks to main books list * Fixed alphabetical ordering * Revert on books additions
15 KiB
15 KiB
Index
- Algorithms & Data Structures
- Android
- AngularJS
- 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
- Misc
- .NET
- OCaml
- Oracle PL/SQL
- PHP
- Python
- R
- RethinkDB
- Ruby
- Sails.js
- Scala
- Software Engineering
- Swift
- SystemVerilog
- Theory
- Web Development
Algorithms & Data Structures
- Berkeley University CS 61B: Data Structures
- Stanford University Algorithms: Design and Analysis, Part 1
- Stanford University Algorithms: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
AngularJS
Bash / Shell
- Bash tutorial (PDF)
- Bento Shell Track (Bento)
C
C Sharp
- Beginning Game Programming with C#
- Learn how to program: C# - Epicodus Inc.
C++
- Google's C++ Course
- Introduction to C++ (MIT's opencourseware)
- LearnCpp.com C++ Tutorial
Clojure
Compilers
Cuda
Data Science
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
- 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)
- Git and Gitlab Live Workshop
- 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
- Code a personal splash page in 1 hour: A Hands-on Intro to HTML & CSS
- 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
- 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
JQuery
- Bento jQuery Track (Bento)
Lua
Machine Learning
MATLAB
Misc
- Advanced Data Structures
- Algorithm Design and Implementation
- Berkeley's CS 61B: Data Structures
- Berkeley's CS 70: Discrete Mathematics and Probability Theory
- Berkeley's CS 162: Operating Systems and Systems Programming
- Berkeley's CS 164: Programming Languages and Compilers
- Berkeley's CS 169: Software Engineering
- Berkeley's CS 194: What is an Operating System?
- Berkeley's Math 10B: Methods of Mathematics: Calculus, Statistics, and Combinatorics
- Bits: The Computer Science of Digital Information
- Computer Graphics
- FindLectures.com - Index of conference talks by language / topic
- LouvainX Paradigms of Computer Programming – Abstraction and Concurrency
- LouvainX Paradigms of Computer Programming – Fundamentals
- 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
- 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
Oracle PL/SQL
PHP
- Learn how to program: PHP - Epicodus Inc.
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)
- 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
R
RethinkDB
Ruby
- Learn how to program: Ruby - Epicodus Inc.
- RubyMonk - Interactive Ruby tutorials
Sails.Js
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
Swift
SystemVerilog
- SystemVerilog - Learn basics of SystemVerilog for Hardware Verification
- SystemVerilog based UVM Methodology - Learn to build UVM based Testbenches in SystemVerilog