Versión 0.0.1 Algunos derechos reservados
Este programa está orientado a personas con experiencia mínima o inexistente en la operación y desarrollo de productos tecnológicos, que busquen hacerse de herramientas nuevas para resolver problemas.
El programa está dividido en seis sesiones: entender, aprender, hacer, no entender, materializar, y repetir; cada una compuesta por temas de exposición, inmediatamente seguidos de ejercicios y discusiones al respecto.
Tenemos que observar cómo ven loas programadoreas el mundo a la hora de programar, y cómo existen herramientas e infraestructura que nos hacen la vida más fácil.
- Problemas resolvibles: ¿Qué programamos? ¿Porqué lo hacemos? ¿Qué resolvemos?
- PUSH THE RED BUTTON: ¿Qué es un lenguaje de programación? ¿Qué es el código? ¿Cómo se come eso?
- Nubes y pasteles: ¿Qué es el internet? ¿Qué podemos hacer con una computadora?
Ahora que vemos qué resuelve la programación, podemos aprender a hablar el lenguaje básico abstracto, que será la base del conocimiento que adquieran los participantes más adelante, eventualmente por su cuenta.
- Algoritmoñol: Si las computadoras no piensan, ¿cómo "resuelven problemas"?
- Estructuras de datos: La era de la información será para quienes la estructuren con sus manos.
- Estructuras de control: El lenguaje propio electrónico
Muchas nueces y poco ruido, es hora de aplicar lo que sabemos a problemas discretos y herramientas concretas, el mero mole de la programación.
- Hola, configuración!: Antes de empezar, tenemos que preparar
- Hola, mundo!: Haremos
/(ruby|javascript)/
- Hola, librerías!: No tenemos que reinventar la rueda, hay código gratis para todoas.
Vamos a cometer errores, y nos vamos a trabar, es importante conocer los métodos para resolver los problemas que nosotros mismos creamos al programar, y cómo resolver las dudas que tengamos en el camino.
- Rubber-duck debugging
- GTSOI: Google the shit out of it
- Meatspace: Las computadoras no saben pensar, loas programadoreas no sabemos hablar.
Con todo lo aprendido, tomaremos el tiempo de planear y desarrollar una herramienta en equipo para resolver un problema real y concreto. No se trata de comunicar lo chido que es programar, sino de experimentarlo
- Ideas sobran: ¿Qué podemos resolver? ¿Qué queremos resolver?
- Horas nalga: Todo se resume en esto, vamos a programar
Tenemos ya las herramientas para continuar aprendiendo por nuestra cuenta, ¿qué sigue? ¿cómo aplico esto a mi trabajo? ¿cómo me dedico a esto "profesionalmente"?
- git/github: ¿Cómo lidio con este desmadre?
- bases de datos: ¿Dónde guardo tanto desmadre?
- una serie de tubos: ¿Existe más desmadre?
Las personas que deseen participar en este programa necesitan saber:
- leer,
- escribir, y
- aritmética básica
Un dominio del inglés también hace la vida más fácil, pero no es absolutamente necesario.
Una computadora, idealmente corriendo MacOS X >= 10.8 o Windows >= 7.