Project Based Learning 基于项目的编程学习
Project Based Learning
https://github.com/practical-tutorials/project-based-learning.git
A list of programming tutorials in which aspiring software developers learn how to build an application from scratch. These tutorials are divided into different primary programming languages. Tutorials may involve multiple technologies and languages.
To get started, simply fork this repo. Please refer to CONTRIBUTING.md for contribution guidelines.
Table of Contents:
- C#
 - C/C++
 - Clojure
 - Dart
 - Elixir
 - Erlang
 - F#
 - Go
 - Haskell
 - HTML/CSS
 - Java
 - JavaScript
 - Kotlin
 - Lua
 - OCaml
 - PHP
 - Python
 - R
 - Ruby
 - Rust
 - Scala
 - Swift
 - Additional resources
 
C/C++:
- Build an Interpreter (Chapter 14 on is written in C)
 - Memory Allocators 101 - Write a simple memory allocator
 - Write a Shell in C
 - Write a FUSE Filesystem
 - Build Your Own Text Editor
 - Build Your Own Lisp
 - How to Program an NES Game in C
 - Write an OS from scratch
 - How to create an OS from scratch
 - Building a CHIP-8 Emulator
 - Beginning Game Programming with C++ and SDL
 - Implementing a Key-Value Store
 - Tiny 3D graphics projects
 - Writing a minimal x86-64 JIT compiler in C++
 - Build a Live Code-reloader Library for C++
 - Write a hash table in C
 - Let's Build a Simple Database
 - Let's Write a Kernel
 - Write a Bootloader in C
 - Linux Container in 500 Lines of Code
 - Write Your Own Virtual Machine
 - Learning KVM - Implement Your Own Linux Kernel
 - Build Your Own Redis with C/C++
 - Write a C compiler
 - Implementing a Language with LLVM
 - Meta Crush Saga: a C++17 compile-time game
 - High-Performance Matrix Multiplication
 - Space Invaders from Scratch
 - Tetris Tutorial in C++ Platform Independent
 - Writing a Linux Debugger
 - Let's write a compiler
 
Network programming
Let's Code a TCP/IP Stack
Programming concurrent servers
MQTT Broker from scratch
OpenGL:
- Creating 2D Breakout game clone in C++ with OpenGL
 - Handmade Hero
 - How to Make Minecraft in C++/OpenGL (video)
 
C#:
- Learn C# By Building a Simple RPG Game
 - Create a Rogue-like game in C#
 - Create a Blank App with C# and Xamarin (work in progress)
 - Build iOS Photo Library App with Xamarin and Visual Studio
 - Building the CoreWiki This is a Wiki-style content management system that has been completely written in C# with ASP.NET Core and Razor Pages. You can find the source code here.
 
Clojure:
- Build a Twitter Bot with Clojure
 - Building a Spell-Checker
 - Building a JIRA integration with Clojure & Atlassian Connect
 - Prototyping with Clojure
 - Tetris in ClojureScript
 
Dart:
Flutter:
- Amazon Clone with Admin Panel
 - Food Delivery App
 - Google Docs Clone
 - Instagram Clone
 - Multiplayer TicTacToe Game
 - TikTok Clone
 - Ticket Booking App
 - Travel App
 - Twitch Clone
 - WhatsApp Clone
 - Wordle Clone
 - Zoom Clone
 - Netflix Clone
 
Elixir
- Building a Simple Chat App With Elixir and Phoenix
 - How to write a super fast link shortener with Elixir, Phoenix, and Mnesia
 
Erlang
- ChatBus : build your first multi-user chat room app with Erlang/OTP
 - Making a Chat App with Erlang, Rebar, Cowboy and Bullet
 
F#:
Java:
- Build an Interpreter (Chapter 4-13 is written in Java)
 - Build a Simple HTTP Server with Java
 - Build an Android Flashlight App (video)
 - Build a Spring Boot App with User Authentication
 
JavaScript:
- Build 30 things in 30 days with 30 tutorials
 - Build an App in Pure JS
 - Build a Jupyter Notebook Extension
 - Build a TicTacToe Game with JavaScript
 - Build a Simple Weather App With Vanilla JavaScript
 - Build a Todo List App in JavaScript
 
