Aprendizagem baseada em projetos
Uma lista de tutoriais de programação nos quais os alunos criam um aplicativo a partir do zero. Esses tutoriais são divididos em diferentes linguagens de programação primária. Alguns têm tecnologias e idiomas misturados.
Para começar, basta forçar este repositório. Consulte Contribuindo.md para diretrizes de contribuição.
Índice:
- C#
- C/C ++
- Clojure
- Elixir
- Erlang
- F#
- Ir
- Haskell
- HTML/CSS
- Java
- JavaScript
- Kotlin
- Lua
- OCAML
- Php
- Python
- R
- Rubi
- Ferrugem
- Scala
- Swift
- Recursos adicionais
C/C ++:
- Construa um intérprete (capítulo 14 está escrito em c)
- Alocadores de memória 101 - Escreva um alocador de memória simples
- Escreva uma concha em C
- Escreva um sistema de arquivos de fusível
- Construa seu próprio editor de texto
- Construa seu próprio Lisp
- Como programar um jogo NES em C
- Escreva um sistema operacional do zero
- Como criar um sistema operacional do zero
- Construindo um emulador Chip-8
- PROGRAMAÇÃO DE JOGO COMENTE COM C ++ e SDL
- Implementando uma loja de valores-chave
- Pequenos projetos gráficos 3D
- Tiny Renderer ou como o OpenGL funciona: renderização de software em 500 linhas de código
- Raytracing compreensível em 256 linhas de C ++ nua
- Kaboom! em 180 linhas de c ++ nu
- 486 linhas de C ++: FPS da velha escola em um fim de semana
- Escrevendo um compilador jit mínimo x86-64 em c ++
- Construa uma biblioteca de reloader de código ao vivo para C ++
- Escreva uma tabela de hash em c
- Vamos construir um banco de dados simples
- Vamos escrever um kernel
- Escreva um carregador de inicialização em C
- Contêiner Linux em 500 linhas de código
- Escreva sua própria máquina virtual
- Aprendendo KVM - Implemente seu próprio kernel Linux
- Escreva um compilador C
- Parte 1: Inteiros, Lexing e geração de código
- Parte 2: Operadores unários
- Parte 3: Operadores binários
- Parte 4: ainda mais operadores binários
- Parte 5: variáveis locais
- Parte 6: Condicionais
- Parte 7: declarações compostas
- Parte 8: Loops
- Parte 9: Funções
- Parte 10: variáveis globais
- Implementando um idioma com LLVM
- Saga Meta Crush: A C ++ 17 Compile-Time Game
- Multiplicação da matriz de alto desempenho
- Invasores espaciais do zero
- Parte 1
- Parte 2
- Parte 3
- Parte 4
- Parte 5
- Tutorial de Tetris na plataforma C ++ Independente
- Escrevendo um depurador Linux
- Parte 1: Configuração
- Parte 2: pontos de interrupção
- Parte 3: Registros e memória
- Parte 4: Elfos e Anões
- Parte 5: fonte e sinais
- Parte 6: pisos no nível da fonte
- Parte 7: pontos de interrupção no nível da fonte
- PARTE 8: PACK REPINGING
- Parte 9: Variáveis de manuseio
- Parte 10: Tópicos avançados
Programação de rede
OpenGL:
- Criando clone de jogo de breakout 2D em C ++ com OpenGL
- Saia
- Configurando
- Renderização de sprites
- Níveis
- Colisões
- Bola
- Detecção de colisão
- Resolução de colisão
- Partículas
- Pós -processamento
- Power-ups
- Áudio
- Renderizar texto
- Pensamentos finais
- Herói feito à mão
- Como fazer minecraft em c ++/opengl (vídeo)
C#:
- Aprenda C# construindo um jogo de RPG simples
- Crie um jogo desonesto em C#
- Crie um aplicativo em branco com C# e Xamarin (trabalho em andamento)
- Construir aplicativo de biblioteca de fotos iOS com Xamarin e Visual Studio
- Construindo o Corewiki Este é um sistema de gerenciamento de conteúdo no estilo Wiki que foi completamente escrito em C# com as páginas do ASP.NET Core e Razor. Você pode encontrar o código -fonte aqui.
Clojure:
- Construa um Bot Twitter com Clojure
- Construindo um verificador ortográfico
- Construindo uma integração Jira com Clojure & Atlassian Connect
- Prototipagem com clojure
Elixir
- Construindo um aplicativo de bate -papo simples com Elixir e Phoenix
- Como escrever um encurtador de link super rápido com Elixir, Phoenix e Mnesia
Erlang
- Chatbus: Construa seu primeiro aplicativo de sala de bate-papo multiusuário com Erlang/OTP
- Fazendo um aplicativo de bate -papo com Erlang, vergalhão, cowboy e bala
F#:
- Escreva seu próprio Excel em 100 linhas de f#
Java:
- Construa um intérprete (Capítulo 4-13 está escrito em Java)
- Construa um servidor HTTP simples com Java
- Construa um aplicativo de lanterna Android (vídeo)
- Crie um aplicativo de inicialização de primavera com autenticação do usuário
JavaScript:
- Construa 30 coisas em 30 dias com 30 tutoriais
- Construa um aplicativo em JS puro
- Construa uma extensão de notebook Jupyter
HTML e CSS:
- Construa uma tela de carregamento
- Construa uma calculadora HTML com JS
Aplicativo móvel:
- Construa um react nativo TODO APLICAÇÃO
- Construa uma aplicação nativa de reação com Redux Thunk
Aplicativos da Web:
Reagir:
- Crie aplicativos react.js sem servidor
- Crie um clone de trello
- Crie um aplicativo de votação de personagem com React, Node, MongoDB e Socketio
- Tutorial do React: Cloning Yelp
- Crie um aplicativo de votação de filme completo com desenvolvimento de teste usando mocha, react, redux e imutável
- Construa um fluxo do Twitter com React and Node
- Crie um aplicativo Mern Story sem servidor com webtask.io
- Construa um clone médio simples usando react.js e node.js
- Integrar MailChimp em JS
- Construa uma extensão do Chrome com React + Parcel
- Construa um aplicativo TODO com o React Native
- Faça um aplicativo de bate -papo
- Crie um aplicativo de notícias com o React Native
- Aprenda webpack para reagir
- Teste o aplicativo React com puppepeteer e brincadeira
- Construa seu próprio Boilerplate React
- Codificam o jogo da vida com o React
- Um tutorial introdutório de react+redux básico
- Construa um agendador de compromissos
- Crie um aplicativo de bate -papo com análise de sentimentos
- Construa uma configuração completa de aplicativos da web de pilha
- Crie um clone Todoist com React e Firebase
- Construa uma máquina de cotação aleatória
- Parte 1
- Parte 2
- Parte 3
- Parte 4
- Parte 5
- Parte 6
- Parte 7
Angular:
Construa um clone do Instagram com Angular 1.x
Construa um cliente de notícias hackers com capacidade offline com 2+ Angular
Construa um clone do Google+ com Django e AngularJS (Angular 1.x)
Construa um lindo aplicativo do mundo real com o Angular 8:
Construa um layout responsivo com Bootstrap 4 e Angular 6
TODO App com Angular 5
- Introdução ao angular
- Parte 1
Nó:
- Crie um site simples com Node, Express e MongoDB
- Construa um editor de marcação em tempo real com o NodeJS
- Desenvolvimento orientado a testes com nó, Postgres e Knex
- Escreva um bot do Twitter em Node.js
- Crie um aplicativo Web RESTful simples
- Construa um bot simples de pesquisa em 30 minutos
- Construa um aplicativo de raspagem de emprego
Vue
- Vue 2 + Firebase: Como construir um aplicativo Vue com sistema de autenticação Firebase em 15 minutos
- Tutorial do aplicativo Vue.js - Criando um aplicativo de orçamento simples com Vue
- Construa um blog com Vue, GraphQL e Apollo
- Construa um aplicativo Web Stack completo usando mevn (MongoDB, Express, Vue, Node) pilha
- Tutorial da lista de tarefas do vue.js (vídeo)
Outros (Hapi, Express ...):
- Construa um aplicativo da Web Progressive (PWA)
- Crie um aplicativo de ticket de suporte com Adonisjs
- Construa um aplicativo de desktop nativo com JS
- Construa uma API poderosa com NodeJs, GraphQL e Hapi
D3.js
- Aprenda D3 usando exemplos
- Aprenda a fazer um gráfico de linha
Desenvolvimento de jogos:
- Faça 2D Breakout Game usando Phaser
- Faça Flappy Bird em HTML5 e JavaScript com Phaser
Aplicativo de desktop:
- Construa um tocador de música com React & Electron
- Construa um aplicativo de bate -papo para desktop com React and Electron
Variado:
- Como construir uma estrutura da web em menos de 20 linhas de código
- Construa um Redux
- Como escrever seu próprio DOM virtual
- Crie uma API GraphQL sem servidor em tempo real com WebSockets na AWS
Kotlin:
- Keddit - Aprenda Kotlin enquanto desenvolve um aplicativo Android
Lua:
AMOR:
- Bytepath: Criação de um jogo completo com Lua e Löve
- Parte 0: Introdução
- Parte 1: Loop de jogo
- Parte 2: Bibliotecas
- Parte 3: salas e áreas
- Parte 4: Exercícios
- Parte 5: básico do jogo
- Parte 6: Noções básicas de jogador
- Parte 7: Estatísticas e ataques do jogador
- Parte 8: Inimigos
- Parte 9: Diretor e Loop de jogabilidade
- Parte 10: Práticas de codificação
- Parte 11: Passivos
- Parte 12: Mais passivos
- Parte 13: Árvore de habilidades
- Parte 14: Console
- Parte 15: final
Python:
Raspagem na web:
- Mineração de dados do Twitter com Python
- Raspe um site com navegação e MongoDB
- Como raspar com Python e Selenium webdriver
- Qual filme devo assistir usando o belo grupo
Aplicativos da Web:
- Construa um microblog com frasco
- Crie um aplicativo da web do blog em Django
- Parte I: Introdução
- Parte II: extensão para adicionar mais recursos
- Escolha suas próprias apresentações de aventura
- Construa uma lista de TODO com Flask e Rethinkdb
- Construa uma lista de TODO com Django e desenvolvimento orientado a testes
- Construa um microsserviço repousante em Python
- Microsserviços com docker, frasco e reagem
- Crie um aplicativo da web simples com frasco
- Construa uma API repouso com frasco - o caminho do TDD
- Crie uma API de Django em menos de 20 minutos
Bots:
- Construa um bot do Reddit
- Como fazer um bot Reddit - YouTube (vídeo)
- Construa um bot do Facebook Messenger
- Fazendo um bot Reddit + Facebook Messenger
- Como criar um bot de telegrama usando Python
- Crie um Bot Twitter em Python
Ciência de Dados:
- Aprenda Python para ciência de dados fazendo vários projetos (vídeo):
- Parte 1: Introdução
- Parte 2: Análise do sentimento do Twitter
- Parte 3: Sistemas de recomendação
- Parte 4: Prevendo os preços das ações
- Parte 5: Deep Dream in Tensorflow
- Parte 6: Algoritmos genéticos
Aprendizado de máquina:
- Escreva regressão linear do zero em Python (vídeo)
- Aprendizado de máquina passo a passo em Python
- Prever a qualidade do vinho
- Resolvendo um problema de classificação de frutas
- Aprenda aprendizado sem supervisão com Python
- Construa sua própria rede neural do zero em Python
- Regressão linear em python sem sklearn
- Regressão linear multivariada sem sklearn
- Recomendador musical usando KNN
- Encontre perguntas semelhantes do Quora-
- Usando arco, tfidf e xgboost
- Usando Word2vec e XGBoost
OpenEncv:
- Construa um scanner de documentos
- Construa um detector de rosto usando o OpenCV e um aprendizado profundo
- Construa um sistema de reconhecimento de rosto usando OpenCV, Python e Deep Learning
- Detecte os recursos salientes em uma imagem
- Construa um scanner de código de barras
- Aprenda o cluster de rosto com Python
- Rastreamento de objetos com dessociado de cames
- Segmentação semântica com OpenCV e aprendizado profundo
- Detecção de texto em imagens e vídeos
- As pessoas contrariam usando o OpenCV
- Rastreando vários objetos com opencv
- Transferência de estilo neural com OpenCV
- OpenCV OCR e reconhecimento de texto
- Tutorial de correção de inclinação de texto
- Tutorial de detecção de marco facial
- Detecção de objetos usando máscara-r-cnn
- Tutorial de detecção de destino automático
- Eigenfaces usando opencv
- Tutorial de detecção de marco facial mais rápido (5 pontos)
- Detecção de ponto do teclado manual
- Rastreamento de objetos de correlação DLIB -
- Rastreador de objeto único
- Rastreador de objetos mutiple
- Costura de imagem com opencv e python
- Segmentação de instância com OpenCV
- Detector de máscara facial
Aprendizado profundo:
- Usando redes neurais convolucionais para detectar pontos -chave faciais
- Gerar uma face média usando Python e OpenCV
- Quebre um sistema CAPTCHA usando CNNs
- Use o modelo de início pré-treinado para fornecer previsões de imagem
- Crie seu primeiro CNN
- Construir um pipeline de reconhecimento facial
- Construa um gerador de legenda de imagem
- Faça seu próprio sistema de reconhecimento de rosto
- Treine uma IA de detecção de idiomas em 20 minutos
- Detecção de objetos com redes neurais
- Aprenda a análise de sentimentos do Twitter -
- Parte I - Limpeza de dados
- Parte II - EDA, Visualização de dados
- Parte III - Lei do ZIPF, Visualização de dados
- Parte IV - Extração de recursos (Count Vectoriser)
- Parte V - Extração de Recursos (TFIDF Vectorer)
- Parte VI - DOC2VEC
- Parte VII - Modelagem de Phrase + Doc2vec
- Parte VIII - Redução da dimensionalidade
- Parte IX - redes neurais com vetores TFDIF
- Parte X - redes neurais com word2vec/doc2vec
- Parte XI - CNN com Word2vec
- Use o aprendizado de transferência para classificação de imagem personalizada
- Aprenda a codificar uma rede neural simples em 11 linhas de python
- Construa uma rede neural usando a abordagem de descida de gradiente
- Treine um modelo Keras para gerar cores
- Comece com Keras em um conjunto de dados personalizado
- Use EigenFaces e Fisherfaces no conjunto de dados Faces94
- Kaggle Mnist Digit Reconhecer Tutorial
- Tutorial de moda mnist com tf.keras
- CNN usando Keras para classificar automaticamente a saúde da raiz
- Keras vs tensorflow
- Aprendizagem profunda e análise de imagem médica para detecção de malária
- Transfira o aprendizado para classificação de imagem usando Keras
- Code um classificador de sorriso usando CNNs em Python
- Processamento de linguagem natural usando Scikit-Learn
- Code um gerador de letras Taylor Swift
Variado:
- Construa um intérprete simples
- Construa uma blockchain simples em Python
- Escreva um banco de dados NoSQL no Python
- Construindo um scanner de bomba de gás com OpenCV/Python/iOS
- Construa um sistema de streaming distribuído com Python e Kafka
- Escrevendo um compilador básico x86-64 jit do zero em estoque python
- Fazendo um depurador de baixo nível (Linux)
- Implementando um mecanismo de pesquisa
- Construa o jogo da vida
- Crie arte ASCII Terminal
- Escreva uma IA tic-tac-toe
- Crie arte fotomosaica
- Construa o jogo "Snake" no terminal
- Escreva um git
- Uma implementação Python de um python bytecode Runner
Ir:
- Crie um aplicativo de bate -papo em tempo real com Golang, Angular 2 e WebSocket
- Building Go Web Applications and Microservices usando Gin
- Como usar o Godog para o desenvolvimento orientado a comportamento em Go et começou com Godog
- Construindo Blockchain em Go
- Parte 1: Protótipo básico
- Parte 2: Prova de trabalho
- Parte 3: Persistência e CLI
- Parte 4: Transações 1
- Parte 5: endereço
- Parte 6: Transações 2
- Parte 7: Rede
- Crie aplicativos da web com Golang
- Construindo um recipiente do zero em Go - Liz Rice (sistemas de microscaling)
PHP:
- Como construir um blog com Laravel (vídeo)
- Faça seu próprio blog (em Pure Php)
- Construa um exemplo de site imobiliário com SilverStripe
- Construindo o aplicativo de bate -papo em tempo real com Laravel 5.4 e Vuejs (vídeo)
- Construa uma rede social: Laravel 5 - YouTube (vídeo)
- Construa um aplicativo multi-inquilino completo com Laravel
- Parte 0: Introdução
- Parte 1: Configuração
- Parte 2: Funções e Permissinos
- Parte 3: Convite
- Parte 4: Autenticação
- Parte 5: Teste
- Parte 6: Perfil de usuário
- Parte 7: implantação
OCAML:
- Implementar um idioma com LLVM em OCAML
Rubi:
- Construa uma pilha de rede com rubi
- Construa seu próprio Redis
- Parte 0: Introdução
- Parte 1: servidor BareBones TCP
- Parte 2: ping <-> pong
- Parte 3: Clientes simultâneos
- Parte 4: Echo
Rubi nos trilhos:
- O tutorial Ruby on Rails
- Construa o Instagram do zero com rubi nos trilhos
- Construa uma rede social usando Rails
- Como construir um aplicativo Ruby on Rails
Haskell:
- Escreva para você um Haskell - Construa um compilador funcional moderno
- Escreva um esquema em 48 horas
- Escreva para você um esquema, versão 2
- Role seu próprio BOT IRC
- Vamos construir um compilador básico em Haskell
- Fazendo Monad Movie
- Fazendo um site com Haskell (desatualizado)
R:
- Crie aplicativos da web com brilhante
- Construir um bot de criptomoeda
- Aprender mineração de regras associadas em r
Ferrugem:
- Um aplicativo da web simples em ferrugem
- Parte 1
- Parte 2a
- Parte 2b
- Escreva um sistema operacional em pura ferrugem
- Construa um motor de navegador em ferrugem
- Escreva um microsserviço em ferrugem
- Aprendendo ferrugem com muitas listas vinculadas
- Ferrugem em detalhes: Escrevendo serviço de bate -papo escalável do zero
- Parte 1: Implementando o WebSocket. Introdução.
- Parte 2: enviando e recebendo mensagens
- Escrevendo uma trapaceiro Rust for the Desktop e a Web
Scala:
- Blockchain simples baseado em ator
- Sem mágica: expressões regulares
Swift:
- Hacking with Swift - Aprenda Swift fazendo 39 projetos
Recursos adicionais
- Reaja links redux
- Python de pilha completa
- Escola de Nó
- Scotchio
- Exercismo
- Egghead.io
- Blog de Michael Herman
- Thinkster.io
- C tutoriais baseados no projeto
- Iluminar
- Oficinas de hackear