mirror of
https://github.com/EbookFoundation/free-programming-books.git
synced 2024-12-22 19:36:13 +00:00
c6232718a5
* fix ordering most likely this problem was introduced by conflicting merges * alphabetize
27 KiB
27 KiB
Index
- Algorithms & Data Structures
- Android
- Angular
- Assembly
- Bash / Shell
- C
- C#
- C++
- Clojure
- Compilers
- CUDA
- Data Science
- Databases
- Deep Learning
- Docker
- Game Development
- Git
- Go
- Haskell
- HTML / CSS
- iOS
- Java
- JavaScript
- Kubernetes
- Linux
- Lua
- Machine Learning
- Matlab
- Mercurial
- Misc
- .NET
- OCaml
- Perl
- PHP
- Python
- QB64
- R
- RethinkDB
- Ruby
- Sails.js
- Scala
- Security
- Software Engineering
- SQL
- Swift
- Theory
- TypeScript
- Verilog / VHDL / SystemVerilog
- Web Development
Algorithms & Data Structures
- Berkeley University CS 61B: Data Structures
- Data Structures Easy to Advanced Course - Full Tutorial from a Google Engineer - William Fiset - (freeCodeCamp)
- 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
- Android Developer Fundamentals (Version 2) — Codelab
- Android Developer Fundamentals (Version 2) — Concepts
- 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 Basics: Data Storage
- Udacity Android Basics: Multiscreen Apps
- Udacity Android Basics: Networking
- Udacity Android Basics: User Input
- Udacity Android Basics: User Interface
Angular
- Angular Fast Crash Course - Edwin Diaz, Coding Faculty Solutions (Udemy)
Bash / Shell
C
- C Programming Tutorial
- C Programming Tutorial for Beginners - Mike Dane - (freeCodeCamp)
- Introduction to Computer Science
- The Arduino Platform and C Programming
C Sharp
- C# 101 - Scott Hanselman, Kendra Havens Microsoft.
- C# Tutorial - Full Course for Beginners - Mike Dane - (freeCodeCamp)
- Learn how to program: C# - Epicodus Inc.
C++
- C++ Tutorial
- C++ Tutorial for Beginners - Full Course - Mike Dane - (freeCodeCamp)
- Google's C++ Course
- Introduction to C++ (MIT's opencourseware)
- LearnCpp.com C++ Tutorial
- Microsoft edX Courses:
Clojure
Compilers
Cuda
Data Science
- Advanced Data Mining with Weka MOOC
- Data Cleaning by Rachael Tatman at Kaggle
- Data Mining with Weka MOOC
- Data Visualization by Alexis Cook at Kaggle
- 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
- Intro to Deep Learning - Ryan Holbrook
- MIT 6.S094: Deep Learning for Self-Driving Cars
- Practical Deep Learning For Coders taught - Jeremy Howard
- Practical Deep Learning for Coders, v3 (using fastai library)
- Self-Paced Courses for Deep Learning
- Unsupervised Feature Learning and Deep Learning
- What is Deep Learning (Udacity)
Docker
- Docker Tutorial - TutorialsPoint
- Docker Tutorial for Beginners - FreeCodeCamp
- Learn Docker, Container Runtimes, Builders and Registries - Katacoda
Game Development
- Unity Beginner Fundamentals(Unity Learn)
Git
- Bento Git Learning Track (Bento)
- Bento GitHub Learning Track (Bento)
- Git and GitHub for Poets
- GitHowTo
- How to Use Git and GitHub (Udacity)
Go
- A Tour Of Go
- Go Tutorial
- Golang | Gin HTTP Framework - Pragmatic Reviews
- Learn Go Programming - Golang Tutorial for Beginners - FreeCodeCamp
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 Your First Game: Arcade Classic in JavaScript on Canvas - Chris DeLeon (Udemy)
- Complete HTML/CSS BootCamp - FrontEnd Masters
- CSS Flexbox - Mastering the Basics - Vishwas Gopinath (Udemy)
- CSS Tutorial
- Flexbox in 30 Days - Samantha Ming
- HTML Tutorial
- Learn how to program: CSS - Epicodus Inc.
- Learn HTML5 Programming From Scratch
- Learn to style HTML using CSS
- Structuring the web with HTML
iOS
- AppCoda Complete iOS Tutorial
- CS193p Developing Apps for IOS - Stanford
- Developing iOS 11 Apps with Swift
- Ray Wenderlich iOS Tutorial
Java
- Central Connecticut State University, Introduction to CS Using Java
- Introduction to Java
- Java for Complete Beginners
- Java for Mobile Devices - Introducing Codename One
- Java Online Training | Edureka - (Edureka)
- Learn how to program: Java - Epicodus Inc.
- My Free Java Course - Automation, Development - Angie Jones
- Object-Oriented programming with Java, part I
- Object-Oriented programming with Java, part II
- Princeton Algorithms, Part 1
- Princeton Algorithms, Part 2
- Problem Solving With Java (Udacity)
- Spring 5 Core - An Ultimate Guide - Somnath Musib (Udemy)
JavaScript
- Bento JavaScript Learning Track (Bento)
- Egghead.io
- Intro to JavaScript ES6 programming
- Javascript Essentials - Lawrence Turton (Udemy)
- 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)
NodeJS
- Node.js Basics - Java Brains (Youtube)
React
- React Crash Course 2020 - freecodecamp
- React Hooks - WebDevSimplified
- Start Using React to Build Web Applications
Redux
Sails.Js
Vue.js
Kubernetes
- Learn Kubernetes - Katacoda
Linux
- Introduction To Linux - The Linux Foundation (edx)
- Linux Operating System Fundamentals - Linux Academy (Udemy)
- Red Hat Enterprise Linux Technical Overview - Red Hat, Inc. (Udemy)
Lua
Machine Learning
- Google's Machine Learning Crash Course
- Intro to Machine Learning Udacity (Udacity)
- Machine Learning Mini Bootcamp
- Pattern Recognition and Machine Learning
- Principles of Machine Learning By Microsoft
- PyTorch tutorials by PyTorch.org
- 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
- Elements of AI
- 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
- Laravel 5.8 Tutorial From Scratch - Coder's Tape (2019)
- Learn how to program: PHP - Epicodus Inc.
- PHP & MySQL Tutorial - The Bad Tutorials (2015)
- PHP Programming Language Tutorial - Full Course - freeCodeCamp.org (2018)
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(Microsoft Docs)
- Introduction to Python Programming (Udacity)
- Learn Python
- Learn Python - Free Interactive Python Tutorial
- Learn Python From Scratch - MD. Hasanur Rahaman Hasib (Udemy)
- Learn to program in Python
- Learn to Program: The Fundamentals (Coursera)
- Learn to Program Using Python (edX)
- Programming for Everybody
- Programming Foundations with Python (Udacity)
- Python Beginners-Intermediate Tutorial - Corey Schafer
- Python Course
- Python Django Basics Tutorial - Corey Schafer
- Python Flask Framework Tutorial - Corey Schafer
- Python Flask Tutorial (TutorialsPoint)
- Python Programming Tutorial
- SoloLearn
QB64
- Game Programming with QB64 - Terry Ritchie
R
- R Programming
- R Programming Tutorial - (Barton Poulson) - (freeCodeCamp)
- R Tutorial For Beginners | Edureka - (Edureka)
RethinkDB
Ruby
- Learn how to program: Ruby - Epicodus Inc.
- RubyMonk - Interactive Ruby tutorials
Scala
Security
- Ethical Hacking -(Hacker101)
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
- SQL Tutorial
- SQL Tutorial - Full Database Course for Beginners - (Mike Dane) - (freeCodeCamp)
Swift
- 100 days of Swift - Hacking With Swift
- How To Make An App For Beginners (iOS/Swift - 2019) - Chris Ching (Udemy)
- Swiftris - Build an iOS Tetris app from scratch
Vapor
Theory
TypeScript
- Introduction to TypeScript - Daniel Stern (Udemy)
- TypeScript Fast Crash Course - Edwin Diaz, Coding Faculty Solutions (Udemy)
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
Web Development
- Discover Flask - Full Stack Web Development with Flask
- Flask(A Python Microframework) Tutorial
- Free Code Camp
- Python Web Scraping & Crawling using Scrapy
- The Odin Project - Learn Web Development for Free
- Web Information Retrieval - L. Becchetti, A. Vitaletti (University of Sapienza Rome)