Programación
Programación
Que es un Algoritmo?
Un algoritmo es un conjunto de instrucciones estructuradas que tienen como objetivo resolver un problema. Los algoritmos están presentes en nuestra vida cotidiana en multiples campos, desde una receta de cocina que nos indica que ingredientes necesitamos, en que orden y como debemos prepararlos para obtener el plato deseado; pasando por las instrucciones de montage de un LEGO o un mueble de IKEA, una partitura musical que indica que notas tocar para reproducir una determinada pieza, una guía de color que nos dice que tenemos que mezclar azul y amarillo para obtener verde.
Estas instrucciones o algoritmos pueden representarse/implementarse utilizando diferentes lenguajes y estructuras (codigos de representacion). Ejemplo:
- mezclando azul y amarillo obtendremos verde. Si a ese verde le añadimos blanco sera verde claro, pero si le añadimos negro sera verde oscuro.
+blanco = verde claro
- azul + amarillo = verde <
+negro = verde claro
- [ ] + [ ] = [ ]
En computación los programas son algoritmos escritos en un lenguaje especifico y comprensible para la maquina.
Al igual que en el ejemplo anterior en el que escribimos con tres códigos de representación deferentes el algoritmo que resuelve el problema: Como crear color verde?, en la programación pasa igual y existen multiples estructuras, lenguajes y entornos que nos permitirán implementar el algoritmo que solucione nuestro problema. NO HAY UN SOLO CAMINO CORRECTO
Existen muchos lenguajes de programación diferentes y aunque unos y otros frecuentemente tienen elementos en común, cada language se rige por sus reglas especificas, esto implica que un comando/elemento que funciona en un lenguaje puede no funcionar en otro, por lo que tendremos que seguir de manera rigurosa/exacta los códigos de representación del lenguaje y el entorno en el que estemos programando.
Ejercicio: Busca 2 ejemplos de algoritmos en tu vida cotidiana :)
Que es la programación?
El software son los componentes lógicos, las instrucciones o algoritmos que serán seguidos por los componentes físicos, denominados hardware y comúnmente conocidos como ordenador/computadora, con el fin de realizar una tarea determinada. El software le dice al ordenador lo que tiene que hacer para lograr el resultado deseado.
La programación informática se refiere al proceso de construcción de estos grupos de instrucciones para ordenadores y se basa en flujos de datos que se almacenan, comprueban y transforman (paso a paso) de manera organizada/estructurada. Esta combinación de hardware y software constituye el sistema/la infraestructura que permitirá que los datos introducidos en un programa, a los que se conocen como inputs/entrada, sean procesados (comprobados, leídos, almacenados, modificados). El resultado que este programa proporciona se conoce como output/salida. Esta terminología y estructura se aplica también a los procesos internos de los programas, ya que un programa esta constituido por otros programas mas pequeños, multiples procesos conectados e interrelacionados. Generalmente todo proceso tiene una entrada de datos (input), acciones que, sobre y con esos datos, ocurren durante el proceso, y una salida de datos(output) que es el resultado del proceso. Programar es la acción de construir esos programas para ordenador (Scratch, 2022).
Programación Visual y Programación basada en texto
La programación grafica (VPL Visual programing languages) nos permite crear estas estructuras para comprobar y transformar datos de manera visual en 2D (dos dimensiones) o incluso 3D (tres dimensiones).
Scratch del MIT Media Lab 2002 creado para niños
Grail (Graphical input language) 1968
Pygmalion (1975)
Bube 1995 First 3D programing language
Abstraction (1983) data flow based language
Vamos a tomar como metáforas los sistemas hidrográficos; ríos, arroyos, pozos, lagos, meandros y las infraestructuras que el ser humano introduce en estos sistemas fluviales para modificar el curso y estado del agua: presas, centrales hidroeléctricas, sistemas de canalización para el riego, acueductos o simples marcas en la pared de un canal para medir el nivel del agua y obtener información acerca del crecimiento de los ríos.
explicar que es programación gráfica (ejemplos de otros programas: vvvv, max. y a que se refiere con tiempo real: motores de videojuegos vs renders fotorealistas. escribir lineas de codigo vs conectar objetos. explicar diferencia entre datos e información. explicar software y hardware. explicar que es un algoritmo. Hacer el hello world y hacer una suma en Pd y en arduino para que vean la comparativa.
Ejemplo de artista visual y sonora que trabaja con el procesamiento de datos Rioji Ikeda. data visualization.
Referencias:
Nakashima, Emily (2018, May 12-13) Whoa, pictures! A visual history of visual programming languages! [Conference session] !!Con 2018, New York, United States. https://www.youtube.com/watch?v=mU1aPvvQbqk
Pure Data (2022). Pure Data home. [Website/Pagina web] Pure Data. Consultado el 16 Agosto 2022 de http://puredata.info/
Scratch (n.d). Programming. Scratch wiki. Retrieved August 17, 2022 https://en.scratch-wiki.info/wiki/Programming