免费编程课程
原文:free-courses
周金根补充
Index
- Algorithms & Data Structures
- Android
- Angular
- Assembly
- Bash / Shell
- Bootstrap
- C
- C#
- C++
- Clojure
- Compilers
- CUDA
- Dart
- Data Science
- Databases
- Deep Learning
- Docker
- Flutter
- Game Development
- Git
- Go
- Haskell
- HTML / CSS
- iOS
- Java
- JavaScript
- Kotlin
- Kubernetes
- Linux
- Lua
- Machine Learning
- Markdown
- Matlab
- Mercurial
- Misc
- .NET
- OCaml
- Perl
- PHP
- Python
- QB64
- R
- Ruby
- Rust
- Scala
- Security
- Swift
- Theory
- TypeScript
- Verilog / VHDL / SystemVerilog
- Web Development
Algorithms & Data Structures
- Algorithms – Abdul Bari
- Berkeley University CS 61B: Data Structures
- Data Structures – mycodeschool
- Data Structures Easy to Advanced Course – Full Tutorial from a Google Engineer – William Fiset – (freeCodeCamp)
- IIT Bombay Foundation of Data Structures (CS213.1x)
- Intro to Data Structures and Algorithms – Brynn Claypoole, Horatio Thomas (Udacity)
- 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
- Sorting Algorithms – mycodeschool
- Stanford University Algorithms: Design and Analysis, Part 1
- Stanford University Algorithms: Design and Analysis, Part 2
- This is CS50x – David J. Malan (Harvard OpenCourseWare)
Android
- Advanced Android App Development – (Udacity)
- Advanced Android with Kotlin – (Udacity)
- Android App Development for Beginners Playlist – Bucky Roberts – (thenewboston)
- Android Basics: Data Storage – (Udacity)
- Android Basics: Multiscreen Apps – (Udacity)
- Android Basics: Networking – (Udacity)
- Android Basics: User Input – (Udacity)
- Android Basics: User Interface – (Udacity)
- Android Developer Fundamentals (Version 2) — Codelab
- Android Developer Fundamentals (Version 2) — Concepts
- Android Performance – (Udacity)
- Build Native Mobile Apps with Flutter – (Udacity)
- CS50 2019 – Android Track – David J. Malan (Harvard OpenCourseWare)
- Developing Android Apps – (Udacity)
- Developing Android Apps with Kotlin – (Udacity)
- Firebase in a Weekend: Android – (Udacity)
- Gradle for Android and Java – (Udacity)
- Kotlin Bootcamp for Programmers – (Udacity)
- Learn how to program: Android – Epicodus Inc.
- Material design
- Material Design for Android Developers – (Udacity)
- 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
Angular
- Angular 6 Tutorials – codedamn (YouTube)
- Angular Courses – Programming with Mosh
- Angular Fast Crash Course – Edwin Diaz, Coding Faculty Solutions (Udemy)
- Angular for Beginners – Angular University (Udemy)
- Angular Tutorial For Beginners – Codevolution (YouTube)
Assembly
- Binary Exploitation / Memory Corruption by LiveOverflow – LiveOverflow
- Introduction To Reverse Engineering Software
- Introductory Intel x86: Architecture, Assembly, Applications, & Alliteration
Bash / Shell
- Bento Shell Track (Bento)
- How to CMake Good
- Shell Scripting Tutorial
- Shell Scripting Tutorial for Beginners (ProgrammingKnowledge)
Bootstrap
- Bootstrap 4 Quick Start: Code Modern Responsive Websites – Brad Hussey (Udemy)
- Bootstrap tutorial for beginners – kudvenkat
- Complete Bootstrap 4 course – build 3 projects – Igneus Technologies (Udemy)
- Complete Bootstrap Crash Course | Bootstrap 4 Tutorial – Julio Codes
- Introduction to Bootstrap – A Tutorial – Microsoft via edX (Class Central)
- Learn Bootstrap 4 for free – Neil Rowe (Scrimba)
- Learn Bootstrap 4 in this free 10-part course – Per Harald Borgen (Freecodecamp)
- Rapid website design with Bootstrap – Laurence Svekis (Udemy)
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++ For Programmers – Catherine Gamboa (Udacity)
- C++ Programming Tutorial for Beginners (For Absolute Beginners) – ProgrammingKnowledge
- C++ Tutorial – The Bad Tutorials
- C++ Tutorial for Beginners – Full Course – Mike Dane – (freeCodeCamp)
- Google’s C++ Course
- Introduction to C++ (MIT’s opencourseware)
- Microsoft edX Courses:
Clojure
Compilers
Cuda
Dart
- Dart Course for Beginners (Udemy)
- Dart Programming Tutorial – Full Course – Mahmud Ahsan (FreeCodeCamp)
- Dart Programming Tutorial | Learn the Dart for Flutter (Udemy)
Data Science
- Advanced Data Mining with Weka MOOC
- Data Cleaning by Rachael Tatman at Kaggle
- Data Mining with Weka MOOC
- Data Science interview questions – Krish Naik
- Data Visualization by Alexis Cook at Kaggle
- Datavis 2020 – Curran Kelleher
- Introduction to Data Science in Python – Christopher Brooks (Coursera)
- Introduction to Python for Data Science
- More Data Mining with Weka MOOC
- The Analytics Edge
Databases
- Database Systems (MIT’s opencourseware)
- DML Server Administration – (Alison)
- Introduction to Databases (Stanford University)
- Learn SQL Basic for Data Science Specialisation (Coursera)
NoSQL
- MongoDB University – MongoDB, Inc. (email address required)
SQL
- Introduction to Database Queries – (edX New York University) – (Aspen Olmsted)
- Introduction to Databases and SQL Querying – Rakesh Gopalakrishnan (Udemy)
- Learn SQL – PopSQL
- MySQL Tutorial for Beginners [Full Course] – Programming with Mosh
- SQL Foundations – Sagar Uppuluri (Udemy)
- SQL Tutorial
- SQL Tutorial – Full Database Course for Beginners – Mike Dane (freeCodeCamp)
Deep Learning
- Complete Deep Learning – Krish Naik
- Convolutional Neural Networks for Visual Recognition
- Deep Learning for Natural Language Processing
- Deep Learning Specialization (coursera)
- Deep Multi-Task and Meta Learning – Chelsea Finn (Stanford University)
- Deep Reinforcement Learning – Sergey Levine
- Exploring Fairness in Machine Learning for International Development – Dr. Richard Fletcher, Prof. Daniel Frey, Dr. Mike Teodorescu, Amit Gandhi, Audace Nakeshimana (MIT OpenCourseWare)
- Intro to Deep Learning – Ryan Holbrook
- Introduction to Reinforcement learning with David Silver – David Silver
- MIT 6.S094: Deep Learning for Self-Driving Cars
- MIT 6.S191: Introduction to Deep Learning – Alexander Amini, Ava Soleimany
- 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 – Raghav Pal
- Docker Tutorial – TutorialsPoint
- Docker Tutorial for Beginners – FreeCodeCamp
- Docker Tutorial Videos | DevOps Tool – edureka!
- IIEC RISE 1.0 Docker
- Learn Docker, Container Runtimes, Builders and Registries – Katacoda
Flutter
- Flutter Crash Course – Nick Manning (account required)
- Flutter Tutorial – Matt Sullivan, James Williams, Mary Xia (Udacity)
- Flutter Tutorial for Beginners – Mayuresh Wankhede (Udemy)
Game Development
- CS50 2019 – Games Track – David J. Malan (Harvard OpenCourseWare)
- Unity Beginner Fundamentals(Unity Learn)
- Unity Beginner Tutorials (Brackeys)
- Unity User Manual
Git
- Bento Git Learning Track (Bento)
- Bento GitHub Learning Track (Bento)
- Git – Gwendolyn Faraday
- Git & GitHub Tutorial for Beginners (The Net Ninja)
- Git and GitHub for Poets
- GitHowTo
- How to Use Git and GitHub (Udacity)
- Introduction to Git and GitHub – Google (Coursera)
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 Grid – Wesbos
- CSS Tutorial
- CSS3 tutorial for beginners | Learn CSS3 – Udemy
- Flexbox in 30 Days – Samantha Ming
- HTML & CSS Crash Course – The Net Ninja (Shaun Pelling)
- HTML and CSS Crash Course – Kevin Powell (scrimba)
- HTML and CSS Tutorials – Dani Krossing
- HTML Tutorial
- Learn how to program: CSS – Epicodus Inc.
- Learn HTML and CSS (BitDegree)
- Learn HTML5 Programming From Scratch
- Learn to style HTML using CSS
- Responsive Web Design with HTML5 and CSS3 – Advanced – Udemy
- Structuring the web with HTML
- Web Development By Doing: HTML / CSS From Scratch – Udemy
- What the Flexbox – Wesbos
iOS
- AppCoda Complete iOS Tutorial
- CS193p Developing Apps for IOS – Stanford
- CS50 2019 – iOS Track – David J. Malan (Harvard OpenCourseWare)
- Developing iOS 11 Apps with Swift
- Ray Wenderlich iOS Tutorial
- The Complete Swift iOS Developer – Create Real Apps in Swift – Grant Klimaytys (Udemy)
Java
- Advanced Software Construction in Java
- Central Connecticut State University, Introduction to CS Using Java
- CS106A – Programming Methodology – (Stanford)
- Introduction to Java
- Java Design Patterns and Architecture – John Purcell (Udemy)
- Java for Complete Beginners
- Java for Mobile Devices – Introducing Codename One
- Java Online Training | Edureka – (Edureka)
- Java Programming – Angie Jones (Applitools)
- Java Programming: Solving Problems with Software – (Coursera)
- Learn how to program: Java – Epicodus Inc.
- Object-Oriented programming with Java, part I
- Object-Oriented programming with Java, part II
- Princeton Algorithms, Part 1
- Problem Solving With Java (Udacity)
- Software Construction in Java
- Spring 5 Core – An Ultimate Guide – Somnath Musib (Udemy)
JavaScript
- Beginner’s Series to: JavaScript – Microsoft Developer (YouTube)
- Bento JavaScript Learning Track (Bento)
- Egghead.io
- ES6 and Typescript Tutorial – Codevolution
- Intro to JavaScript ES6 programming
- Intro To JavaScript Unit Testing & BDD – Traversy Media
- Javascript course – Hitesh Choudhary
- Javascript Essentials – Lawrence Turton (Udemy)
- Javascript30 – Wesbos
- Learn how to program: JavaScript – Epicodus Inc.
- Learn modern JavaScript – Beau Carnes (Scrimba) (Scrimba account required)
- learn:query
- Programming Foundations with Javascript, HTML and CSS – Owen Astrachan, Robert Duvall, Andrew D. Hilton, Susan H. Rodger (Coursera)
Angular.js
- CodeCademy Angular
- Egghead.io – AngularJS – John Lindquist
- Shaping up with Angular.js
D3.js
DenoJS
- Deno Beginner – Ahmad Awais – (email required)
jQuery
- Bento jQuery Track (Bento)
- Introduction to JQuery (Udacity)
Next.js
NodeJS
- Beginner’s Series to: Node.js – Microsoft Developer (YouTube)
- Node.js API Development for Beginners (Udemy)
- Node.js Basics – Java Brains (Youtube)
React
- Full-Stack Web Development with React Specialization – Jogesh K. Muppala (Coursera)
- React (progate) (account required)
- React basic in just 1 hour (Udemy)
- React Crash Course 2020 – freecodecamp
- React Hooks – WebDevSimplified
- ReactJS Basics – Bitfumes
- ReactJS Tutorial for Beginners – Codevolution
- Start Using React to Build Web Applications
React Native
- CS50’s Mobile App Development with React Native – edX
- React Native for Beginners – The Net Ninja
- React Tutorial for Beginners – codevolution
Redux
- Getting Started with Redux
- Learn Redux – Wes Bos (email address requested)
Vue.js
- Internationalization with vue-i18n
- Intro to Vue 2
- Intro to Vue 3
- JavaScript Testing Fundamentals
- Nuxt.js Fundamentals
- Vue Router for Everyone
- Vue.js Components Fundamentals
- Vue.js Fundamentals
- Vuex for Everyone
Kotlin
- Android Kotlin Tutorial: Create Android Apps using Kotlin – Sriyank Siddhartha (YouTube)
- Developing Android Apps with Kotlin (Udacity)
- Kotlin Bootcamp for Programmers – Aleks Haecky, Asser Samak, Sean McQuillan (Udacity)
Kubernetes
- Learn Kubernetes – Katacoda
Linux
- Introduction To Linux – The Linux Foundation (edx)
- Linux Administration Tutorial Videos – edureka!
- Linux Command Line – Adam Eubankas (Udemy)
- Linux Operating System Fundamentals – Linux Academy (Udemy)
- Linux Tutorials and Projects – Jason Cannon (Udemy)
- Red Hat Enterprise Linux Technical Overview – Red Hat, Inc. (Udemy)
- The Linux Basics: Beginner to Sysadmin, Step by Step
Lua
- Learn Lua in 15 Minutes – Tyler Neylon (HTML)
- Lua Interactive Crash Course
- Lua Tutorial
Machine Learning
- Deep Learning Fundamentals by DeepLearning.TV (cognitiveclass.ai)
- Google’s Machine Learning Crash Course
- Intro to Machine Learning (Kaggle)
- Intro to Machine Learning Udacity (Udacity)
- Machine Learning (SoloLearn) (account required)
- Machine Learning Recipes with Josh Gordon
- Machine Learning Tutorial Python | Machine Learning For Beginners – Dhaval Patel
- Machine Learning with Python by Saeed Aghabozorgi (cognitiveclass.ai)
- Pattern Recognition and Machine Learning
- Principles of Machine Learning By Microsoft
- PyTorch tutorials by PyTorch.org
- Stanford University Machine Learning
Markdown
- MasteringMarkdown – Wesbos
MATLAB
- Data Processing and Feature Engineering with MATLAB (coursera)
- Introduction to Matlab in English -Mohammed Mohammed
- MATLAB and Simulink Training
- MIT 18.S997 Introduction to MATLAB Programming
Mercurial
- Hg Init: a Mercurial Tutorial – Joel Spolsky
Misc
- Advanced Data Structures
- Advanced NLP using spaCy – Ines Montani
- AI Courses – Intel Corporation
- 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
- Cloud Computing and Development – Ashwin Kumar Ramaswamy (UAceIt)
- Computer Graphics
- Elements of AI
- Embedded Software Safety (P. Koopman)
- FindLectures.com – Index of conference talks by language / topic
- Introduction to Reinforcement Learning with David Silver – David Silver
- 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
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 Courses for Beginner – Learn-PHP.org
- PHP OOP Tutorials – Dani Krossing
- PHP Programming Language Tutorial – Full Course – freeCodeCamp.org (2018)
- PHP Tutorial – TutorialRepublic
- PHP Tutorials – Dani Krossing
Processing
- Learning Processing: A Beginner’s Guide to Programming Images, Animation, and Interaction – The Coding Train
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
- Fork Python (GeeksForGeeks)
- Google’s Python Course
- Introduction to Computer Science and Programming (MIT’s opencourseware)
- Introduction to Programming Using Python (edX)
- Introduction to Python (Microsoft Docs)
- Introduction to Python Basics for Data Science (DPhi)
- Introduction to Python Programming (Udacity)
- Introduction to Scripting in Python Specialization (Coursera)
- Learn Python
- Learn Python – Free Interactive Python Tutorial
- Learn Python From Scratch – MD. Hasanur Rahaman Hasib (Udemy)
- Learn Python Tutorial (Kaggle)
- Learn to program in Python
- Learn to Program: The Fundamentals (Coursera)
- Programming Foundations with Python (Udacity)
- Python 3 (SoloLearn)
- Python And Cryptocurrency: Build 5 Real World Applications Ian Annase (Udemy)
- Python Built in Functions A to Z Tutorial and Examples – Brainy Things
- Python Course
- Python Course from scratch – Olaf Paulson (scrimba)
- Python Data Analysis – Scott Rixner, Joe Warren (Coursera)
- Python for Everybody (Coursera Reading Materials with YouTube Videos)
- Python Learn Course – Colin Morris (Kaggle)
- Python OOP Tutorials – Working with Classes – Corey Schafer
- Python Programming Essentials – Scott Rixner, Joe Warren (Coursera)
- Python Programming Language (Geeks for Geeks)
- Python Programming Tutorial
- Python Tutorial – Python for Beginners [Full Course] (Programming with Mosh)
- Python Tutorials – Corey Schafer
- SoloLearn
- The Python Tutorial
- Using Python for Research (edX Harvard)
Django
- Django for Everybody (Coursera Reading Materials with YouTube Videos)
- Django Tutorial for Beginners – Navin Reddy
- Django Tutorials – Corey Schafer
- Python Django Tutorial 2018 for Beginners – Clever Programmer
Flask
- Flask Tutorials – Corey Schafer
- Python Flask Tutorial (TutorialsPoint)
QB64
- Game Programming with QB64 – Terry Ritchie
R
- R Programming
- R Programming Tutorial – (Barton Poulson) – (freeCodeCamp)
- R Tutorial For Beginners | Edureka – (Edureka)
Ruby
- Agile Development Using Ruby on Rails – Advanced
- Agile Development Using Ruby on Rails – Basics
- An Introduction to Ruby Programming Language – Ali Tourani (HTML, PDF)
- Learn how to program: Ruby – Epicodus Inc.
- Learn Ruby
- RESTful API with Ruby On Rails 5 – Udemy
- Ruby Tutorial
- RubyMonk – Interactive Ruby tutorials
Rust
- Intro to Rust – Tensor Programming
- Rust Basics – Engineer Man
- Rust Crash Course – Traversy Media
- Rust Projects – Tensor Programming
- Rust Tutorial – Doug Milford
Scala
Security
- Computer Systems Security – Prof. Nickolai Zeldovich (MIT OpenCourseWare)
- Ethical Hacking -(Hacker101)
- The Complete Cyber Security & Hacking Course -(Insec Techs- EH Academy)
- Zero to Hero: A Practical Network Penetration Testing Course – The Cyber Mentor
Swift
- 100 days of Swift – Hacking With Swift
- How To Make An App For Beginners (iOS/Swift – 2019) – Chris Ching (Udemy)
- Learn Swift – CodeWithChris
- 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
- ASP.NET Core Tutorial For Beginners – Venkat (Pragim Technologies)
- CS50’s Web Programming with Python and JavaScript – Brian Yu,David J. Milan (edX Harvard CS50)
- Discover Flask – Full Stack Web Development with Flask
- Flask(A Python Microframework) Tutorial
- Free Code Camp
- Full stack open – University of Helsinki
- Learn web development – Mozilla Contributors
- Python Web Scraping & Crawling using Scrapy
- The Odin Project – Learn Web Development for Free
- Web Development for Beginners – A Curriculum – Microsoft
- Web Devevelopment Tutorials for Beginners – LearnCode.academy
- Web Information Retrieval – L. Becchetti, A. Vitaletti (University of Sapienza Rome)