1 - PROGRAMACIÓN I
Concepto de algoritmo, resolución algorítmica de problemas, estrategias de diseño, de implementación, de depuración. Algoritmos fundamentales, algoritmos numéricos simples. Estructuras fundamentales, variables, tipos, expresiones y asignaciones, entrada/salida, estructuras de control condicionales e iterativas, funciones y pasaje de parámetros, descomposición estructurada.
Concepto de lenguaje de alto nivel y la necesidad de traducción, comparación entre compiladores e intérpretes, aspectos de la traducción dependientes y no dependientes de la máquina. Máquinas virtuales, concepto, jerarquía de máquinas virtuales, lenguajes intermedios, asuntos de seguridad que surgen al ejecutar código en una máquina diferente. Representación de datos numéricos, rango, precisión y errores de redondeo. Arreglos. Representación de datos de caracteres, listas y su procesamiento.
Programación modular: Concepto. Aplicación: estructura de un programa utilizando procedimientos y funciones. Uso de lenguaje Python
Reglas para escribir algoritmos eficientes. Elaboración de "algoritmos-tipo" o estándar a partir de métodos lógicos matemáticos, por ejemplo: uso de funciones matemáticas recursivas, funciones recursivas simples, búsqueda sucesiva y binaria y de ordenamiento. Algoritmos de camino mínimo. Elementos de complejidad de algoritmos. Pruebas de escritorio para validar algoritmos. Verificación unitaria de unidades de código, concepto de cubrimiento, organización, ejecución y documentación de la prueba.
Desarrollo de Programas Ambientes de programación. Introducción al uso de librerías y APIs (interfaz de programación de aplicaciones). Lenguaje de programación: Estructura sintáctica de un programa en el lenguaje de aplicación. Reglas sintácticas del lenguaje. Sintaxis de procedimientos y funciones. Reglas del lenguaje.
Programación Web Básica Fundamentos de la programación web: HTML, CSS y JavaScript. Creación y estructuración de páginas web utilizando HTML. Estilos y diseño de páginas web con CSS. Interactividad en páginas web con JavaScript. Desarrollo de formularios y validación de datos. Introducción a las bibliotecas y frameworks de JavaScript. Buenas prácticas en el desarrollo web. Pruebas y depuración de aplicaciones web.
** Practicas desde la primer semana * Objetivo Lograr en este año realizar programas para poder trabajar9 – BASE DE DATOS I
Organización de Datos. Modelos conceptuales (E/R, UML), modelo orientado a objetos, modelo relacional, modelos semiestructurados (XML). Componentes y funciones de un sistema de base de datos. Definición de datos, álgebra relacional. Estructuras de almacenamiento. Modelo Entidad-Relación: Entidad. Relaciones entre entidades. Atributo de las entidades.
Diseño de base de datos. Diseño lógico y diseño físico. Diseño de bases de datos, dependencia funcional, formas normales, descomposición de un esquema, claves primarias y secundarias. Procesamiento de transacciones, fallas y recuperación, control de concurrencia. Bases de datos distribuidas, problemas que surgen con su explotación.
Fundamentos de Administración y Gestión de Base de Datos. Sistema Gestor de base de datos. Actores y roles del entorno. Recuperación de la información. Gestión de bases de datos. Accesos, permisos y roles. Creación de vistas e índices. Lenguaje SQL/ MySQL y otros. Operaciones: consultas, alta, baja y modificación de registros. Procedimientos almacenados. Disparadores. Usuarios. Transacciones.
3 – LÓGICA COMPUTACIONAL
Lógica proposicional. Elementos de lógica. Lógica proposicional, conectivos lógicos. Formas normales: conjuntiva y disyuntiva. Validez. Adquisición del conocimiento, forma del conocimiento, uso del conocimiento, límites del conocimiento. Intratabilidad e inexpresabilidad. Enunciados y conectivas. Funciones de verdad y tablas de verdad. Argumentación y validez. Lógica de Enunciados. Reglas de manipulación y sustitución. Formas normales. Conjuntos adecuados de conectivas.
Lógica de predicados. Lógica de predicados, cuantificadores: Universal y existencial. Limitaciones de la lógica de predicados- Lenguajes de primer orden. Interpretaciones Satisfacción y verdad. El sistema formal. Corrección y completitud. Modelos de sistemas de primer orden.
Lógica digital. Introducción a la Lógica digital, Álgebra de Boole, Compuertas lógicas: NAND (No Y), NOR (No O), OR exclusiva (O exclusiva). Multiplexores, decodificadores, biestables, memorias, microcontroladores, microprocesadores. Funciones. Método de Kamaugh
6 – SEMINARIO NUEVAS TECNOLOGÍAS (Segundo Semestre)
Desarrollo de Software: Introducción al desarrollo de software y su impacto en la sociedad moderna y en las organizaciones. Las metodologías de desarrollo de software utilizadas en la actualidad: lenguajes, entornos, frameworks, modelos de desarrollo. El desarrollo de aplicaciones standalone, cliente-servidor, y similares. La programación de dispositivos móviles, de componentes IoT y otros. Elementos de integración de componentes mediante APIs. Las tendencias en el desarrollo de software.
Inteligencia Artificial. Introducción a la ciencia de datos e inteligencia artificial. Relevancia de la IA en el desarrollo de software, en la telemática y en la ciencia de datos. Herramientas populares: GitHub Copilot, TabNine, ChatGPT y otras generativas. Las aplicaciones más utilizadas de la IA en otras profesiones y actividades: en medicina, ingeniería, finanzas, etc. Tendencias de la IA y la Ciencia de Datos.
Redes de Computadoras y Ciber seguridad: Introducción a las comunicaciones de datos y su influencia en las sociedades modernas. La seguridad informática, los riesgos actuales y su impacto en las organizaciones y en la sociedad. Las tecnologías de comunicaciones de datos y su estado actual: dispositivos, medios físicos, estándares de velocidad y transporte. Tendencias en las comunicaciones de datos y en la seguridad. Delitos informáticos, impacto y su investigación.
7 – ARQUITECTURA DE DISPOSITIVOS (Primer Semestre)
Sistemas numéricos de distintas bases, operaciones básicas, resta por complemento, circuitos lógicos y digitales básicos, códigos y representaciones. Tecnología: memorias, almacenamientos auxiliares, dispositivos de entrada y salida. Unidad Central de Procesamiento (CPU). Estructura y funcionamiento de la CPU. Memoria. Tipos de memoria: RAM, ROM, Cache.
Jerarquía de memoria. Funcionamiento de la memoria virtual. Sistemas de Almacenamiento. Discos duros (HDD) y unidades de estado sólido (SSD). Sistemas de archivos y gestión de almacenamiento. Buses de Datos y Direcciones Unidades de Entrada y Salida (E/S). Bloque Arquitectura Interna de la CPU y Sistemas de Memoria. Arquitectura Interna de la CPU. Registro y ALU (Unidad Aritmética Lógica). Tipos de registros. Funcionamiento de la ALU. Unidad de Control. Sistemas de memoria. Memoria caché. Memoria principal.
Simulación de Arquitectura y Montaje. Introducción a BLUE y Simulación de Arquitectura. Instalación y configuración de BLUE. Interfaz de usuario de BLUE. Simulación de arquitectura de computadoras con BLUE. Prácticas con BLUE. Montaje y desmontaje de un dispositivo. Identificación y descripción de componentes físicos.
** Objetivo conocer el Hardware completo de un computador. (Armar, Mantener y ampliar su propio equipo)8 – SISTEMAS OPERATIVOS I (Segundo Cuatrimestre)
Fundamentos. Introducción a los sistemas operativos. Historia y evolución de los sistemas operativos. Funciones y componentes de un sistema operativo. Tipos de sistemas operativos. Arquitectura de sistemas operativos. Gestión de procesos: Estados de un proceso. Planificación de procesos. Hilos y multitarea. Gestión de memoria: Jerarquía de memoria. Memoria principal y secundaria. Memoria virtual. Técnicas de asignación y paginación. Sistemas de archivos: Estructura y organización de sistemas de archivos. Tipos de sistemas de archivos. Operaciones sobre sistemas de archivos. Gestión de dispositivos: Controladores de dispositivos. Gestión de entradas y salidas (E/S).
Administración. Instalación y configuración de sistemas operativos. Administración de usuarios y permisos. Gestión de recursos: Administración de memoria. Administración de procesos. Administración de dispositivos. Seguridad en sistemas operativos: Políticas de seguridad. Mecanismos de autenticación y autorización. Protección contra malware. Copias de seguridad y recuperación de datos. Monitoreo y optimización del rendimiento del sistema.
Programación de Sistemas Operativos. Programación en el espacio del usuario y del kernel. Llamadas al sistema (system calls). Programación de scripts de shell: Shell scripting en Unix/Linux. Comandos y utilidades básicas. Automatización de tareas. Desarrollo de controladores de dispositivos. Programación concurrente: Hilos y sincronización. Exclusión mutua y comunicación entre procesos. Manejo de señales y excepciones. Desarrollo de sistemas de archivos. Prácticas de depuración y manejo de errores.
2 – MATEMÁTICA APLICADA
Matrices y Determinantes. Conjuntos numéricos. Matrices. Concepto de matriz. Dimensión de una matriz. Tipos de matrices: matriz fila, matriz columna, matriz cuadrada, matriz rectangular, matriz diagonal, matriz simétrica. Igualdad de matrices. Operaciones con matrices. Determinantes: La función determinante, matriz inversa, rango. Espacio Vectorial. Vectores de n componentes. Generalización. Operaciones internas y externas, normas, proyecciones, dependencia lineal, base y dimensión. Adición y sustracción de vectores. Producto de un vector por un escalar. Producto escalar.
Sistema de ecuaciones. Clasificación. Teorema de Roché Frobenius, resolución. Expresión matricial de un sistema ecuaciones lineales con N incógnitas. Sistemas equivalentes. Resolución de sistemas de ecuaciones. Compatibilidad de los sistemas. Sistemas homogéneos. Operaciones internas y externas, norma, proyecciones, dependencia lineal, base y dimensión. Aplicaciones de los espacios vectoriales. Transformaciones lineales: teorema fundamental, matriz asociada, autovalores y autovectores, diagonalización.
4 – INGLÉS TÉCNICO I
Los siguientes descriptores deberán abordarse desde las cuatro macro-habilidades (comprensión lectora y auditiva y producción escrita y oral) y orientarse al campo de desempeño del futuro profesional, desarrollando las competencias básicas fijadas por los estándares del Marco Común Europeo de Referencia para la competencia lingüística de nivel A1: al finalizar el cursado, el estudiante será capaz de comprender y utilizar expresiones cotidianas de uso muy frecuente así como frases sencillas destinadas a satisfacer necesidades de tipo inmediato. Podrá presentarse a sí mismo y a otros, pedir y dar información personal básica sobre su domicilio, sus pertenencias y las personas que conoce. Podrá relacionarse de forma elemental siempre que su interlocutor hable despacio y con claridad y esté dispuesto a cooperar.
Contenidos mínimos:
El estudiante deberá desarrollar habilidades de producción (habla y escritura) aplicadas a situaciones específicas de la carrera y el año que transita.
Preguntas abiertas. Preguntas cerradas. Sustantivos y adjetivos posesivos. Verbo be. Preposiciones de tiempo y lugar. Preferencias con would like. Presente simple. There is y there are. Sustantivos contables e incontables. Artículos definido e indefinido. Presente continuo. Verbos modales. Pasado simple. Adjetivos comparativos y superlativos. Futuro con be going to.
5 – ALFABETIZACIÓN ACADÉMICA (Primer Semestre)
Competencia comunicativa. La comunicación: definición, elementos de la situación comunicativa. Funciones del lenguaje. El contexto: adecuación del texto al contexto. Registro. Objetividad y subjetividad en el mensaje. Tipos de comunicación. Concepto de texto. Concepto de discurso. Propiedades de los textos: adecuación, coherencia, cohesión y normativa. Tipologías textuales. Texto explicativo-expositivo. Texto argumentativo. Texto instructivo. Correcta redacción de prompts de IA, preguntas y respuestas en bots, y lenguajes de tipo low-code más textuales.
La comprensión lectora: estrategias y fases. El resumen/síntesis. Producción de Textos: planificación, textualización y revisión. Informe. Textos instrumentales. La intencionalidad comunicativa: persuasión e información. Reconocimiento de ideas nucleares y periféricas. Elaboración de esquemas: jerárquicos – cronológicos – comparativos. Indicadores de autoevaluación.
Introducción al procesamiento de lenguaje natural (PLN), relación con la inteligencia artificial. Importancia de la claridad y precisión en la redacción de prompts para obtener respuestas adecuadas. Estrategias para adaptar el tono y estilo según el contexto, junto con técnicas para identificar y corregir problemas en la interpretación de prompts por parte de la IA. Evaluación de prompts y consideraciones éticas para evitar sesgos en la interacción con herramientas de IA.
Capacidad de aprender a aprender. Learn agility. Definiciones. La necesidad del aprendizaje continuo en los tiempos del Agilisimo y la digitalización. Aprender a reaprender. Contexto VUCA. Contexto BUNI. Aprendizaje y trabajo. Upskilling. Reskilling. Estilos de aprendizaje. Actitudes del aprendiz. Aprender a ser aprendiz. Mejorar la capacidad de aprender. Inteligencia interpersonal e intrapersonal. Inteligencia emocional. Herramientas para desarrollar la Learnability individual. Rasgos clave. Activar el proceso de Aprendizaje Ágil. Capacidad de aprender sobre el error.
Experimentar. Gestión del feedback: pedido y escucha. Gestión de la motivación intrínseca.
10 – PRÁCTICA PROFESIONALIZANTE I
Las Prácticas Profesionalizantes plantean estrategias y actividades formativas que tienen como propósito que los estudiantes consoliden e integren las capacidades o saberes que se corresponden con el perfil profesional en el que se están formando. El primer espacio curricular de práctica profesionalizante pretende iniciar a los estudiantes en el proceso de construcción del rol profesional del Técnico Superior en Desarrollo de Software (TSDS), que se irá proyectando y profundizando durante la carrera. Para cumplir este objetivo, las primeras prácticas estarán referidas a: - Conocer los diferentes contextos de trabajo.
- Identificar diferentes procesos de trabajo, sus características, variables puestas en juego, en ambientes reales de trabajo y/o simulados.
- Reconocer los diferentes actores que conforman el campo profesional.
Todas estas actividades, que se podrán realizar de acuerdo a las posibilidades de articulación institucional con el sector tanto dentro de la institución como fuera de ella, permitirán que los estudiantes tengan una visión más completa e integral sobre el campo profesional, sus características, la diversidad de contextos de intervención, las diferentes relaciones que se ponen en juego, las tensiones y los conflictos que pueden aparecer. También proponen abordar en forma práctica los procesos vinculados a la interacción entre los diversos actores que conforman un equipo de trabajo, identificando los roles y responsabilidades de cada uno y su relación con la tarea profesional del TSDS, profundizando y reflexionando sobre su rol con responsabilidad legal y social.
Este espacio contempla 120 horas que podrán incluir, por un lado, la aproximación del estudiante a experiencias directas y visitas a diversos ámbitos de trabajo con el fin de realizar observaciones, entrevistas, encuestas (métodos de recolección de información) que le permitan conocer las características de los contextos laborales, las vinculaciones con otros actores del sector y/o equipos de trabajo, profundizando y reflexionando sobre las funciones específicas del TSDS. Por otra parte, este espacio también debe comprender horas de trabajo áulico bajo la coordinación del docente, quien podrá implementar diferentes estrategias que le permitan simular todas las etapas de trabajo de creación de software. En este espacio áulico, los estudiantes deberán poner en común e intercambiar con sus compañeros las particularidades de cada simulación realizada, de cada ámbito relevado, el impacto de los proyectos y de los roles asumidos con el fin de promover el debate y el proceso de aprendizaje colectivo. Para orientar la evaluación, se proponen algunos indicadores que pueden ser utilizados como evidencias, a partir de las cuales se podrá inferir si los estudiantes han alcanzado los objetivos propuestos:
- Comprende el rol profesional del TSDS y sus incumbencias.
- Identifica las características/etapas del proceso de creación de software y elabora los informes correspondientes.
- Reconoce las funciones de los diferentes actores intervinientes en dicho proceso.