Below are some of the Free Online Programming Courses.
Contents
- 1 Algorithms & Data Structures
- 2 Assembly
- 3 Android
- 4 AngularJS
- 5 Bash
- 6 C
- 7 C Sharp
- 8 C++
- 9 Clojure
- 10 Compilers
- 11 Cuda
- 12 Data Science
- 13 Databases
- 14 Deep Learning
- 15 Git
- 16 Go
- 17 Haskell
- 18 HTML / CSS
- 19 iOS
- 20 Java
- 21 JS
- 22 Lua
- 23 Machine Learning
- 24 MATLAB
- 25 Misc
- 26 .NET
- 27 OCaml
- 28 Oracle PL/SQL
- 29 PHP
- 30 Python
- 31 R
- 32 RethinkDB
- 33 Ruby
- 34 Sails.Js
- 35 Scala
- 36 Software Engineering
- 37 Swift
- 38 SystemVerilog
- 39 Theory
- 40 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
- Bash tutorial (PDF)
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
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
- 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
JS
- Egghead.io
- Learn how to program: JavaScript – Epicodus Inc.
- learn:query
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)
- 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