Download (09651) Diseñando con Algoritmos (Moodle)

Document related concepts
no text concepts found
Transcript
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE TECNOLOGÍAS DE INFORMACIÓN Y
COMUNICACIONES
Materia:
Requisitos:
Programa – Semestre:
Período académico:
Intensidad semanal:
Créditos:
09651 – Diseñando con Algoritmos
09686 – Fundamentos de programación para el diseño
Diseño de Medios Interactivos - 4
2016 - 2
5 horas
3
Descripción
Este curso ofrece los elementos necesarios para que el estudiante apropie la programación como un
medio de expresión de ideas de diseño audiovisual y una herramienta para la comprobación de
esquemas de interacción entre el usuario y el computador.
En su desarrollo se busca que cada estudiante avance en el conocimiento de la Programación Orientada
a Objetos – utilizando el lenguaje de programación Java – lo cual le permitirá resolver problemas más
complejos e interesantes de interactividad y de manejo de información multimedia, así como adquirir
conocimientos avanzados de programación, específicamente de conceptos como colecciones, paquetes,
programación multihilo y programación gráfica.
Objetivos
Generales
Al concluir el curso, el estudiante estará en capacidad de:
 Resolver problemas y proyectos de diseño interactivo de manera creativa, integrando multimedia
e interfaces externas, mediante programas que incluyan el uso de conceptos de programación
orientada a objetos en Java y el uso de colecciones, flujos e hilos.
Terminales
Al finalizar el curso el estudiante estará en capacidad de:
1. Utilizar conceptos avanzados de programación orientada a objetos para resolver problemas de
diseño interactivo.
2. Utilizar de librerías de la plataforma de programación para implementarlas en trabajos propios.
3. Utilizar librerías de diferente naturaleza para incluir o manipular elementos multimedia en
proyectos visuales.
4. Desarrollar aplicaciones separando la lógica de las interacciones y utilizando el concepto de
autómatas.
5. Construir proyectos de diseño de medios interactivos basados en argumentos conceptuales
apoyados por los principios del diseño.
6. Realizar propuestas creativas de alto impacto gráfico, artístico, conceptual y visual usando
como recursos la imagen, el sonido y el video.
7. Diseñar proyectos que generen experiencias interactivas a través de interfaces con las
posibilidades que la programación orientada a objetos permite.
Específicos
De formación académica:
Al finalizar cada unidad, el estudiante estará en capacidad de:
Diseñando con Algoritmos
Página 1 de 5
Unidad 1: Revisión de fundamentos y conceptos avanzados:
 Retomar los conceptos fundamentales de programación orientada a objetos: Clases, objetos,
métodos, polimorfismo por sobrecarga y relaciones de asociación, trabajados en el curso previo.
 Emplear los conceptos de herencia y polimorfismo por sobreescritura en la solución de diferentes
ejercicios.
 Afianzar las habilidades en el análisis de los problemas empleando los diagramas de clases y la
descripción de métodos.
 Usar los diversos niveles de interacción y comunicación digital a través de las interfaces.
Unidad 2: Librerías de la plataforma de programación:
 Explicar, en sus palabras, los conceptos asociados a paquetes, interfaces y API.
 Aplicar los conceptos de interfaces y API en la solución de ejercicios prácticos propuestos.
 Explicar los conceptos de colecciones con ordenamientos.
 Aplicar los conceptos de colecciones con ordenamientos en ejercicios prácticos propuestos.
 Emplear creativamente metáforas gráficas usando las técnicas básicas de diseño de interfaces.
Unidad 3: Hilos, excepciones y eventos:
 Explicar los conceptos relacionados con los hilos en Java.
 Diseñar e implementar soluciones a un problema sencillo determinado, usando hilos.
 Explicar los conceptos relacionados con el manejo de excepciones en Java y su utilización para
el trabajo con hilos.
 Diseñar e implementar soluciones a un problema determinado, usando hilos y excepciones
 Aplicar los conceptos de eventos para controlar la interacción entre el usuario, separada de la
lógica de la aplicación, al trabajar los ejercicios relacionados con autómatas.
 Crear diversas estructuras de lenguaje visual dinámico a partir de la interactividad.
