Estudios
Pabellón FCEx

Tecnicatura Universitaria en Desarrollo de Aplicaciones Informáticas - Contenidos Mínimos y Objetivos de las Asignaturas

Primer Cuatrimestre

1.1 - Programación 1

Fundamentación

Este curso introduce a los alumnos a los conceptos básicos de programación, principalmente aprendiendo lógica y condiciones, secuencias de ejecución y tipos de datos. Para esto, aprenderá la sintaxis de un lenguaje de programación junto con un entorno de desarrollo visual, de simple uso y que permita el desarrollo rápido de programas.

Al finalizar el curso, los alumnos podrán implementar y ejecutar programas que resuelvan problemas sencillos. El enfoque para encarar problemas de distinto tamaño será a partir de aplicar diferentes metodologías de división de problemas utilizando distintas estructuras de datos básicas.

Objetivos
  • Que el alumno adquiera los conocimientos básicos de programación.
  • Que el alumno se familiarice con conceptos y herramientas de desarrollo.
Contenidos mínimos

Conceptos de Programación. Declaración de variables. Tipos de datos. Lógica. Condiciones simples y combinadas. Bucles de control. Estructuras básicas: arreglos - matrices - vectores. Acceso y modificación de variables. Noción de tipos abstractos de datos. Encapsulación. Principios de modularización por división de sub-problemas y asignación de responsabilidades.

Manejo de archivos, entrada y salida de datos. Entornos de desarrollo. Compilación. Ejecución. Debugging.

1.2 - Web 1

Fundamentación

Este curso introduce al alumno al modelo de desarrollo para Internet. Para esto, aprenderá nociones generales, tal como sitios, lenguajes, navegadores y modelos de comunicaciones. A continuación, comenzará con el diseño de páginas web utilizando un lenguaje declarativo, definiendo contenido y formato de datos. Cerca del final del curso, podrá incorporar los conocimientos básicos de programación para añadir contenido dinámico en estas páginas.

Objetivos
  • Que el alumno se familiarice con los conceptos y términos básicos del lenguaje declarativo.
  • Que el alumno se introduzca en lenguajes y tecnologías de Internet.
Contenidos mínimos

Nociones de Internet: Modelos de arquitecturas de la web. Sitios. Procesamiento local y distribuido. Comunicaciones. Introducción a lenguajes para la programación WEB. Lenguaje declarativo. HTML. Sintaxis. Diseño de páginas web. Elementos. Estilos. Templates. Formularios. Programación con Javascript.

1.3 - Taller de Matemática Computacional

Fundamentación

El Taller de Cálculo Computacional pretende brindar a los alumnos contenidos y procedimientos de matemática que sirvan de base para las materias que cursará en la tecnicatura, pero que también en sí mismos sean aportes significativos para su formación como técnicos.

Se propone introducir a los conceptos siempre desde la programación, realizando de análisis de funciones y operaciones con vectores, estudiando rangos de valores válidos y representaciones gráficas en pantalla.

Aprenderá conceptos de estadística, analizando los resultados utilizando herramientas básicas como el promedio o la varianza, evaluando los datos utilizando distintos criterios o filtros.

Objetivos
  • Que el alumno adquiera los conceptos matemáticos básicos aplicables en temas afines a la carrera.
  • Que el alumno comprenda a través del uso de herramientas informáticas, los conceptos matemáticos.
  • Que el alumno sea capaz de implementar los conceptos matemáticos vistos.
Contenidos mínimos

Fundamentos de Lógica Proposicional. Proposiciones. Operaciones con proposiciones y tablas de verdad. Las leyes del álgebra de proposiciones. Deducciones lógicas.

Funciones. Dimensiones Tipos de funciones. Parte entera de números. Composición de funciones. Visualización y análisis gráfico de funciones. Interpolación.

Matemática básica. Vectores y matrices y sus operaciones básicas: distancia, magnitud, multiplicación, suma. Operaciones entre vectores y matrices. Implementaciones de operaciones matriciales.

Conceptos de sumatorias y productorias.

Nociones de estadística. Media, mediana, varianza. Implementación de métodos estadísticos. Análisis de casos.

1.4 - Inglés 1

Fundamentación

Inglés es considerado como uno de los conocimientos complementarios más importantes para los alumnos de las carreras de Tecnología (Tics). En esta tecnicatura, se propone que el alumno aprenda los contenidos elementales para poder leer e interpretar textos técnicos en lengua extranjera, lo cual le permita desenvolverse en el ámbito profesional. Este curso también contempla desarrollar otras estrategias, como la de trabajo en grupo y el uso correcto de la Tecnología de la Información.