HTML and CSS:
- Build A Loading Screen
 - Build an HTML Calculator with JS
 - Build Snake using only JavaScript, HTML & CSS
 
Mobile Application:
Web Applications:
React:
- Create Serverless React.js Apps
 - Create a Trello Clone
 - Create a Character Voting App with React, Node, MongoDB and SocketIO
 - React Tutorial: Cloning Yelp
 - Build a Full Stack Movie Voting App with Test-First Development using Mocha, React, Redux and Immutable
 - Build a Twitter Stream with React and Node
 - Build A Simple Medium Clone using React.js and Node.js
 - Integrate MailChimp in JS
 - Build A Chrome Extension with React + Parcel
 - Build A ToDo App With React Native
 - Make a Chat Application
 - Create a News App with React Native
 - Learn Webpack For React
 - Testing React App With Puppeteer and Jest
 - Build Your Own React Boilerplate
 - Code The Game Of Life With React
 - A Basic React+Redux Introductory Tutorial
 - Build an Appointment Scheduler
 - Build A Chat App with Sentiment Analysis
 - Build A Full Stack Web Application Setup
 - Create Todoist clone with React and Firebase
 - Build A Random Quote Machine
 - React Phone E-Commerce Project(video)
 
Angular:
Build an offline-capable Hacker News client with Angular 2+
Build a Google+ clone with Django and AngularJS (Angular 1.x)
Build A Beautiful Real World App with Angular 8 :
ToDo App with Angular 5
Node:
- Build a real-time Markdown Editor with NodeJS
 - Test-Driven Development with Node, Postgres and Knex
 - Write a Twitter Bot in Node.js
 - Build A Simple Search Bot in 30 minutes
 - Build A Job Scraping Web App
 - Building a GitHub App
 - How to build your own Uber-for-X App using JavaScript, Node.JS, MongoDB and Web Sockets
 
Vue
- Vue 2 + Firebase: How to build a Vue app with Firebase authentication system in 15 minutes
 - Vue.js Application Tutorial – Creating a Simple Budgeting App with Vue
 - Build a Blog with Vue, GraphQL and Apollo
 - Build a full stack web application using MEVN (MongoDB, Express, Vue, Node) stack
 - Vue.js To-Do List Tutorial (video)
 - Vue 2 + Pub/Sub: Build a peer to peer multi-user platform for games
 
Others (Hapi, Express...):
- Build a Progressive Web Application (PWA)
 - Build A Native Desktop App with JS
 - Build a Powerful API with NodeJs,GraphQL and Hapi
 
D3.js
Game Development:
- Make 2D Breakout Game using Phaser
 - Make Flappy Bird in HTML5 and JavaScript with Phaser
 
Desktop Application:
Miscellaneous:
- How to Build a Web Framework in Less Than 20 Lines of Code
 - Build Yourself a Redux
 - How to write your own Virtual DOM
 - Build A Realtime Serverless GraphQL API with WebSockets on AWS
 
Kotlin:
Lua:
LÖVE:
- BYTEPATH: Creation of a Complete Game with Lua and LÖVE
- Part 0: Introduction
 - Part 1: Game Loop
 - Part 2: Libraries
 - Part 3: Rooms and Areas
 - Part 4: Exercises
 - Part 5: Game Basics
 - Part 6: Player Basics
 - Part 7: Player Stats and Attacks
 - Part 8: Enemies
 - Part 9: Director and Gameplay Loop
 - Part 10: Coding Practices
 - Part 11: Passives
 - Part 12: More Passives
 - Part 13: Skill Tree
 - Part 14: Console
 - Part 15: Final
 
 
Python:
Web Scraping:
- Mining Twitter Data with Python
 - Scrape a Website with Scrapy and MongoDB
 - How To Scrape With Python and Selenium WebDriver
 - Which Movie Should I Watch using BeautifulSoup
 
Web Applications:
- Build a Microblog with Flask
 - Create a Blog Web App In Django
 - Choose Your Own Adventure Presentations
 - Build a Todo List with Flask and RethinkDB
 - Build a Todo List with Django and Test-Driven Development
 - Build a RESTful Microservice in Python
 - Microservices with Docker, Flask, and React
 - Build A Simple Web App With Flask
 - Create A Django API in under 20 minutes
 - Build a Community-driven delivery application with Django, Postgres and JavaScript
 - Realtime Chat application with Vue, django-notifs, RabbitMQ and uWSGI
 
