aprender a programar

Una ruta posible

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
aprender a programar por Mind Map: aprender a programar

1. Conceptos y acciones previos

1.1. Entender la diferencia entre lenguaje de programación y ambiente de desarrollo

1.1.1. Lenguajes

1.1.1.1. BAJO NIVEL

1.1.1.1.1. ............................

1.1.1.2. http://blog.epet1.edu.ar/wp-content/uploads/2015/05/que-lenguaje-de-programacion-deberia-aprender-primero.jpg

1.1.1.3. Assembler

1.1.1.3.1. C

1.1.1.3.2. LISP

1.1.1.3.3. Basic

1.1.2. Programación Escrita

1.1.2.1. Arduino

1.1.2.2. Processing

1.1.2.3. code::blocks

1.1.2.4. Visual studio

1.1.2.5. Animate (a.k.a. Flash)

1.1.3. Programación visual

1.1.3.1. Scratch

1.1.3.2. PD

1.1.3.3. MAX

1.1.3.4. VVVV

1.1.4. Ambientes de desarrollo

1.2. Prácticas básicas

1.2.1. Copiar, pegar, correr, comentar

1.2.2. Copiar, pegar, entender (adivinar), correr, entender, modificar

1.2.3. Identificar el manejo básico de archivos

1.3. Identificar el espectro de acción de la plataforma que voy a aprender

1.3.1. entradas/salidas

1.3.2. plataformas

1.3.3. Librerías

1.4. Identificar comunidades de usuarios

2. Programación Orientada a Objetos

2.1. Propiedades

2.2. Métodos

2.2.1. Constructor

2.2.2. Destructor

2.3. Herencia

2.4. Polimorfismo

3. Elementos y estructuras  básicas

3.1. Comentarios

3.1.1. Sirven para

3.1.1.1. Dejar notas explicativas

3.1.1.2. Hacer pruebas desactivando porciones de código

3.1.2. Ejemplo

3.1.2.1. // línea desactivada

3.1.2.2. /* Todo un bloque de texto desactivado. Todos estos renglones no serán tenidos en cuenta hasta que se cierre el bloque con el signo */

3.2. Instrucciones

3.2.1. TIPOS

3.2.1.1. Declaraciones

3.2.1.2. Asignaciones

3.2.1.3. Llamadas a función

3.2.2. Sintaxis

3.2.2.1. Processing

3.2.2.1.1. Las instrucciones siempre terminan en ;

3.3. Variables

3.3.1. Tipos de datos

3.3.1.1. Simples

3.3.1.1.1. Numéricos

3.3.1.1.2. Caracteres

3.3.1.1.3. Valores de verdad

3.3.1.2. Compuestos o estructurados

3.3.1.2.1. Cadenas de texto

3.3.1.2.2. Arreglos

3.3.1.2.3. Vectores

3.3.1.2.4. Mapas

3.3.1.2.5. Estructuras

3.3.1.2.6. Objetos

3.3.2. Alcance

3.3.2.1. Locales

3.3.2.2. Globales

3.4. Constantes

3.5. Operadores/ operaciones

3.5.1. Matemáticos

3.5.2. Lógicos

3.5.3. A nivel de bit

3.5.4. En cadenas de caracteres

3.5.5. Relacionales

3.6. Flujo del código

3.6.1. Precedencia de los operadores

3.6.2. Orden de ejecución de las instrucciones

3.6.3. Controles de flujo

3.6.3.1. Bloques

3.6.3.1.1. {...}

3.6.3.2. Condicionales

3.6.3.3. Bucles

3.6.3.4. Etiquetas

3.6.3.5. Saltos

3.6.3.5.1. break;

3.7. Eventos

3.7.1. Evento

3.7.2. Listener

3.7.2.1. Registro

3.7.2.1.1. Agregar

3.7.2.1.2. Eliminar

3.7.3. Handler

3.8. FUNCIONES

3.9. Librerías

4. Rutas posibles

4.1. No se nada y  todo parece chino

4.1.1. Scratch

4.1.1.1. https://scratch.mit.edu/

4.1.1.2. No necesita instalar nada, corre en web

4.1.1.3. Hacer el tutorial

4.1.1.4. Ver la galería

4.1.1.4.1. Ver el código de los que te llaman la atención

4.1.1.4.2. Modificar ese código

4.2. Ya me voy haciendo una idea

4.2.1. soy más visual

4.2.1.1. vvvvv

4.2.1.1.1. https://vvvv.org/

4.2.2. soy más sonoro

4.2.2.1. PD

4.2.2.1.1. https://puredata.info/

4.2.3. soy más web

4.2.3.1. https://www.python.org/

4.2.3.2. https://nodejs.org

4.2.4. me gusta todo

4.2.4.1. pero quiero ir de a poquito

4.2.4.1.1. Processing

4.2.4.2. e de una inventar maquinas

4.2.4.2.1. Arduino

4.3. Ya Processing me queda chico

4.3.1. openFrameworks

4.3.1.1. openframeworks.cc

4.3.2. Cinder

4.3.2.1. https://libcinder.org/

4.3.3. Me gusta sobretodo el 3D y los videojuegos tradicionales. Ma vale la cultura libre

4.3.3.1. Unity

4.3.3.2. touchdesigner

4.3.3.2.1. https://www.derivative.ca