Informatica General Tirigall

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

Universidad Nacional de las Artes (U.N.A.

)
Área Transdepartamental de Artes
Multimediales

Asignatura:
Informática General
Tirigall, Juan José María

PROPUESTA PEDAGÓGICA
Introducción
La asignatura propone brindar al alumno un proceso de aprendizaje durante el cual podrá
adquirir la lógica necesaria para diseñar e implementar algoritmos.

Con tal fin, la meta es enseñar al alumno las herramientas necesarias para que pueda codificar
dichos algoritmos, partiendo del desarrollo de pseudocódigo y esquemas hasta la
implementación de programas en un lenguaje eficiente como es C++.

Se realizarán los trabajos prácticos y los ejemplos en base a la introducción al desarrollo de


videojuegos utilizando el lenguaje de programación C++ y el motor de videojuegos Unreal
Engine.

Fundamentación
La programación es hoy en día una herramienta prácticamente fundamental para un artista
multimedial contemporáneo. Desde el desarrollo de instalaciones interactivas, pasando por las
esculturas mecatrónicas y la robótica hasta la programación de videojuegos, requieren de este
tipo de conocimientos. Por lo que es necesario brindarle al alumno una formación importante
en esta área, para que logre resolver diferentes problemáticas algorítmicamente y que pueda
implementar esas soluciones en el lenguaje de programación que considere adecuado. La
carrera de Artes Multimediales le exige al alumno tener un conocimiento sólido de
programación para poder desenvolverse con comodidad en diferentes asignaturas como así
también en su futuro desarrollo profesional, por tal motivo la cátedra propone una formación
eficiente para que el alumno pueda alcanzar estas expectativas.

Metodología Propuesta
Cada unidad temática será desarrollada en forma teórica y práctica. Se realizarán exposiciones
y ejemplificaciones. Los alumnos participarán en forma individual o grupal de las prácticas
correspondientes con la supervisión docente. Todas las actividades son de carácter obligatorio.
Se trabajará con abundante material teórico y práctico. Alrededor de ellos el docente
introducirá y ejemplificará los contenidos previstos para la clase.

Las clases se organizarán en dos bloques, en el primero se dictarán los contenidos


correspondientes a cada clase de la manera enunciada anteriormente, y en la segunda parte se
responderán consultas y realizarán las correcciones puntuales, tanto en relación a los temas
dados como al proceso de desarrollo de sus prácticas.

Cada alumno, grupal o individualmente según sea el caso, expondrá la consulta o presentará el
material a corregir en frente de la clase y el profesor hará las observaciones pertinentes, de
esta manera se genera una dinámica que permite a todos los alumnos tomar conocimiento de
los procesos de trabajo de sus compañeros y nutrirse de las devoluciones de los demás, más
allá de la consulta o corrección particular de cada uno.

2
Objetivos Generales

• Brindarle el alumno las herramientas fundamentales para que pueda desenvolverse


con comodidad en el desarrollo de aplicaciones de escritorio y web.
• Que el alumno pueda elegir la plataforma de desarrollo adecuada según sus
necesidades y pueda migrar entre ellas gracias a un conocimiento solido en algoritmos
y programación.

Objetivos Específicos

• Comprender un típico entorno de desarrollo de programación.


• Aprender a utilizar los tipos fundamentales.
• Aprender a utilizar los operadores aritméticos.
• Escribir instrucciones simples para tomar decisiones.
• Crear programas en forma modular a partir de funciones.
• Crear funciones con varios parámetros.
• Crear programas con el paradigma de Programación Orientada a Objetos.
• Comprender qué son las clases, los objetos, las funciones miembro y los miembros de
datos.
• Aprender a escribir y usar funciones recursivas.
• Utilizar la estructura de datos tipo arreglo para representar un conjunto de elementos
de datos relacionados.
• Conocer las técnicas de búsqueda y ordenamiento de arreglos.
• Distinguir qué son los punteros.
• Conocer las similitudes y diferencias entre los punteros y las referencias y cuándo
utilizar cada uno de estos elementos.

Criterios de evaluación
La materia se aprueba por promoción indirecta.

Para aprobar la cursada de la materia el alumno deberá aprobar todos los trabajos prácticos y
todos los parciales (en caso de que se tomen) con una nota mayor o igual a 4 (cuatro).