Bots:
- Build a Reddit Bot
 - How to Make a Reddit Bot - YouTube (video)
 - Build a Facebook Messenger Bot
 - Making a Reddit + Facebook Messenger Bot
 - How To Create a Telegram Bot Using Python
 - Create a Twitter Bot In Python
 
Data Science:
- Learn Python For Data Science by Doing Several Projects (video):
 
Machine Learning:
- Write Linear Regression From Scratch in Python (video)
 - Step-By-Step Machine Learning In Python
 - Predict Quality Of Wine
 - Solving A Fruits Classification Problem
 - Learn Unsupervised Learning with Python
 - Build Your Own Neural Net from Scratch in Python
 - Linear Regression in Python without sklearn
 - Multivariate Linear Regression without sklearn
 - Music Recommender using KNN
 - Find Similar Quora Questions-
 - Detecting Fake News with Python and Machine Learning
 
OpenCV:
- Build A Document Scanner
 - Build A Face Detector using OpenCV and Deep Learning
 - Build fastest custom object Detection system yusing YOLOv3(video playlist)
 - Build a Face Recognition System using OpenCV, Python and Deep Learning
 - Detect The Salient Features in an Image
 - Build A Barcode Scanner
 - Learn Face Clustering with Python
 - Object Tracking with Camshift
 - Semantic Segmentation with OpenCV and Deep Learning
 - Text Detection in Images and Videos
 - People Counter using OpenCV
 - Tracking Multiple Objects with OpenCV
 - Neural Style Transfer with OpenCV
 - OpenCV OCR and Text Recognition
 - Text Skew Correction Tutorial
 - Facial Landmark Detection Tutorial
 - Object Detection using Mask-R-CNN
 - Automatic Target Detection Tutorial
 - EigenFaces using OpenCV
 - Faster(5-point) Facial Landmark Detection Tutorial
 - Hand Keypoint Detection
 - Dlib Correlation Object Tracking -
 - Image Stitching with OpenCV and Python
 - Instance Segmentation with OpenCV
 - Face mask detector
 
Deep Learning:
- Using Convolutional Neural Nets to Detect Facial Keypoints
 - Generate an Average Face using Python and OpenCV
 - Break A Captcha System using CNNs
 - Use pre-trained Inception model to provide image predictions
 - Create your first CNN
 - Build A Facial Recognition Pipeline
 - Build An Image Caption Generator
 - Make your Own Face Recognition System
 - Train a Language Detection AI in 20 minutes
 - Object Detection With Neural Networks
 - Learn Twitter Sentiment Analysis -
- Part I - Data Cleaning
 - Part II - EDA, Data Visualisation
 - Part III - Zipf's Law, Data Visualisation
 - Part IV - Feature Extraction(count vectoriser)
 - Part V - Feature Extraction(Tfidf vectoriser)
 - Part VI - Doc2Vec
 - Part VII - Phrase Modeling + Doc2Vec
 - Part VIII - Dimensionality Reduction
 - Part IX - Neural Nets with Tfdif vectors
 - Part X - Neural Nets with word2vec/doc2vec
 - Part XI - CNN with Word2Vec
 
 - Use Transfer Learning for custom image classification
 - Learn to Code a simple Neural Network in 11 lines of Python
 - Build a Neural Network using Gradient Descent Approach
 - Train a Keras Model To Generate Colors
 - Get Started with Keras on a Custom Dataset
 - Use EigenFaces and FisherFaces on Faces94 dataset
 - Kaggle MNIST Digit Recognizer Tutorial
 - Fashion MNIST tutorial with tf.keras
 - CNN using Keras to automatically classify root health
 - Keras vs Tensorflow
 - Deep Learning and Medical Image Analysis for Malaria Detection
 - Transfer Learning for Image Classification using Keras
 - Code a Smile Classifier using CNNS in Python
 - Natural Language Processing using scikit-learn
 - Code a Taylor Swift Lyrics Generator
 - Mask detection using PyTorch Lightning
 