Objetivos
  • Que el alumno adquiera manejo de las estructuras básicas del idioma inglés.
  • Que el alumno pueda elaborar diálogos o textos simples para su comunicación.
  • Que el alumno valore la importancia del manejo de una lengua extranjera como instrumento de información.
Contenidos mínimos

Artículos. Sustantivos. Adjetivos. Pronombres. Adverbios. Grados de comparación. Noción de referencia. Caso genitivo. Verbos: "be", "have". Otras traducciones. Formas impersonales. Verbos regulares e irregulares. Distintos tiempos. Formas enfáticas. Verbos defectivos. Imperativo. Voz activa y voz pasiva. Infinitivo. Gerundio. Participio. Oraciones condicionales. Frases idiomáticas. Conjunciones. Afijos.

Segundo Cuatrimestre

2.1 - Tecnología de la información en las organizaciones

Fundamentación

Esta asignatura estudia las herramientas tecnológicas apropiadas para producir y utilizar información en ambientes organizacionales. En un contexto de cada vez mayor automatización, se pretende que el alumno entienda primero el funcionamiento de las organizaciones en las cuales se insertará o a las cuales brindará soluciones informáticas. Para esto, debe entender los procedimientos que siguen las mismas para cumplimentar sus objetivos y las herramientas utilizadas. Podrá entender las diferentes partes de un proceso de distinto tipo, como resguardar la información en cada paso e identificar potenciales problemas.

Se analizarán y utilizarán herramientas de oficina, como procesadores de texto, editores de imágenes o planillas de cálculo. Evaluará cómo los documentos generados se administran en un contexto distribuido utilizando sistemas de versionado y entenderá cómo estos procesos se aplican de forma similar en los procesos de desarrollo.

Objetivos
  • Que el alumno se familiarice con herramientas de administración de documentos distribuidos.
  • Que el alumno se introduzca al entorno de una organización, su estructura y roles.
  • Que el alumno comprenda los principios y alcances de la manipulación de la información.
Contenidos mínimos

Estructura de las organizaciones. Objetivos. Estrategias. Tipos de Organizaciones clasificados según sus fines, formalidad y grado de centralización. Procesos. Productos. Arquitectura Empresarial.

Sistemas de información. Concepto de Información y datos. El valor de la información. Procesamiento de la información. Proceso de trabajo. Partes de un proceso. Tipos de sistemas de información. Roles. Flujos de datos. Flujos de comunicaciones. Metodologías de trabajo. Trabajo distribuido. Accesibilidad de la información.

Tecnología de la información. Herramientas de generación de documentos. Versionado y trazabilidad. Herramientas de versionado. Control de versiones. Evaluación de sistemas de código abierto y licenciado (SVN, SVS). Conceptos de seguridad y control.

Nociones de administración del proceso desarrollo de sistemas. Las aplicaciones como producto. Modelos de producción y distribución de aplicaciones. Herramientas de soporte al desarrollo de sistemas de código abierto y licenciado. Virtualización.

Ejemplos de sistemas de gestión. Sistemas informáticos de apoyo a la gestión de las relaciones con los clientes (Customer Relationship Management -CRM) y sistemas de planificación de recursos empresariales (Enterprise Resource Planning -ERP).

2.2 - Web 2

Fundamentación

Este módulo continúa con la formación del alumno en lo que respecta al desarrollo de software para Internet. Profundizará en la generación de contenido dinámico y se introducirá en términos de interacción con el usuario, desarrollando formularios de carga de datos y presentación de información. También comprenderá algunos conceptos de protección de los datos a partir del manejo de usuarios y sesiones.

Se pretende, que el alumno llegue a utilizar componentes de terceros (de uso libre o licenciado) y analizar cómo estos pueden adaptarse dentro del código.

Objetivos
  • Que el alumno se familiarice combine elementos de páginas estáticas con elementos dinámicos.
  • Que el alumno comience a desarrollar aplicaciones web dinámicas.
Contenidos mínimos

Programación de páginas web dinámicas. Tecnologías para programar dinámicamente el servidor. Descripción del lenguaje. Creación dinámica del contenido de la página. Eventos de usuario. Carga y validación de los datos a partir de archivos. Eventos de páginas. Manejo de sesiones. Utilización de APIs de desarrollo para la WEB.

