====== Condiciones Propuestas por la RedUNSI para acreditación de carreras de informática (RESUMEN) ====== ===== Introducción y Consideraciones Generales ===== El Comité Curricular decidió establecer los siguientes principios como guía para el diseño curricular: 1. Se acepta el principio mencionado en el Computing Curricula 1991 del ACM-IEEE, reproducido en el Computing Curricula 2001 y restablecido en el 2002: "dominar la disciplina incluye no sólo la comprensión de los principios básicos de la misma, sino que también incluye la comprensión de la aplicabilidad de estos principios a los problemas del mundo real". 2. Se afirma la necesidad de integrar teoría y práctica de manera tal de reconocer la importancia de la abstracción y lograr apreciar el valor de un buen diseño de ingeniería. 3. Se reconoce que la Computación es un campo de gran amplitud en el que los principios de las Ciencias de la Computación determinan un fundamento común, existiendo otras áreas que lo toman como base y que deben ser descriptas y especificadas. Para ello, en este documento se describen: a) Un Núcleo Básico Curricular que contiene los principios esenciales de la disciplina para todas las líneas curriculares, y b) Cuatro Núcleos Curriculares Específicos que partirán del Núcleo Curricular Básico y que comprenderán las líneas curriculares que se distinguen en el desarrollo actual de la disciplina: * Ciencias de la Computación o Ciencias Informáticas * Ingeniería del Software * Sistemas de Información * Ingeniería de Computación o Ingeniería Informática 4. Se determinan asimismo las siguientes pautas de diseño: a) El requerimiento de incorporar asignaturas dedicadas a la integración de conocimientos en aplicaciones concretas. Estas asignaturas, cuya denominación puede ser precedida por calificadores tales como Taller, Laboratorio o Proyecto, deben favorecer el desarrollo experimental del alumno sobre los fundamentos obtenidos en las asignaturas que den cobertura a la suma del Núcleo Curricular Básico y del Núcleo Curricular Específico correspondiente. b) La obligatoriedad de que los estudios de grado concluyan con una asignatura integradora que motive actitudes de investigación y desarrollo, científico o tecnológico tales como Trabajo Final, Proyecto Final o Tesina de Grado cuya exigencia horaria sea similar a la correspondiente a una asignatura de grado cuatrimestral. c) Los laboratorios de práctica en máquina deben ocupar más de un tercio de los tiempos de práctica de las carreras de informática; en estas prácticas se debe incluir explícitamente la utilización de sistemas y productos basados en software libre y en código abierto. ===== Carga Horaria ===== La carga horaria mínima para las Licenciaturas será de 3200 horas y para las Ingenierías de 3750 horas. En el contexto de las carreras existentes, se recomienda que la currícula se desarrolle a lo largo de al menos 4 años para las Licenciaturas y al menos 5 años para las Ingenierías. ACLARACION: Otro documento dice que 1200hs del NBC más 600hs del NCE representan el 60% de la carga de la carrera. Esto sería 3666hs. ===== Contenidos Curriculares de las Carreras de Computación o Informática ===== LINEAS CURRICULARES Como se ha mencionado, la especificación del Núcleo Curricular Básico (NCB) permite definir líneas curriculares que lo utilizan como punto de partida. Las líneas curriculares se concretarán a partir de los siguientes Núcleos Curriculares Específicos (NCE): Ciencias de la Computación NUCLEO CURRICULAR BASICO (NCB) + NCE Ciencias de la Computación o Ciencias Informáticas === Ciencias Básicas === Requerimiento Mínimo de 400 hs. * Teoría de la Estructuras Discretas. Definiciones y pruebas estructurales. * Estructuras Algebraicas. Álgebra Lineal y Geometría Analítica. * Cálculo diferencial e integral en una y varias variables. * Elementos de lógica proposicional y de primer orden: Enfoque sintáctico y semántico. Técnicas de prueba. Estructura de las pruebas formales. * Probabilidad y estadística. === Teoría de la Computación === Requerimiento Mínimo de 250 hs. * Lenguajes formales y autómatas. Minimización de Autómatas. Expresiones Regulares. Máquinas de Turing. Jerarquía de Chomsky. Gramáticas e Isomorfismos. * Lenguajes de Programación: Entidades y ligaduras. Sistema de Tipos, Niveles de Polimorfismo. Encapsulamiento y Abstracción. Conceptos de Intérpretes y Compiladores. Criterios de Diseño y de Implementación de Lenguajes de Programación. Nociones básicas de semántica formal. * Análisis de Algoritmos: Análisis asintótico, comportamiento en el mejor caso, caso promedio y peor caso. Notación 0(). Balance entre tiempo y espacio en los algoritmos. * Conceptos Básicos de Teoría de Computabilidad y Complejidad: Problemas computables y no computables. Problema de la detención. Problemas tratables e intratables. Funciones Recursivas. * Elementos de inteligencia artificial simbólica y no simbólica. Mínimo 150 hs. adicionales sobre lo requerido en el NCB en esta subárea. * Especificaciones Formales * Corrección de Programas * Compiladores * Análisis de Complejidad de Algoritmos * Relación entre los distintos formalismos de cómputo * Lógica Matemática * Lógicas Aplicadas * Teoría de Bases de Datos === Algoritmos y Lenguajes === Requerimiento Mínimo de 400 hs. * Resolución de problemas y algoritmos. * Estructuras de Control. Recursividad. Eventos. Excepciones. Concurrencia. * Tipos abstractos de datos. Estructuras de Datos. Tipos de datos recursivos. Representación de datos en memoria. Estrategias de implementación. Manejo de memoria en ejecución. * Algoritmos fundamentales: Recorrido, búsqueda, ordenamiento, actualización. * Estrategias de diseño de algoritmos. Algoritmos numéricos y propagación de error. * Paradigmas de Programación: Imperativo, Orientado a Objetos, Funcional, Lógico. * Concurrencia y Paralelismo. Algoritmos concurrentes, distribuidos y paralelos. Mínimo 100 hs. adicionales sobre lo requerido en el NCB en esta subárea. * Verificación de Algoritmos * Uso de Heurísticas en Algoritmos === Arquitectura, Sistemas Operativos y Redes === Requerimiento Mínimo de 250 hs. * Arquitectura y Organización de Computadoras. Representación de los datos a nivel máquina. Error. Lenguaje Ensamblador. Jerarquía de memoria, Organización funcional. Circuitos combinatorios y secuenciales. Máquinas Algorítmicas. Procesadores de alta prestación. Arquitecturas no Von Neumann. Arquitecturas multiprocesadores. * Sistemas Operativos, Concepto de Proceso. Planificación de Procesos. Concurrencia de ejecución. Interbloqueos. Administración de memoria. Sistema de Archivos. Protección. Sistemas operativos: de tiempo real, embebidos (embedded), distribuidos. Comunicación, Sincronización, Manejo de Recursos y Sistemas de Archivos en Sistemas Distribuidos. Memoria Compartida Distribuida. Control de Concurrencia en Sistemas Distribuidos. Transacciones Distribuidas. Seguridad en Sistemas Distribuidos. * Redes y Comunicaciones: Técnicas de transmisión de datos, modelos, topologías, algoritmos de ruteo y protocolos. Sistemas operativos de redes. Seguridad en Redes, nociones de criptografía. Sistemas cliente/servidor y sus variantes. El modelo computacional de la Web. Administración de Redes. Computación orientada a redes. Mínimo 100 hs. adicionales sobre lo requerido en el NCB en esta subárea. * Protocolos de Integración * Sistemas Colaborativos === Ingeniería del Software, Bases de Datos y Sistemas de Información === Requerimiento Mínimo de 250 hs. * El Proceso de software. Ciclos de vida del software. Ingeniería de Requerimientos. Diseño. Patrones. Reingeniería de software. * Introducción a los métodos formales. * Herramientas para el proceso de software. * Calidad de Software. * Administración y Control de proyectos. * Auditoria y Peritaje. * Ingeniería de Software de Sistemas de Tiempo Real. * Interacción hombre-computadora. * Sistemas de Bases de Datos. Escalabilidad, eficiencia y efectividad. Componentes y funciones de un DBMS. Modelado de datos. Lenguajes de DBMS. * Teoría general de Sistemas. Sistemas de Información. Privacidad, integridad y seguridad en sistemas de información. Mínimo 150 hs. adicionales sobre lo requerido en el NCB en esta subárea. * Métodos Formales === Cuestiones Profesionales y Sociales === Requerimiento Mínimo de 50 hs. * Historia de la Computación. * Responsabilidad y Ética Profesional. * Computación y Sociedad. * Propiedad Intelectual, licenciamiento de software y contratos informáticos. * Aspectos legales. * Software libre.