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