Unidad 4: Métodos y librerías para el manejo multimedia:
 Identificar las clases de java que permiten trabajar el sonido en distintos formatos.
 Identificar los métodos de java que permiten la manipulación y edición de imágenes.
 Identificar las clases de java que permiten la creación y reproducción de video de diferentes
fuentes
 Emplear las clases y métodos para manejo multimedia en la solución de problemas planteados
por los profesores.
 Generar alternativas de comunicación mediante imagen, sonido y video dentro de interfaces
digitales.
 Emplear la imagen, el sonido y el video en la creación de experiencias interactivas con
participación transformativa por parte del usuario.
De formación en valores y competencias
Contribuir a la formación de valores y habilidades tales como:
 La perseverancia y la autonomía, a través del desarrollo de los ejercicios que entregan los
profesores.
 La tolerancia, mediante el respeto ante la participación de los compañeros y el profesor en clase
(que muchas veces no coinciden con la propia opinión).
 La capacidad de análisis y conceptualización, a través de la identificación y modelado de los
elementos necesarios para resolver un problema planteado.
 La capacidad de síntesis cuando deben elaborar una aplicación final utilizando elementos ya
desarrollados.
 La capacidad de manejo de la información, mediante la búsqueda de elementos en el API de
Java, que ayuden en la solución de un problema planteado.
Diseñando con Algoritmos
Página 2 de 5

La capacidad de trabajo bajo presión, ya que se cuenta con tiempos limitados para algunas
actividades.
Metodología
Los estudiantes deberán preparar, antes de la clase, los temas asignados por el profesor, para lo cual:
 Estudiarán el material asignado en la programación del curso.
 Contestarán las preguntas que contiene el material, así como las preguntas adicionales que el
profesor entregue.
 Resolverán los ejercicios propuestos en el material, así como los ejercicios adicionales que se le
entreguen.
 Asistirán a las sesiones de monitoria o tutoría como parte del proceso de aprendizaje,
aprovechando estos espacios para afianzar los temas vistos en clase.
 La preparación previa de los temas debe ser una labor constante, el estudiante deberá traer
preguntas, dudas y comentarios a cada una de las sesiones. Debe estar listo para las pruebas o
ejercicios que se planteen en clase.
 De ninguna manera se considera preparar la clase leer a la carrera el material, justo antes de
entrar al salón.
Durante la clase, el estudiante deberá:
 Plantear las dudas que le quedaron durante el proceso de estudio del tema a tratar.
 Participar en las actividades de revisión y consolidación de conceptos que proponga el profesor.
 Trabajar en la solución de los problemas de aplicación que se propongan.
Después de la clase:
 Establecer las relaciones entre los temas tratados en la clase y el conocimiento previamente
adquirido.
 Resolver los ejercicios de aplicación del tema, que tienen un nivel de complejidad mayor al de los
ejercicios que resolvió previamente.
 Adicionalmente, si ya se ha planteado el proyecto de la unidad debe trabajar individual o
grupalmente en el mismo, según el caso: identificar las relaciones entre los conceptos recién
aprendidos y los conceptos previamente trabajados.
Este curso tiene dos componentes, con igual importancia:
 Componente Teórica: Consiste en la discusión de los diferentes temas y el hacer ejercicios que
permitan ponerlos en práctica, esto en el salón de clase. Esta componente se desarrolla en tres
(3) horas por semana.
 Componente Práctica: Consiste en la resolución de ejercicios y su implementación en processing,
esto en la sala de cómputo. Para esta componente se han destinado dos (2) horas por semana.
Metodología específica para diseño:
Se trabajarán 3 metodologías específicas durante el semestre que son base para el desarrollo de
software e implementación de prototipos. Modelo en cascada, prototipado evolutivo y modelo invertido.
En cada una de ellas habrá diferentes entregas dentro de las fases que cada metodología propone y los
tiempos serán relativos a cada entrega en particular.
Es muy importante apoyarse con asistencias a tutorías de diseño donde podrán recibir oportunas
retroalimentaciones del proceso y un adecuado acompañamiento.
El grupo cuenta con un monitor académico, quien les brindará apoyo principalmente en las dudas
referentes al entorno de programación, para lo cual se programará una sesión de dos (2) horas
por semana, de libre asistencia por parte de los estudiantes.
Evaluación
Diseñando con Algoritmos
Página 3 de 5
La nota del (los) proyecto(s) grupal(es) solo entrará(n) a contar en la nota definitiva del curso si
el estudiante obtiene una nota igual o superior a 3.0 en el promedio ponderado de las notas individuales.
Durante el semestre se calificará solo 3 talleres de ejercicios en clase que corresponderán al porcentaje
de las Pruebas cortas y tareas junto con los quices. Los ejercicios a calificar se definirán de manera
aleatoria en la semana 14. Se recomienda ser muy puntuales con las entregas de estos talleres y su
correcto desarrollo.
 La no entrega de ficha técnica acarrea una nota de cero (0.0) en el componente de diseño del