Miscellaneous:
- Build a Simple Interpreter
 - Build a Simple Blockchain in Python
 - Write a NoSQL Database in Python
 - Building a Gas Pump Scanner with OpenCV/Python/iOS
 - Build a Distributed Streaming System with Python and Kafka
 - Writing a basic x86-64 JIT compiler from scratch in stock Python
 - Making a low level (Linux) debugger
 - Implementing a Search Engine
 - Build the Game of Life
 - Create terminal ASCII art
 - Write a Tic-Tac-Toe AI
 - Create photomosaic art
 - Build the game "Snake" in the terminal
 - Write yourself a Git
 - A Python implementation of a Python bytecode runner
 - Create a Voice assistant using Python
 
Go:
- Create a Real Time Chat App with Golang, Angular 2, and WebSocket
 - Building Go Web Applications and Microservices Using Gin
 - How to Use Godog for Behavior-driven Development in Go
 - Building Blockchain in Go
 - Building a container from scratch in Go - Liz Rice (Microscaling Systems)(video)
 - Build Web Application with GoLang
 - Building a Chat Application in Go with ReactJS
 - Go WebAssembly Tutorial - Building a Calculator Tutorial
 - REST Servers in Go
 - Let's build a URL shortener in Go - with Gin & Redis
 - Building a TCP Chat in Go(video)
 - Building a BitTorrent client from the ground up in Go
 - REST API masterclass with Go, PostgreSQL and Docker(video playlist)
in progress 
PHP:
- How To Build A Blog With Laravel (video)
 - Make Your Own Blog (in Pure PHP)
 - Build A Real Estate Website Example with SilverStripe
 - Building Realtime Chat App with Laravel 5.4 and VueJS (video)
 - Build A Social Network: Laravel 5 - Youtube (video)
 - Build a full-featured multi-tenant app with Laravel
 - Build a Laravel CRUD Application From Scratch
 
OCaml:
Ruby:
- Build a Network Stack with Ruby
 - Build your own Redis
 - Rebuilding Git in Ruby
 
Ruby on Rails:
- The Ruby on Rails Tutorial
 - Build Instagram From Scratch with Ruby on Rails
 - Build a Social Network using Rails
 - How To Build a Ruby on Rails Application
 
Haskell:
- Write You a Haskell - Build a modern functional compiler
 - Write Yourself a Scheme in 48 hours
 - Write You A Scheme, Version 2
 - Roll Your Own IRC Bot
 - Making Movie Monad
 - Making a Website with Haskell (outdated)
 
R:
Rust:
- A Simple Web App in Rust
 - Write an OS in pure Rust
 - Build a browser engine in Rust
 - Write a Microservice in Rust
 - Learning Rust with Too Many Linked Lists
 - Rust in Detail: Writing Scalable Chat Service from Scratch
 - Writing a Rust Roguelike for the Desktop and the Web
 - Single Page Applications using Rust
 - Writing NES Emulator in Rust
 - Create a simulation of evolution using neural network and genetic algorithm, and compile the application to WebAssembly
 
Scala:
Swift:
Additional Resources
- React Redux Links
 - Udemy.com
 - Full Stack Python
 - Node School
 - ScotchIO
 - Exercism
 - Egghead.io
 - Michael Herman's Blog
 - Thinkster.io
 - Enlight
 - Hack Club Workshops
 - CodeCrafters
 
Project Based Learning 基于项目的编程学习的更多相关文章
- 强化学习之 免模型学习(model-free based learning)
		
强化学习之 免模型学习(model-free based learning) ------ 蒙特卡罗强化学习 与 时序查分学习 ------ 部分节选自周志华老师的教材<机器学习> 由于现 ...
 - (转) 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ
		
特别棒的一篇文章,仍不住转一下,留着以后需要时阅读 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ
 - Scratch儿童项目式编程—捉迷藏游戏  Scratch children project programming - hide-and-seek game
		
Scratch儿童项目式编程—捉迷藏游戏 Scratch children project programming - hide-and-seek game 作者:韩梦飞沙 Author:han_me ...
 - Learning ROS for Robotics Programming - Second Edition(《ROS机器人编程学习-第二版》)
		
