ST _ Introducción a la Programación

<< Asignaturas

Profesor: Agustín Ramos Anzorena
Cuatrimestre: 1
Aula: Laboratorio
Encuentros: 7

Fundamentación
Aprender a programar requiere mucho más que conocer algún lenguaje y entender su sintaxis. La naturaleza y complejidad de la computadora propone una manera diferente de pensar nuestra comunicación con ella.

Esta materia introducirá al alumno a la programación, partiendo de la comprensión del pensamiento computacional, para después poder implementarlo efectiva y creativamente en el framework Processing.

Dentro de los conceptos principales del pensamiento computacional, se encuentran: secuencialidad, algoritmos, capas de abstracción, instrucciones, iteración, protocolos, niveles de representación, modularización, lógica, pilas, retroalimentación de información, mucha paciencia e imaginación.

Metodología de Trabajo
La metodología de trabajo es esencialmente práctica.
La enseñanza comenzará con juegos sobre el pensamiento computacional, fuera de la computadora. A medida que los alumno se vayan sintiendo más cómodos, se los introducirá a la implementación en lenguaje Processing/Java, al mismo tiempo que se presentarán otros lenguajes pequeños que ayudan a entender la programación desde ángulos mas experimentales.

Metodología de Evaluación
Se evaluará a cada alumno basada en las actividades dentro de la clase y el proyecto final.

Requisitos de aprobación

  • Asistir al 80% de las clases y actividades.
  • Se espera que el estudiante sea puntual.
  • Participar en la discusión en clase.
  • Demostrar la investigación individual de los temas tocados.
  • Completar la entrega final de ejercicios.

Criterios de evaluación de proyectos

  • Puntualidad y prolijidad.
  • Demostración de la comprensión de los temas dentro de los ejercicios pedido.
  • Expansión de las capacidades de un programa mediante la incorporación de funcionalidades nuevas en el código del alumno.
  • Documentación del código.

Objetivos Generales

  • Obtener y comprender la lógica el pensamiento computacional.
  • Ser capaz de traducir el pensamiento computacional a cualquier problemática de naturaleza computacional, y a cualquier implementación de lenguaje de programación.
  • Obtener las herramientas básicas para enfrentar la tarea de programar desde la primer línea de código.

Objetivos Específicos

  • Generar y comprender el código de programación propio.
  • Conocer los componentes fundamentales presentes en la mayoría de los lenguajes de programación.
  • Ejercitar y facilitar la lectura de códigos ajenos.
  • Identificar distintos patrones computacionales.
  • Visualizar los horizontes de la programación digital.
  • Conocer otros frameworks y programas para programar.

Contenidos
Unidad 1:
Actividades de Pensamiento Computacional.
Introducción a Processing.
Otros frameworks de código creativo.

Unidad 2:
Gráficos por computadora.
Actividades con otros lenguajes.

Unidad 3:
Funciones específicas de dibujo en Processing
Variable y Control de Flujo: Condicionales e Iteración
Aplicación y modularización de un algoritmo.
Funciones

Unidad 4:
Arrays
Clases y Objetos
Funciones avanzadas del lenguaje.

Bibliografía obligatoria
“Processing, un lenguaje al alcance de todos”, Ignacio Buioli y Jaime Perez Marin.
“Learning Processing”, Daniel Shiffman. (http://learningprocessing.com/)
https://processing.org/reference/

Bibliografía recomendada
“Generative Gestaltung”,  Hartmut Bohnacker, Benedikt Groß, Julia Laub y Claudius Lazzeroni.
“Exploratory Programming for the Arts and Humanities”, Nick Montfort.