Los mismos deberán ser entregados para su evaluación atendiendo a las fechas acordadas por
la cátedra. En dichas evaluaciones se considerará:

• La capacidad para resolver los problemas planteados.


• La compresión de los contenidos.
• La flexibilidad en la aceptación de la crítica para modificar el punto de vista.

Posteriormente, el alumno deberá rendir un examen final.

Aprobación de la materia
Las siguientes condiciones son necesarias para la aprobación de la materia:

3
• 80% de asistencia a clases.
• Haber aprobado los trabajos prácticos
• Haber aprobado el examen final

Programa de estudios ajustado a los contenidos mínimos

1003. INFORMÁTICA GENERAL

Introducción a la programación. Conceptos básicos de programación. Algoritmos. Estructuras


secuenciales. Estructuras alternativas. Estructuras repetitivas. Tipos de datos. Operadores.
Identificadores. Constantes. Variables.

Técnicas algorítmicas para la solución de problemas. Pseudocódigo. Diagramas de flujo.


Estructuras de control. Estructuras secuenciales. Estructuras condicionales. Estructuras cíclicas
o repetitivas. Arreglos (arrays). Módulos y funciones. Variables locales y globales.

HTML. Tipos de documentos. Elementos y atributos. Diseño e interactividad en HTML.


Introducción a la programación cliente/servidor en el Web. CSS Hojas de estilo. Redefiniciones
y clases. Pseudoclases. Posicionamiento. JavaScript. Funciones. Objetos y métodos. Arrays.
Eventos. Procesar y comprobar formularios. Animación e interactividad.

UNIDAD I: Introducción a la Programación

Concepto de algoritmo: Definición de algoritmo y problema. Análisis del enunciado de un


problema y del problema. Memoria y operaciones aritméticas y lógicas.

Conceptos de programación: Lenguajes de programación. Codificación de un algoritmo.


Programa de computación. Consola. Entrada y salida de datos. Lenguajes algorítmicos.
Pseudocódigo. Representación gráfica de algoritmos: Representación gráfica de la estructura
secuencial, de la estructura de repetición y de módulos y funciones.

Codificación de algoritmos utilizando el lenguaje C++. El archivo de código fuente. Comentarios


en el código fuente. La compilación y el programa ejecutable. El entorno integrado de
desarrollo (IDE). La memoria de la computadora. El byte. Conversión numérica: de base 2 a
base 10. Dimensionamiento de los datos. Los números negativos. Los caracteres.

Trabajar con variables. Trabajar con constantes. Crear expresiones y declaraciones. Trabajar
con condicionales. Operadores aritméticos. Operadores lógicos. Expresiones lógicas.
Conversión de tipos de datos (type casting). El operador % (“módulo” o “resto”).

UNIDAD II: Programación Estructurada.

Introducción a la programación estructurada. Instrucciones de Control: Estructuras de control.


Instrucción de selección if. Instrucción de selección doble if ... else. Instrucción de repetición
while. Cómo formular algoritmos: repetición controlada por un contador. Repetición
controlada por un centinela. Instrucciones de control anidadas. Operadores de asignación.
Operadores de incremento y decremento.

4
Fundamentos de la repetición controlada por contador. Instrucción de repetición for. Ejemplos
acerca del uso de la instrucción for. Instrucción de repetición do. . . while. Instrucción de
selección múltiple switch. Instrucciones break y continue. Distinción entre operadores de
igualdad (= =) y de asignación (=)

Funciones y recursividad: Introducción. Definiciones de funciones con varios parámetros.


Prototipo de funciones. Archivos de encabezado de la Biblioteca estándar de C++.
Polimorfismo Funcional. Funciones Especiales. Recursividad, serie de Fibonacci.

Arreglos: Introducción. Declaración y creación de arreglos. Ejemplos de uso. Paso de arreglos a


funciones. Búsqueda de datos en arreglos. Ordenamiento de arreglos. Arreglos
multidimensionales.

UNIDAD III: Programación Orientada a Objetos

Introducción a la Programación Orientada a Objetos. Alcance de las clases y acceso a los