Learning ROS for Robotics Programming - Second Edition <ROS机器人编程学习-第二版> ----Your one-stop guid ...
 - Linux 系统编程 学习:07-基于socket的网络编程2:基于 UDP 的通信
		
Linux 系统编程 学习:07-基于socket的网络编程2:基于 UDP 的通信 背景 上一讲我们介绍了网络编程的一些概念.socket的网络编程的有关概念 这一讲我们来看UDP 通信. 知识 U ...
 - 201671030120 王晶 实验十四 团队项目评审&课程学习总结
		
项目 内容 课程名称 2016级计算机科学与工程学院软件工程(西北师范大学) 作业要求 实验十四 团队项目评审&课程学习总结 作业学习目标 (1)掌握软件项目评审会流程:(2)反思 ...
 - 现代3D图形编程学习-设置三角形颜色(译)
		
本书系列 现代3D图形变成学习 http://www.cnblogs.com/grass-and-moon/category/920962.html 设置颜色 这一章会对上一章中绘制的三角形进行颜色的 ...
 - 转 网络编程学习笔记一:Socket编程
		
题外话 前几天和朋友聊天,朋友问我怎么最近不写博客了,一个是因为最近在忙着公司使用的一些控件的开发,浏览器兼容性搞死人:但主要是因为这段时间一直在看html5的东西,看到web socket时觉得很有 ...
 - 基于OpenCL的深度学习工具:AMD MLP及其使用详解
		
基于OpenCL的深度学习工具:AMD MLP及其使用详解 http://www.csdn.net/article/2015-08-05/2825390 发表于2015-08-05 16:33| 59 ...
 - 实验十四  团队项目评审&课程学习总结
		
项目 内容 这个作业属于哪个课程 2016计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 团队名称 快活帮 作业学习目标 (1)掌握软 ...
 
随机推荐
- Solution -「GXOI / GZOI 2019」AND OR Sum
			
Description Link. 给定一个 \(N \times N\) 的矩阵,她希望求出: 该矩阵的所有子矩阵的 \(\texttt{AND}\) 值之和(所有子矩阵 \(\texttt{AND ...
 - Strimzi Kafka Bridge(桥接)实战之三:自制sdk(golang版本)
			
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<Strimzi Kafka B ...
 - Python网页应用开发神器fac 0.2.10版本新功能介绍
			
fac项目地址:https://github.com/CNFeffery/feffery-antd-components 欢迎star支持 大家好我是费老师,由我开源维护的Python网页通用组件库f ...
 - spring---面向切面(AOP @Pointcut 表达式篇)
			
AOP(面向切面编程),可以说是OOP(面向对象编程)的补充和完善.OOP引入封装.继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合. 当我们需要为分散的对象引入公共行为的时候,O ...
 - Chromium VIZ架构详解
			
1. VIZ的三个端 在设计层面上 viz 的架构如下图所示: 在设计上 viz 分了三个端,分别是 client 端, host 端和 service 端. client 端用于生成要显示的画面(C ...
 - 一个基于百度飞桨封装的.NET版本OCR工具类库 - PaddleOCRSharp
			
前言 大家有使用过.NET开发过OCR工具吗?今天给大家推荐一个基于百度飞桨封装的.NET版本OCR工具类库:PaddleOCRSharp. OCR工具有什么用? OCR(Optical Charac ...
 - RLHF · PBRL | RUNE:鼓励 agent 探索 reward model 更不确定的 (s,a)
			
论文题目: Reward uncertainty for exploration in preference-based reinforcement learning,是 ICLR 2022 的文章, ...
 - 背包DP全类型
			
AcWing 2. 01背包问题 #include <iostream> #include <algorithm> using namespace std; const int ...
 - (Good topic)单词的压缩编码(leetcode3.28每日打卡)
			
给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A. 例如,如果这个列表是 ["time", "me", "bell&quo ...
 - MongoDB 中的事务
			
MongoDB 事务 前言 如何使用 事务的原理 事务和复复制集以及存储引擎之间的关系 WiredTiger 中的事务隔离级别 WiredTiger 事务过程 事务开启 事务执行 事务提交 事务回滚 ...