taller completo.
 La no entrega de diagrama de clases UML acarrea una nota de cero (0.0) en el componente de
programación del taller completo.
 Tanto para ficha tecnica como para diagrama de clases UML, solo habrá una unica entrega
calificable y no se calificará ni tendrá en cuenta para evaluación una segunda entrega.
 Solo se tendrá en cuenta para evaluación lo que esté en Moodle.
 Ya no existirá la opción de entrega tarde, a cambio, los talleres y sus componentes (Ficha
técnica, UML y Código) tendrá dos fechas de entrega: entrega esperada (que es cuando debería
entregarse) y entrega máxima (que es la fecha máxima que se recibe el trabajo para ser
calificado). Lo que no se entregue antes de la entrega máxima, no se califica.
 Recordar que lo que no está en Moodle no existe, por lo tanto, no se recibirán entregas por
correo ni otros medios.
Los cálculos de las notas se realizarán así:
Nota individual:
Evaluación
Parcial 1
Parcial 2
Taller Individual 1
Taller Individual 2
Taller grupal 3
Taller grupal 4
Quices, ejercicios en
clase y tareas.
Nota individual
Valor
20%
20%
15%
15%
7%
7%
16%
Unidades
que cubre
1, 2 y 3
1, 2, 4 y 5
1y2
1y2
1, 2 y 3
1, 2 y 3
1, 2, 3, 4 y 5
Semana de
entrega/realización
Semana 8
Semana 16
Semana 2-5
Semana 5-8
Semana 8-12
Semana 13-16
Programados o no
programados
100%
Nota grupal:
Evaluación
Proyecto primera entrega
Proyecto segunda entrega
Proyecto tercera entrega
Sustentación
Nota grupal
Valor
10%
15%
35%
40%
100%
Semana de entrega
Semana 7-11
Semana 11-14
Semana 15-17
Semana 17
Nota proyecto final:
Si (nota Análisis, diseño y programa (nota grupal) < 3.0) entonces:
Nota proyecto final = Análisis, diseño y programa
Si (Análisis, diseño y programa (nota grupal) >= 3.0) entonces:
Nota proyecto final = (Sustentación (nota individual)* 0.4) + (Análisis, diseño y programa * 0.6)
Acorde a la tabla anterior para cada entrega y sustentación.
Nota definitiva:
Si (nota individual < 3.0) entonces:
Nota definitiva = nota individual
Si (nota individual >= 3.0) entonces:
Nota definitiva = (nota individual * 0.7) + (proyectos en grupo* 0.3)
Diseñando con Algoritmos
Página 4 de 5
En algunos talleres individuales se dará mayor peso al entendimiento y resultado funcional del trabajo, y
menor peso al componente de diseño; sin embargo, en otros tendrá mayor peso en la evaluación.
Los talleres no abordan todos los objetivos de las unidades enunciadas, estos se encuentran
especificados en los enunciados de cada una de las actividades.
Bibliografía

Notas de clase basadas en el libro de Sandra Victoria Hurtado Gil, disponibles en moodle.

Hurtado Gil, Sandra Victoria. “Conceptos Avanzados de Programación con Java”. Universidad Icesi,
2002
 Casey Reas and Ben Fry. Processing. A programming handbook for visual designers and artists. MIT
Press.
 Scolari, Carlos Alberto. Hacer clic: hacia una sociosemiótica de las interacciones digitales.
 Scolari, Carlos Alberto. Hipermediaciones: elementos para una teoría de la comunicación digital
interactiva.
 www.wiring.org.co
 www.processing.org
 Grupo diseñando con algoritmos en Facebook.
Diseñando con Algoritmos
Página 5 de 5