2.3 - Programación 2

Fundamentación

Este curso continúa con la formación de aspectos de la programación. Se introduce a la programación orientada a objetos, complementando a la programación procedural. Se detallarán las características de POO, utilizando un lenguaje de programación adecuado. Se modelarán los problemas utilizando diagramas como los de clases y de interacción. El alumno utilizará estructuras de datos como vectores que tienen soporte incorporado en la mayoría de este tipo de lenguajes.

Al finalizar el curso, los alumnos entenderán como a partir de un enunciado de un problema simple, proponer un diseño de clases e implementar los métodos con los parámetros correspondientes que lo resuelva. También podrá interpretar diseños de mayor complejidad y será capaz de implementarlos.

Objetivos
  • Que el alumno conozca las estructuras basada en objetos.
  • Que el alumno pueda interpretar diagramas de un diseño detallado e implementarlo.
  • Que conozca distintos patrones de estructura para la solución de problemas.
Contenidos mínimos

Paradigma de programación orientada a objetos. Principios: Herencia, polimorfismo. Miembros y métodos públicos, privados y protegidos. Interacción entre objetos.

Patrones de objetos. Modelado mediante diagramas.

Implementación y modularización de un problema con objetos.

Diseño de familias de objetos.

2.4 - Inglés 2

Fundamentación

Con este curso, se profundiza en los contenidos de inglés, logrando una base suficiente para la lecto-escritura; guiando al alumno para que use su conocimiento previo sobre el tema que le posibilite construir un entendimiento de los textos fuentes.

Objetivos
  • Que el alumno mejore el manejo de las estructuras básicas del idioma inglés.
  • Que el alumno pueda elaborar diálogos o textos simples para su comunicación.
Contenidos mínimos

Revisión de tiempos verbales. Verbos modales. El infinitivo y el gerundio. Adverbios, preposiciones, gerundios después de preposiciones. Conjunciones. Voz pasiva. Uso del diccionario.

Dos estrategias de lectura: skimming y scanning. Procesos heurísticos. Coherencia y cohesión: conectores lógicos y transiciones. Listado y uso. Referencias contextuales: anáfora y catáfora. Relaciones causa-efecto. Los negativos. Análisis de textos: barrido del texto. Predicción. Ideas principales y secundarias. Tipos de texto: académico, periodístico, científico, propagandístico. Argumentación. Cifras (qué indican). Tipografía. Tipos de texto (emisor). Tipo de vocabulario. Referencias temporales. Hipótesis sobre el texto. Errores en la traducción y cómo manejarlos. Frases confusas: por ej.: "on the other hand". Organizar la información. Contrastar ideas y clasificar.

Tercer Cuatrimestre

3.1 - Configuración y desarrollo de aplicaciones en redes

Fundamentación

Este curso brinda al alumno los conocimientos para entender cómo se comunican los sistemas a través de las redes. A partir de definir un ambiente de desarrollo distribuido y el uso de herramientas de monitoreo y configuración, el alumno debe alcanzar a comprender los diferentes protocolos que deben cumplimentar los sistemas y los mecanismos para lograr la transferencia de información. También podrá identificar y extraer métricas de análisis, tales como velocidad de transmisión, ancho de banda, nivel de seguridad entre otros. Al mismo tiempo, debe ser capaz de anticipar potenciales problemas en la comunicación y como poder detectarlos y eventualmente corregirlos.

Objetivos
  • Introducir al alumno en el funcionamiento de Internet y de redes locales.
  • Brindarle al alumno los conocimientos básicos para que pueda configurar un ambiente de trabajo sencillo considerando herramientas como proxy, firewalls, y VPNs.
  • Introducir al alumno en el desarrollo de aplicaciones peer to peer y redes multimedia desarrollando casos de estudio actuales
Contenidos mínimos

Qué es Internet. Concepto de protocolos, direcciones, dispositivos y modelo de Servicios. Conceptos de redes, velocidad, demora, pérdida, ancho de banda.

Redes locales y Wireless. Conceptos del nivel de red y configuración básica de un ambiente de trabajo y de herramientas como proxy, firewall, router y VPN's.

Aplicaciones y Transporte: Principios del nivel de Aplicaciones. HTTP, FTP, DNS, Mail. Aplicaciones Peer to Peer. Casos de Estudio. Introducción a TCP y UDP. Programación de Sockets.