miembros de una clase. Métodos de clase, constructores y destructores. Interface frente a
implementación. Trabajos con clases. Entender los punteros. Declaración e inicialización de
variables punteros. Operadores de punteros. Como usan los punteros la memoria. Puntero this
y punteros constantes. Administración dinámica de memoria con los operadores new y delete.

Trabajar con referencias. Trabajar con punteros y referencias. Paso de argumentos a funciones
por referencia mediante punteros. Uso de const con punteros. Operador sizeof. Arreglos y
apuntadores. Apuntadores a funciones.

Introducción a la herencia. Clases base y clases derivadas. Miembros protected. Los


constructores y destructores en las clases derivadas. Herencia public, protected y private.
Introducción al polimorfismo. Relaciones entre los objetos en una jerarquía de herencia. Tipos
de campos e instrucciones switch. Clases abstractas y funciones virtual puras.

UNIDAD IV: Programación web

Introducción al diseño web. Las tres capas de la web. Navegadores. Plugins. Introducción al
HTML. Etiquetas HTML. Semántica HTML5. Validación. Tecnologías combinadas en una página
web. Editores HTML. Recursos en la web.

Introducción a los estilos CSS. Introducción a JavaScript. Combinar HTML, CSS y JavaScript.
Formateo de texto en HTML. Organización de una página con HTML. Cabecera, pie, barras de
navegación y contenedores. Estructuras típicas. Trabajo con catálogos de elementos con
HTML. Listas con HTML y CSS. Listas ordenadas y de descripción en HTML. Tipografía, fuentes
web en HTML. Imágenes y multimedia con HTML. Colocar imágenes, imágenes y enlaces en
HTML. Imágenes de fondo. Insertar audio y video en HTML.

Creación de formularios en HTML. Controles típicos en formularios, etiqueta input. Creación de


menús desplegables con HTML. Textareas. Crear grupos de opción y checkboxes. Botones
HTML. Dar estilos a los formularios. Formularios en HTML5.

5
Bibliografía

BIBLIOGRAFÍA OBLIGATORIA

- DE LUCA, Damián. “HTML5”, USERS, 2011.


- DEITEL, Paul y DEITEL, Harvey. “Como programar en C++. Novena Edición”, Pearson
educación, México, 2014.
- MINERA, Francisco. “Desarrollador web”, USERS, 2011.
- SHERIF, William. “Learning C++ by Creating Games with UE4”, Packt Publishing 2015.
- SHERIF, William y WHITTLE, Stephen.“Unreal Engine 4 Scripting with C++ Cookbook”,
Packt Publishing 2016.

BIBLIOGRAFÍA OPTATIVA

- FHALA, Ben. “HTML5 Graphing and Data Visualization Cookbook”, Packt Publishing,
2012.
- GREENBERG , Ira. “Processing Creative Coding and Computational Art”, Springer-
Verlag, 2007.
- KERNIGHAN, Brian W. y RITCHIE, Dennis M. “El Lenguaje de Programación C”, Prentice
Hall, México, 2a ed., 1991.
- LÓPEZ, Gustavo. JEDER, Ismael y VEGA, Augusto. “Análisis y Diseño de Algoritmos,
Implementaciones en C y Pascal”, Argentina, 2009.
- NOBLE, Joshua. “Programming Interactivity: A Designer's Guide to Processing, Arduino,
and OpenFrameworks”, O'Reilly, 2009.
- REAS, Casey, FRY, Ben. “Processing: a programming handbook for visual designers and
artists”, The MIT Press, Cambridge, Massachusetts, 2007.
- SHIFFMAN, Daniel. “Learning Processing: a beginner's guide to programming images,
animation, and interaction”, Morgan Kaufmann, 2008.
- STROUSTRUP, Bjarne. “El Lenguaje de Programación C++”, Addison-Wesley, España,
2002.
- SZNAJDLEDER, Pablo Augusto. “Algoritmos a fondo con implementaciones en C y
JAVA”, Buenos Aires, Alfaomega, 2012.
- TERZIDIS , Kostas. “Algorithms for Visual Design Using the Processing Language”, John
Wiley and Sons, 2009.
- WILSON, Stephen. “Information arts: Intersections of Art, Science, and Technology”,
The MIT Press, Cambridge, Massachusetts, 2002.

También podría gustarte