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:
Cálculo algebraico. Teoría de conjuntos y lógica. Funciones. Trigonometría.
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.
Teoría de las estructuras discretas. Definiciones y pruebas estructurales. Números naturales. Principio de inducción. Enteros. Divisibilidad. Congruencia. Teorema de Fermal. Funciones. Combinatoria . Números complejos. Forma polar. 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.
Resolución de sistemas de ecuaciones lineales : método de Gauss. Estructuras algebraicas: conceptos de grupo, anillo y cuerpo. Espacios vectoriales.
Algebra 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. Determinantes.
Series numéricas. Series convergentes. Criterios de convergencia. Series de potencias. Series y polinomios de Taylor. Cálculo vectorial en el espacio euclídeo. Derivación de vectores. Geometría Analítica : rectas y planos en Rⁿ. Cálculo diferencial e integral en varias variables: Funciones de varias variables. Derivadas parciales. Regla de la cadena y gradiente. Plano tangente. Matrices y determinantes de 3x3. Integrales múltiples. 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.
Sistemas lineales. Análisis de errores. Problemas de cuadrados mínimos lineales. Ecuaciones y sistemas no lineales. Interpolación y aproximación. Métodos iterativos para sistemas lineales. Integrales definidas.
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.
Ámbito de la Física . Conceptos fundamentales de mecánica. Movimiento en una dimensión. Movimiento en tres dimensiones. Dinámica newtoniana. Ejemplos de sistemas simples. Campo central; sistemas gravitatorios. Sistemas termodinámicos. Gases ideales. Termodinámica. Termodinámica de la computación. Introducción al electromagnetismo. Corrientes eléctricas. Interacciones electromagnéticas de los átomos. Interacciones electromagnéticas de los sólidos.
Lógica de primer orden: Lenguajes de primer orden y modelos. Definición inductiva del valor de verdad (Tarski). Equivalencia elemental. Lóg ica ecuacional. Pruebas formales . Teorema de Lowenheim-Skolem. Teorema de Compacidad. Teorías forma les. Teorema de corrección . Teorema de completitud (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.