Nicolás WOLOVICK
En nuestro medio, los/as profesionales en esta disciplina ejercen su profesión en relación de dependencia o en forma independiente.
Los/as Licenciados/as en Ciencias de la Computación podrán desempeñarse en:
Se espera que el/la egresado/a de la carrera de Licenciatura en Ciencias de la Computación reúna las siguientes competencias:
Historia de la computación. Elementos de lógica proposicional y de primer orden: Enfoque sintáctico y semántico. Uso de la lógica para la resolución de problemas. Formalismo básico para la programación funcional. Especificaciones. Recursión e inducción.
Cálculo diferencial e integral en una variable El cuerpo de los números reales. Concepto de función. Límite. Continuidad. Teorema de los valores intermedios. Funciones trigonométricas. Exponencial y logaritmo. Derivada de una función. Reglas de diferenciación. Derivada de funciones trigonométricas. Derivada de la función inversa. Extremos. Teorema de Rolle. Teorema del valor medio. Gráficos de funciones. Cálculo de antiderivadas. Integración. Área. Teorema fundamental del cálculo.
Números naturales. Principio de inducción. Combinatoria. Teorema del binomio. Enteros. Divisibilidad. Congruencia. Teorema de Fermat. Grafos. Isomorfismo, valencia, caminos y ciclos. Árboles. Coloreo de vértices. Algoritmo greedy.
Técnicas de derivación de programas: modularización, tuplas, generalización. Recursión final. La programación imperativa. Estados y predicados. Transformadores de predicados. Invariantes y derivación de bucles. Técnicas para encontrar invariantes. Especificaciones formales. Corrección de programas. Verificación de algoritmos.
Estructuras algebraicas: conceptos de grupo, anillo y cuerpo. Resolución de sistemas de ecuaciones lineales: método de Gauss. Matrices. Determinantes. Espacios vectoriales. Álgebra Lineal: Dependencia e independencia lineal. Bases y dimensión. Transformaciones lineales. Matriz de una transformación lineal. Funciones lineales. Espacios con producto interno. Ortogonalización. Autovalores y autovectores. Diagonalización de matrices simétricas. Anillos. Anillo de polinomios.
Integrales: primitivas, integral indefinida e integral definida. Propiedades de la integral indefinida y de la integral definida. Teorema fundamental del cálculo y Regla de Barrow. Métodos de integración: sustitución, por partes, fracciones simples, funciones racionales de senos y cosenos. Sucesiones y subsucesiones. Propiedades y criterios de convergencia. Series numéricas. Series convergentes. Criterios de convergencia. Series de potencias. Series y polinomios de Taylor. Cálculo vectorial en el espacio euclídeo. Geometría Analítica: rectas y planos en Rn. Cálculo multivariable: funciones de varias variables, derivadas parciales, derivadas direccionales, gradiente, regla de la cadena Curvas y superficies de nivel. Extremos de funciones de varias variables. Integrales múltiples. Formula de Fubini. Fórmula de cambio de variables.
Descripción funcional de sistemas de procesamiento de datos. Jerarquía de memoria, Organización funcional. Lógica digital. Representación de los datos a nivel máquina. Error. Lenguaje Ensamblador. Jerarquía de memoria. Máquinas Algorítmicas. Circuitos combinatorios y secuenciales. Aritmética binaria. Microprocesadores.
Representación de datos en memoria. Estrategias de implementación. Manejo de memoria en ejecución. Arreglos, tuplas, referencias. Estructuras de datos: listas, pilas, colas, árboles binarios, heaps, árboles binarios de búsqueda, etc. Tipos de datos recursivos. Tipos abstractos de datos. Implementación de tipos abstractos de datos. Implementación de tipos abstractos de datos. Punteros. Resolución de problemas y algoritmos. Algoritmos fundamentales: recorrido, búsqueda, ordenamiento, actualización. Estrategias de diseño de algoritmos. Algoritmos voraces. Divide y vencerás. Recursividad múltiple y backtracking. Programación dinámica. Análisis de algoritmos: análisis asintótico, comportamiento en el mejor caso, caso promedio y peor caso. Notación O(). Balance entre tiempo y espacio en los algoritmos. Análisis de complejidad de algoritmos.
Análisis de errores: error absoluto y relativo; redondeo y truncamiento; sistemas de punto flotante; errores de representación. Solución de ecuaciones no lineales: métodos de bisección, Newton, secante y de punto fijo. Interpolación polinomial: formas de Lagrange y de Newton; splines. Aproximación de funciones: teoría de cuadrados mínimos. Integración numérica: reglas simples y compuestas del rectángulo, punto medio, trapecio y Simpson; reglas Gaussianas. Solución de sistemas de ecuaciones lineales: eliminación Gaussiana y factorización LU; métodos iterativos de Jacobi y Gauss-Seidel. Programación Lineal: convexidad y desigualdades lineales; método simplex.
Nociones de probabilidades. Variables aleatorias. Funciones de distribución. Independencia. Leyes de los grandes números. Teorema central del límite. Inferencia estadística paramétrica: estimación y tests de hipótesis.
Estructuras ordenadas: reticulados y álgebras de Boole. Sistemas formales. Introducción a la lógica proposicional: enfoque sintáctico y semántico. Técnicas de pruebas. Estructura de las pruebas formales: deducción natural. Lenguajes formales y autómatas. Minimización de autómatas. Expresiones regulares. Gramáticas libres de contexto. Jerarquía de Chomsky. Gramáticas e isomorfismos.
Introducción y conceptos generales. Diferentes clases de sistemas operativos. Multiprocesamiento. Sistemas Batch. Sistemas interactivos. Conceptos de proceso. Planificación de procesos. Concurrencia de ejecución. Algoritmos concurrentes y paralelos. Interbloqueos. Administración de memoria y memoria virtual. Sistema de archivos. Protección. Seguridad. Criptografía y passwords. Sistemas operativos en redes. Sistemas operativos de tiempo real. Sistemas operativos embebidos. Comunicación, Sincronización. Periféricos.
Redes y comunicaciones. Técnicas de transmisión de datos, modelos, topologías, algoritmos de ruteo y protocolos. Redes locales y geográficas. Seguridad en redes, elementos de criptografía. Sistemas cliente/servidor y sus variantes. El modelo computacional de la Web. Administración de redes. Sistemas operativos de redes. Computación orientada a redes. Software libre. Modelo ISO. Sistemas distribuidos. Memoria compartida distribuida. Transacciones distribuidas. Sistemas de archivos distribuidos. Seguridad en sistemas distribuidos.
Introducción e historia de los lenguajes de programación. Paradigmas de programación: Imperativo, Orientado a Objetos, Funcional, Lógico. Relaciones entre los distintos paradigmas. Entidades y ligaduras en lenguajes de programación. 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. Semántica operacional de los lenguajes de programación a través de la máquina virtual (binding, variables, estructuras “run time”, pasaje de parámetros). Estructuras de control. Recursividad. Eventos. Excepciones. Concurrencia y paralelismo: formas de implementar concurrencia; concurrencia en lenguajes declarativos.
Modelos de computación: medidas de complejidad de algoritmos, máquinas de acceso aleatorio (RAM). Complejidad Teórica. Búsquedas y ordenamiento en árboles. Grafos bipartitos y problemas de apareamiento. Digrafos, redes y flujos. Estructura de grupo. Grupo de permutaciones. Fundamentos de inteligencia artificial no simbólica. Algoritmos genéticos. Conceptos de complejidad: clases de complejidad; P-NP; SAT. Problemas tratables e intratables.
El proceso de software. Ciclos de vida del software. Ingeniería de requerimientos. Arquitectura y diseño. Patrones. Conceptos de arquitectura orientadas a servicios. Reingeniería de software. Calidad de software: del producto y del proceso. Diseño centrado en el usuario. Administración y control de proyectos. Nociones de auditoría y peritaje. Teoría general de sistemas. Sistemas de información. Privacidad integridad y seguridad en sistemas de información. Nociones de sistemas colaborativos. Documentación. Responsabilidad y ética profesional. Computación y sociedad. Propiedad intelectual, licenciamiento de software y contratos informáticos. Aspectos legales.
Teoría de Bases de Datos. Conceptos generales de Bases de datos. Modelos de datos (E-R, relacional, orientado a objetos). Teoría de formas normales. Sistemas de bases de datos. Diseño y administración de sistemas de bases de datos. Escalabilidad, eficiencia y efectividad. Modelado y calidad de datos. Organización de la información. Lenguajes de DBMS. Lenguajes de búsqueda (álgebra relacional, cálculo relacional), diccionario de datos. Implementación de una base de datos relacional. Seguridad e integridad. Bases de datos distribuidas.
Unidad central de Procesos (CPU). Procesadores de alta prestación. Memorias semiconductoras. Arquitecturas no Von Neumann. Arquitecturas multiprocesadores. Conceptos de arquitecturas Grid. Conceplos de arquitecturas reconfigurables.
Gramáticas regulares y libres de contexto. Autómatas a pila y lenguajes libres de contexto. Máquinas de Turing. Funciones recursivas. Funciones parcialmente computables. Tesis de Church. El halting problem. Programas universales. Teoremas del parámetro, de la recursión y de Rice. Forma normal de Kleene de una función parcialmente computable. Conjuntos r.e. Lenguajes r.e. Funciones parcialmente computables sobre palabras. Equivalencia entre las funciones recursivas parciales, funciones Turing computables y funciones parcialmente computables. Relación entre los distintos formalismos de cómputo.
Clases y tipos de sistemas. Sistemas de colas. Variables aleatorias en los sistemas de colas. Metodología de modelización de sistemas. Herramientas de la modelización de sistemas. Simulación. Análisis de resultados. Nociones de minería de datos.
Mecánica: Movimiento en una dimensión. Movimiento en tres dimensiones. Leyes de Newton. Ejemplos de sistemas simples. Trabajo y energía. Cantidad de movimiento. Rotaciones de cuerpos rígidos. Electromagnetismo: cargas y campos eléctricos. Ley de Gauss. Potencial eléctrico. Corriente, resistencia, circuitos. Campo magnético. Inducción electromagnética. Termodinámica: Temperatura, calor. capacidad calorífica. Sistemas termodinámicos. Gases ideales.
Conjuntos parcialmente ordenados. Reticulados. Equivalencia de la definición geométrica y la algebraica. Homomorfismos de reticulados. Tipos de primer orden. Términos. Unicidad de la lectura de términos. Fórmulas. Estructuras de tipo t. Valor de un término para una asignación en una estructura. Valor de verdad de una fórmula para una asignación en una estructura (Tarski). Substitución. Sentencias universalmente válidas. Equivalencia de fórmulas. Tipos algebraicos. Álgebras. Subuniversos y subálgebras. Teorías de primer orden. Modelos. Concepto de prueba formal. La aritmética de Peano. Teorema de incompletitud de Godel.
Semántica de los lenguajes de programación: axiomática, denotacional y operacional. Dirección por sintaxis y semántica composicional. Teoría de dominios. Dominios recursivos. Declaración de variable, alcance. Asignación. Recursión e iteración. Pasaje de parámetros. Estrategias de evaluación. Tipos en lenguajes de programación. Compilación: Análisis léxico y sintáctico; análisis estático; generación de código.
Ingeniería de Software para Sistemas de Tiempo Real. Fundamentos semánticos de los sistemas reactivos. Métodos formales. Verificadores de modelos. Lógicas Temporales. Fundamentos de inteligencia artificial simbólica. Lógicas modales. Cláuslas de Horn. Algoritmos para la verificación de SAT.
Sus objetivos, contenidos y demás características serán aprobados por el HCD en cada oportunidad de dictado.