Redes Multimedia. Voice over IP. Streaming de Video. Seguridad.

3.2 - Programación 3

Fundamentación

Este curso continúa con la formación de aspectos de la programación. El alumno aprenderá a utilizar estructuras de accesos a los datos más complejas, eligiendo aquella más adecuada, en términos de tiempos de acceso y modificación de los datos.

Complementará su formación con el estudio de familias de algoritmos para resolver problemas tipo y aprenderá conceptos básicos de paralelismo y sincronización.

Objetivos
  • Que el alumno aprenda algoritmos y técnicas de resolución de problemas, y entienda el impacto en la complejidad computacional.
  • Que el alumno conozca y aprenda a manipular las Estructuras de datos básicas.
Contenidos mínimos

Estructuras de manejo de datos: listas, árboles, grafos, tablas de acceso rápido (dispersión), estructuras híbridas.

Servicios y consultas de datos sobre las estructuras: Altas -bajas - modificaciones.

Recursión. Nociones de Complejidad computacional.

Familias de problemas: Búsqueda exhaustiva, Greedy, algoritmos de ordenamiento.

Uso de Threads. Sincronismo. Acceso restringido.

3.3 - Introducción a las Metodologías de desarrollo de software

Fundamentación

En esta materia el alumno comprenderá las diferentes etapas de un ciclo de vida de un sistema de software. A su vez conocerá alguna metodología dentro del marco del proceso completo y comprenderá los roles y actividades de cada etapa. Se explicarán a su vez diferentes diagramas de uso extensivo dentro de la industria.

Objetivos
  • Que el alumno se introduzca en metodologías de desarrollo.
  • Que el alumno aprenda las diferencias entre diferentes metodologías de desarrollo, y sepa desenvolverse en un equipo dentro de ellas.
Contenidos mínimos

Conceptos de metodología de desarrollo. Recursos, requerimientos, etapas, roles. Nomenclaturas. Artefactos. Ciclo de vida y modelo de etapas (planeamiento, análisis y diseño, implementación, implantación). Diagramas de representación de estructuras, dependencias, interfaces de usuario e interacción. Ejemplos de metodologías.

3.4 - Bases de Datos

Fundamentación

En este curso, se enseñan los principios del modelado de datos utilizando el Modelo de Entidades y Relaciones y las herramientas y conceptos necesarios para generar un esquema de base de datos. Se imparten conocimientos sobre sistemas de gestión de bases de datos relacionales y post-relacionales y la forma de acceder y modificar los datos con el lenguaje SQL.

Al finalizar el curso, el alumno deberá ser capaz de crear, entender una estructura de bases de datos, conectarse a un servidor (DBMS) y realizar operaciones de actualización y consulta a una base de datos.

Objetivos
  • Que el alumno conozca los aspectos esenciales de los sistemas de bases de datos relacionales y post- relacionales y su entorno, y los lenguajes de definición y manipulación de datos.
  • Que el alumno aprenda nociones básicas acerca del modelado de datos con entidades y relaciones.
  • Que el alumno adquiera las habilidades necesarias para desarrollar el diseño conceptual de datos de problemas sencillos.
  • Que el alumno sea capaz de implementar un modelo de datos conceptual en un sistema de gestión de bases de datos relacional.
  • Que el alumno pueda manipular eficientemente los datos, con énfasis en la integridad de los datos.
Contenidos mínimos

Nociones sobre sistemas de gestión de Bases de Datos relacionales. Modelo de Entidades y Relaciones estándar y algunas extensiones básicas.

SQL: Definición de datos (DDL). Aspectos básicos de integridad: de dominio, de tabla y generales. Manipulación de datos (DML), Altas, bajas, modificaciones y consultas. Vistas y sus características en SQL. Triggers y stored procedures.

Aspectos básicos del procesamiento de transacciones: Concurrencia, Recuperación ante fallas. Nociones de seguridad en bases de datos.

Características de las bases de datos post-relacionales y ejemplos.

Cuarto Cuatrimestre

4.1 - Técnicas de documentación y validación

Fundamentación

El objetivo de este curso es que el alumno pueda entender y aplicar metodologías de verificación y validación de sistemas en sus distintas etapas, tendientes a generar productos de calidad. Esta metodología contempla la utilización de herramientas de seguimiento de proyectos, técnicas de revisión de datos, pruebas de sistemas en diferentes escalas, entre otros. También se considera muy importante que el alumno entienda la importancia de generación de documentos de soporte para cada etapa de un proyecto. Para esto, aprenderá formatos, estructuras de documentos, nomenclaturas, tipos de diagrama, tal como se utilizan en ese momento.

