Aprendizaje basado en proyectos
Una lista de tutoriales de programación en los que los alumnos crean una aplicación desde cero. Estos tutoriales se dividen en diferentes lenguajes de programación primaria. Algunos tienen tecnologías e idiomas entremezclados.
Para comenzar, simplemente bifurca este repositorio. Consulte Contriping.MD para las pautas de contribución.
Tabla de contenido:
- DO#
- C/C ++
- Clojure
- Elixir
- Erlang
- F#
- Ir
- Haskell
- HTML/CSS
- Java
- Javascript
- Kotlín
- Lua
- Ocaml
- Php
- Pitón
- Riñonal
- Rubí
- Óxido
- Escala
- Rápido
- Recursos adicionales
C/C ++:
- Construir un intérprete (el capítulo 14 sobre está escrito en c)
- Asignadores de memoria 101 - Escriba un asignador de memoria simple
- Escribe un caparazón en c
- Escribe un sistema de archivos de fusibles
- Construye tu propio editor de texto
- Construye tu propio lisp
- Cómo programar un juego de NES en C
- Escribe un sistema operativo desde cero
- Cómo crear un sistema operativo desde cero
- Construyendo un emulador Chip-8
- Programación de juegos inicial con C ++ y SDL
- Implementación de una tienda de valores clave
- Pequeños proyectos de gráficos en 3D
- Tiny Renderer o cómo funciona OpenGL: Renderizado de software en 500 líneas de código
- Trabajos de rayos comprensibles en 256 líneas de C ++ desnudo
- ¡Kaboom! En 180 líneas de C ++ desnudo
- 486 líneas de C ++: FPS de la vieja escuela en un fin de semana
- Escribir un compilador JIT X86-64 mínimo en C ++
- Construya una biblioteca de código-relieader en vivo para C ++
- Escribe una mesa hash en c
- Construyamos una base de datos simple
- Vamos a escribir un núcleo
- Escribe un gestor de arranque en c
- Contenedor de Linux en 500 líneas de código
- Escribe tu propia máquina virtual
- Learning KVM: implementa tu propio núcleo Linux
- Escribe un compilador C
- Parte 1: enteros, lexing y generación de códigos
- Parte 2: Operadores Unarios
- Parte 3: Operadores binarios
- Parte 4: aún más operadores binarios
- Parte 5: Variables locales
- Parte 6: condicionales
- Parte 7: Declaraciones compuestas
- Parte 8: bucles
- Parte 9: Funciones
- Parte 10: Variables globales
- Implementación de un idioma con LLVM
- Meta Crush Saga: un juego de tiempo de compilación C ++ 17
- Multiplicación matriz de alto rendimiento
- Invasores espaciales desde cero
- Parte 1
- Parte 2
- Parte 3
- Parte 4
- Parte 5
- Tetris Tutorial en la plataforma C ++ independiente
- Escribir un depurador de Linux
- Parte 1: Configuración
- Parte 2: Puntos de interrupción
- Parte 3: Registros y memoria
- Parte 4: Elfos y enanos
- Parte 5: Fuente y señales
- Parte 6: Paso a nivel de fuente
- Parte 7: Puntos de interrupción a nivel de origen
- Parte 8: relajarse de pila
- Parte 9: Variables de manejo
- Parte 10: Temas avanzados
Programación de red
Lectemos en codificar una pila TCP/IP
- Parte 1: Ethernet y ARP
- Parte 2: IPv4 e ICMPV4
- Parte 3: Conceptos básicos de TCP y apretón de manos
- Parte 4: TCP Data Flow & Socket API
- Parte 5: Retransmisión de TCP
Programación de servidores concurrentes
- Parte 1 - Introducción
- Parte 2 - Hilos
- Parte 3 - Dirigido por el evento
- Parte 4 - Libuv
- Parte 5 - Estudio de caso de Redis
- Parte 6 - devoluciones de llamada, promesas y asíncrono/espera
Corredor de mqtt desde cero
- Parte 1 - El protocolo
- Parte 2 - Redes
- Parte 3 - servidor
- Parte 4 - Estructuras de datos
- Parte 5 - Abstracción del tema
- Parte 6 - manejadores
- Bonificación - Múltiple lectura
OpenGL:
- Creación del clon del juego de ruptura 2D en C ++ con OpenGL
- Fugarse
- Configuración
- Renderizar sprites
- Nivel
- Colisiones
- Pelota
- Detección de colisiones
- Resolución de colisión
- Partículas
- Posprocesamiento
- Potencia
- Audio
- Texto de renderizado
- Pensamientos finales
- Héroe hecho a mano
- Cómo hacer Minecraft en C ++/OpenGL (video)
DO#:
- Aprenda C# construyendo un juego de rol simple
- Crea un juego de pícaro en C#
- Cree una aplicación en blanco con C# y Xamarin (trabajo en progreso)
- Construya la aplicación de biblioteca de fotos iOS con xamarin y Visual Studio
- Construyendo el CoreWiki Este es un sistema de gestión de contenido de estilo wiki que se ha escrito completamente en C# con las páginas ASP.NET Core y Razor. Puede encontrar el código fuente aquí.
Clojure:
- Construye un bot de Twitter con Clojure
- Construyendo un corredor de hechizos
- Construyendo una integración de Jira con Clojure y Atlassian Connect
- Prototipos con Clojure
Elixir
- Construyendo una aplicación de chat simple con Elixir y Phoenix
- Cómo escribir un acortador de enlace súper rápido con Elixir, Phoenix y Mnesia
Erlang
- Chatbus: Construya su primera aplicación de sala de chat múltiple con Erlang/OTP
- Hacer una aplicación de chat con Erlang, barras de refuerzo, vaquero y bala
F#:
- Escribe tu propio Excel en 100 líneas de f#
Java:
- Construir un intérprete (el capítulo 4-13 está escrito en Java)
- Construya un servidor HTTP simple con Java
- Construya una aplicación de linterna Android (video)
- Cree una aplicación de arranque de primavera con autenticación del usuario
JavaScript:
- Construya 30 cosas en 30 días con 30 tutoriales
- Construir una aplicación en js puro
- Construye una extensión de cuaderno Jupyter
HTML y CSS:
- Construir una pantalla de carga
- Construya una calculadora HTML con JS
Aplicación móvil:
- Construya una aplicación de TODO de React Native
- Cree una aplicación nativa React con Redux Thunk
Aplicaciones web:
Reaccionar:
- Crear aplicaciones sin servidor react.js
- Crear un clon Trello
- Cree una aplicación de votación de personajes con React, Node, MongoDB y Socketio
- Tutorial React: Cloning Yelp
- Cree una aplicación de votación de película completa con el desarrollo de la primera prueba utilizando Mocha, React, Redux e Immutable
- Construya una transmisión de Twitter con React and Node
- Cree una aplicación de historia de Mern sin servidor con WebTask.io
- Construya un clon medio simple usando react.js y node.js
- Integre MailChimp en JS
- Construya una extensión de Chrome con React + Parcel
- Construya una aplicación TODO con React Native
- Hacer una aplicación de chat
- Crea una aplicación de noticias con React Native
- Aprenda Webpack para React
- Prueba de la aplicación React con Pupepeteer y Jest
- Construye tu propia Boilerplate React
- Codificar el juego de la vida con React
- Un tutorial introductorio Basic React+Redux
- Construir un programador de citas
- Cree una aplicación de chat con análisis de sentimientos
- Cree una configuración completa de la aplicación web de pila
- Crea clon de doísta con React y Firebase
- Construir una máquina de cotización aleatoria
- Parte 1
- Parte 2
- Parte 3
- Parte 4
- Parte 5
- Parte 6
- Parte 7
Angular:
Construye un clon de Instagram con Angular 1.x
Construya un cliente de noticias de hackers con capacidad para fuera de línea con Angular 2+
Construya un clon de Google+ con django y angularjs (Angular 1.x)
Construye una hermosa aplicación del mundo real con Angular 8:
Desarrollar un diseño receptivo con Bootstrap 4 y Angular 6
TODO APPLA CON ANGULAR 5
- Introducción a Angular
- Parte 1
Nodo:
- Cree un sitio web simple con Node, Express y MongoDB
- Construya un editor de Markdown en tiempo real con NodeJS
- Desarrollo basado en pruebas con nodo, postgrres y knex
- Escribe un bot de Twitter en Node.js
- Crea una aplicación web simple relajante
- Construya un bot de búsqueda simple en 30 minutos
- Cree una aplicación web de raspado de trabajo
Vue
- Vue 2 + Firebase: cómo crear una aplicación VUE con el sistema de autenticación de Firebase en 15 minutos
- Tutorial de aplicaciones Vue.js: creando una aplicación presupuestaria simple con Vue
- Construya un blog con Vue, Graphql y Apollo
- Cree una aplicación web de pila completa utilizando la pila MEVN (MongoDB, Express, Vue, Node)
- Tutorial de la lista de tareas vue.js (video)
Otros (hapi, express ...):
- Cree una aplicación web progresiva (PWA)
- Cree una solicitud de ticket de soporte con ADONISJS
- Construya una aplicación de escritorio nativa con JS
- Construya una potente API con NodeJS, Graphql y Hapi
D3.js
- Aprender d3 usando ejemplos
- Aprende a hacer un gráfico de línea
Desarrollo del juego:
- Haz un juego de ruptura en 2D usando Phaser
- Hacer Flappy Bird en HTML5 y JavaScript con Phaser
Aplicación de escritorio:
- Construya un reproductor de música con React & Electron
- Cree una aplicación de chat de escritorio con React y Electron
Misceláneas:
- Cómo crear un marco web en menos de 20 líneas de código
- Construye un Redux
- Cómo escribir tu propio DOM virtual
- Cree una API GraphQL GraphQL sin servidor en tiempo real con WebSockets en AWS
Kotlin:
- KEDDIT - Aprenda Kotlin mientras desarrolla una aplicación Android
Lua:
AMAR:
- Bytepath: Creación de un juego completo con Lua y Löve
- Parte 0: Introducción
- Parte 1: Game Loop
- Parte 2: Bibliotecas
- Parte 3: habitaciones y áreas
- Parte 4: Ejercicios
- Parte 5: Conceptos básicos del juego
- Parte 6: Conceptos básicos del jugador
- Parte 7: Estadísticas y ataques de jugadores
- Parte 8: Enemigos
- PARTE 9: Director y bucle de juego
- Parte 10: Prácticas de codificación
- Parte 11: Pasivos
- Parte 12: Más pasivos
- Parte 13: Árbol de habilidades
- Parte 14: Consola
- Parte 15: final
Pitón:
Raspado web:
- Minar datos de Twitter con Python
- Raspe un sitio web con Scrapy y MongoDB
- Cómo raspar con Python y Selenium WebDriver
- ¿Qué película debo ver usando beautifulsoup?
Aplicaciones web:
- Construye un microblog con frasco
- Crea una aplicación web de blog en Django
- Parte I: Introducción
- Parte II: Extensión para agregar más funciones
- Elija sus propias presentaciones de aventura
- Construya una lista de tareas con Flask y Rethinkdb
- Construya una lista de TODO con Django y desarrollo basado en pruebas
- Construya un microservicio relajante en Python
- Microservicios con Docker, Flask y Reaccionar
- Cree una aplicación web simple con frasco
- Construya una API RESTFOR con Flask - The TDD Way
- Crea una API Django en menos de 20 minutos
Bots:
- Construye un bot Reddit
- Cómo hacer un Bot Reddit - YouTube (video)
- Construye un bot Messenger de Facebook
- Hacer un Bot Reddit + Facebook Messenger
- Cómo crear un bot de telegrama usando Python
- Crea un bot de Twitter en Python
Ciencia de datos:
- Aprenda Python para la ciencia de datos haciendo varios proyectos (video):
- Parte 1: Introducción
- Parte 2: Análisis de sentimientos de Twitter
- Parte 3: Sistemas de recomendación
- Parte 4: Predecir los precios de las acciones
- Parte 5: sueño profundo en tensorflow
- Parte 6: Algoritmos genéticos
Aprendizaje automático:
- Escribe regresión lineal desde cero en Python (video)
- Aprendizaje automático paso a paso en Python
- Predecir la calidad del vino
- Resolver un problema de clasificación de frutas
- Aprenda el aprendizaje no supervisado con Python
- Construye tu propia red neuronal desde cero en Python
- Regresión lineal en Python sin sklearn
- Regresión lineal multivariante sin sklearn
- Recomendar música usando KNN
- Encuentra preguntas similares de quora-
- Usando Bow, TFIDF y XGBOost
- Usando word2vec y xgboost
OpenCV:
- Cree un escáner de documentos
- Construya un detector de cara usando OpenCV y aprendizaje profundo
- Construya un sistema de reconocimiento facial utilizando OpenCV, Python y Deep Learning
- Detectar las características sobresalientes en una imagen
- Construir un escáner de código de barras
- Aprende la agrupación de la cara con Python
- Seguimiento de objetos con camshift
- Segmentación semántica con OpenCV y aprendizaje profundo
- Detección de texto en imágenes y videos
- La gente contrarresta el uso de OpenCV
- Seguimiento de múltiples objetos con OpenCV
- Transferencia de estilo neuronal con opencv
- OpenCV OCR y reconocimiento de texto
- Tutorial de corrección de sesgo de texto
- Tutorial de detección de puntos de referencia facial
- Detección de objetos usando Mask-R-CNN
- Tutorial de detección de objetivos automáticos
- Eigenfaces usando OpenCV
- Tutorial de detección de puntos de referencia facial más rápido (5 puntos)
- Detección de punto clave de mano
- Seguimiento de objetos de correlación de DLIB -
- Rastreador de objetos individuales
- Rastreador de objetos de mutiple
- Costura de imágenes con OpenCV y Python
- Segmentación de instancia con OpenCV
- Detector de mascarillas
Aprendizaje profundo:
- Uso de redes neuronales convolucionales para detectar puntos de punto faciales
- Generar una cara promedio con Python y OpenCV
- Romper un sistema Captcha usando CNNS
- Utilice el modelo de inicio previamente capacitado para proporcionar predicciones de imagen
- Crea tu primer CNN
- Construir una tubería de reconocimiento facial
- Construir un generador de subtítulos de imagen
- Haz tu propio sistema de reconocimiento facial
- Entrenar una IA de detección de idiomas en 20 minutos
- Detección de objetos con redes neuronales
- Aprenda el análisis de sentimientos de Twitter -
- Parte I - Limpieza de datos
- Parte II - EDA, Visualización de datos
- Parte III - Ley de ZIPF, Visualización de datos
- Parte IV - Extracción de características (Vectorizador de conteo)
- Parte V - Extracción de características (TFIDF VectorSer)
- Parte VI - DOC2VEC
- Parte VII - Modelado de frases + DOC2VEC
- Parte VIII - Reducción de dimensionalidad
- Parte IX - redes neuronales con tfdif vectores
- Parte X - Nets neurales con Word2Vec/DOC2VEC
- Parte XI - CNN con Word2Vec
- Utilice el aprendizaje de transferencia para la clasificación de imágenes personalizadas
- Aprenda a codificar una red neuronal simple en 11 líneas de Python
- Construir una red neuronal utilizando el enfoque de descenso de gradiente
- Entrenar un modelo Keras para generar colores
- Comience con Keras en un conjunto de datos personalizado
- Utilice EigenFaces y FisherFaces en Faces94 DataSet
- Kaggle Mnist Digit Reconocyizer Tutorial
- Tutorial de moda de moda con tf.keras
- CNN usando keras para clasificar automáticamente la salud de la raíz
- Keras vs Tensorflow
- Aprendizaje profundo y análisis de imágenes médicas para la detección de la malaria
- Transferir el aprendizaje para la clasificación de imágenes usando keras
- Codificar un clasificador de sonrisa usando CNNS en Python
- Procesamiento del lenguaje natural utilizando scikit-learn
- Code A Taylor Swift Lyrics Generator
Misceláneas:
- Construir un intérprete simple
- Construya una simple cadena de bloques en Python
- Escribe una base de datos NoSQL en Python
- Construyendo un escáner de bomba de gas con OpenCV/Python/iOS
- Construya un sistema de transmisión distribuido con Python y Kafka
- Escribir un compilador JIT X86-64 básico desde cero en Stock Python
- Hacer un depurador de bajo nivel (Linux)
- Implementación de un motor de búsqueda
- Construir el juego de la vida
- Crear arte terminal ASCII
- Escribe un tic-tac-toe ai
- Crear arte fotomosaico
- Construye el juego "serpiente" en la terminal
- Escríbete un git
- Una implementación de Python de un corredor de bytecode de Python
Ir:
- Cree una aplicación de chat en tiempo real con Golang, Angular 2 y WebSocket
- Creación de aplicaciones web y microservicios utilizando ginebra
- Cómo usar Godog para el desarrollo impulsado por el comportamiento en Go et comenzó con Godog
- Building Blockchain en Go
- Parte 1: Prototipo básico
- Parte 2: Prueba de trabajo
- Parte 3: Persistencia y CLI
- Parte 4: Transacciones 1
- Parte 5: Dirección
- Parte 6: Transacciones 2
- Parte 7: Red
- Cree una aplicación web con Golang
- Construir un contenedor desde cero en Go - Liz Rice (sistemas de microscaluación)
PHP:
- Cómo construir un blog con Laravel (video)
- Haz tu propio blog (en PHP puro)
- Cree un ejemplo de sitio web de bienes raíces con Silverstripe
- Construyendo la aplicación de chat en tiempo real con Laravel 5.4 y Vuejs (video)
- Construya una red social: Laravel 5 - YouTube (Video)
- Construya una aplicación multi-inquilino con laravado
- Parte 0: Introducción
- Parte 1: Configuración
- Parte 2: Roles y Permisinos
- Parte 3: Invitación
- Parte 4: autenticación
- Parte 5: Pruebas
- Parte 6: Perfil de usuario
- Parte 7: despliegue
Ocaml:
- Implementar un idioma con LLVM en OCAML
Rubí:
- Construya una pila de red con Ruby
- Construye tu propio Redis
- Parte 0: Introducción
- Parte 1: servidor Barebones TCP
- Parte 2: ping <-> pong
- Parte 3: clientes concurrentes
- Parte 4: Echo
Ruby on Rails:
- Tutorial de Ruby on Rails
- Construya Instagram desde cero con rubí en rieles
- Construir una red social utilizando rieles
- Cómo construir una aplicación Ruby on Rails
Haskell:
- Escribirle A Haskell - Construya un compilador funcional moderno
- Escríbete un esquema en 48 horas
- Escribirle un esquema, versión 2
- Enrolla tu propio bot IRC
- Construyamos un compilador básico en Haskell
- Haciendo la película Mónada
- Hacer un sitio web con Haskell (anticuado)
R:
- Construir aplicaciones web con brillantes
- Construir un bot de criptomonedas
- Aprender minería de reglas asociadas en r
Óxido:
- Una simple aplicación web en óxido
- Parte 1
- Parte 2A
- Parte 2B
- Escribe un sistema operativo en puro óxido
- Construir un motor de navegador en óxido
- Escribe un microservicio en óxido
- Aprender óxido con demasiadas listas vinculadas
- Óxido en detalle: escribir servicio de chat escalable desde cero
- Parte 1: Implementación de WebSocket. Introducción.
- Parte 2: Enviar y recibir mensajes
- Escribir un Rust Roguelike para el escritorio y la web
Scala:
- Blockchain basada en actores simples
- Sin magia: expresiones regulares
Rápido:
- Hacking with Swift - Aprende Swift haciendo 39 proyectos
Recursos adicionales
- React Redux Links
- Pitón de pila completa
- Escuela de nodo
- Escocés
- Ejercicio
- Egghead.io
- Blog de Michael Herman
- Thinkster.io
- C Tutoriales basados en proyectos
- Luz
- Talleres de Hack Club