Objetivos
  • Que el alumno se introduzca en metodologías de documentación de la información.
  • Que el alumno utilice herramientas y técnicas de verificación de sistemas.
  • Que el alumnos sea capaz de entender y participar en un plan de Pruebas.
Contenidos mínimos

Documentación. Documentación de los elementos. Análisis y representación de requerimientos. Métodos de testing. Implementación de casos de estudio utilizando Herramientas de trabajo colaborativo y sistemas de versionado. Implantación de un sistema. Herramientas de atención y seguimiento del usuario: Evolución de una aplicación. Actualización. Familias de aplicaciones. Mantenimiento.

4.2 - Interfaces de usuario e Interacción

Fundamentación

La mayoría de las aplicaciones actuales, en los distintos dispositivos y medios, requieren de una interfaz de usuario amigable que facilite el uso y entendimiento de las mismas. En este curso se presentan los temas principales relacionados a lograr una buena representación gráfica en distintos medios (computadoras personales o dispositivos móviles) siguiendo principios de diseño adaptable al usuario. Para esto, se desarrollan temas relacionados con la usabilidad y la interacción, a partir del buen uso de la dinámica y de elementos gráficos utilizando lenguajes y plataformas acordes.

Se inicia con conocimientos básicos de manejos de colores y formas, avanzando hasta llegar a generar pantallas y animaciones simples y gráficamente atractivas, con aplicaciones particulares, como puede ser un video-juego o de presentación de datos estadísticos, entre otros usos.

Objetivos
  • Introducir al alumno en el ambiente de la computación gráfica, permitiéndole comprender las técnicas involucradas en las imágenes generadas por computadora.
  • Permitir al alumno comprender los estándares de los lenguajes gráficos en general y las adaptaciones utilizadas en Internet.
Contenidos mínimos

Conceptos de graficación en 2D. Colores e imágenes. Estructuras. Lenguajes estándares. Instrucciones de control. Primitivas, atributos, interacción con el usuario. Animaciones. Estructura de los archivos de animación. Programación de animaciones pasivas e interactivas. Manejo de recursos.

Principios de buen diseño. Diseño responsivo. Aplicación de la Visualización de Datos en Internet. Adaptabilidad. Principios de interacción: entradas y salidas. Interfaces de usuario: botones, paneles, layouts. Eventos sincrónicos y asincrónicos: del usuario, por tiempo, descarga de Archivos. Componentes gráficos. Usabilidad.

4.3 - Arquitecturas Web

Fundamentación

En la última etapa de formación de esta tecnicatura, es necesario que el alumno pueda comprender la magnitud que puede alcanzar un proyecto en el que participe, a partir de entender los requerimientos no funcionales, como escalabilidad, robustez, seguridad, entre otros. Para esto, se propone que el alumno aprenda los conceptos teóricos, aprenda modelos arquitectónicos de sistemas distribuidos y pueda llegar a poner en funcionamiento un caso, a partir de la elección de una plataforma de base.

Objetivos
  • Que el alumno sea capaz de participar en el desarrollo de sistemas complejos.
  • Que el alumno conozca los diferentes modelos de arquitecturas y de comunicaciones.
Contenidos mínimos

Arquitecturas de Sistemas: Diferentes modelos de arquitecturas: Cliente Servidor, P2P, Cloud. Modelos de comunicación: Sockets, SOA, Web Service.

Modelos de implementación: Frameworks. Componentes, Servicios, SAAS. Seguridad. Métodos de autentificación de la identidad. Métodos de encriptación. SSL. HTTPS. Firma digital.

Quinto Cuatrimestre

5.1 - Prácticas Profesionales (PPS)

Fundamentación

Las prácticas profesionales son una forma efectiva que el alumno próximo a graduarse pueda aplicar los conceptos adquiridos durante su formación. Estas prácticas deben ser llevadas en un marco regulado por la Facultad, que preste apoyo y dirección a los alumnos. Dentro de esta tecnicatura, estas actividades serán reguladas por el coordinador de la carrera.

Objetivos
  • Acercar al alumno a una práctica profesional real en organizaciones.
  • Fortalecer la relación de los graduados de esta tecnicatura con otros profesionales del ambiente.