Guía de estudio para el examen de admisión al Posgrado en Ciencias de la Computación

 

El examen consiste en cinco temas generales, repartidos en 90 preguntas de opción múltiple. El tiempo acordado para la resolución del examen es de tres horas. La bibliografía propuesta es a título indicativo.

 

1.    Conocimiento general (30%)

1.1.   Aritmética y Teoría de conjuntos (factorización, divisibilidad, números primos, pertenencia, subconjuntos, álgebra de Boole, …)

1.2.   Álgebra y álgebra lineal

1.3.   Trigonometría

1.4.   Geometría analítica

1.5.   Cálculo diferencial e integral

1.6.   Conocimientos básicos en programación

 

Bibliografía:

 

2.    Programación y Algoritmos (25%)

2.1.   Estructura de datos

2.1.1.      Tipos de datos abstractos (pilas, colas, listas, árboles, …)

2.1.2.      Modelos de datos (jerárquico, relacional, distribuido, …)

2.1.3.      Archivos (accesos, permisos, administración, …)

2.2.   Programación

2.2.1.      Iteración y recursividad.

2.2.2.      Funciones y procedimientos

2.2.3.      Procesos (concurrentes, sincronización, comunicación entre procesos, …)

2.3.   Bases de datos

2.3.1.      Componentes de un DBMS

2.3.2.      Modelos de datos

2.3.3.      Modelo relacional

2.3.4.      Normalización

2.3.5.      Implementación

2.3.6.      Consulta de bases de datos

2.4.   Análisis de Algoritmos

2.4.1.      Conceptos (variables, constantes, expresiones, …)

2.4.2.      Enunciados (asignación, decisión, repetición, …)

2.4.3.      Pseudocódigo

2.4.4.      Representaciones

Bibliografía:

 

3.    Ingeniería de Software y Programación Avanzada (20%)

3.1.   Lenguajes de Programación

3.1.1.      Tipo de lenguajes (declarativo, imperativo, funcional, orientado a objetos…)

3.1.2.      Estructuras de datos

3.1.3.      Estructuras de control de flujo

3.1.4.      Evaluación de expresiones

3.2.   Teoría de Autómatas

3.2.1.      Lenguajes regulares (autómatas finitos, no deterministas, …)

3.2.2.      Lenguajes libres de contexto (notaciones, propiedades,

3.2.3.      Clases de gramáticas libres de contexto (LL, LR, precedencia, …)

3.2.4.      Máquina de Turing

3.2.5.      Procesadores de lenguajes formales (analizadores léxicos, …)

3.3.   Sistemas Operativos

3.3.1.      Administración de procesos (calendarización, exclusión mutua, interbloqueos, …)

3.3.2.      Administración de memoria (paginado, segmentación, …)

3.3.3.      Manejo de disco duro (algoritmos de acceso, buffers, …)

3.3.4.      Entrada/Salida (interrupciones, buffers, prioridades, administración, …)

3.3.5.      Seguridad (identificación, encriptado, biométrica, virus, hackers, …)

3.4.   Compiladores

3.4.1.      Análisis léxico

3.4.2.      Tablas de símbolos

3.4.3.      Análisis sintáctico

3.4.4.      Análisis semántico

3.4.5.      Entorno de ejecución

3.4.6.      Generación de código

3.4.7.      Errores

3.4.8.      Compilación incremental e intérpretes

3.5.   Ingeniería de Software

3.5.1.      Procesos del software

3.5.2.      Administración de proyectos

3.5.3.      Modelos de sistemas

3.5.4.      Especificación formal y afirmaciones

3.5.5.      Diseños (sistemas distribuidos, en tiempo real, interfaz del usuario, …)

3.5.6.      Confiabilidad

3.5.7.      Pruebas de software

3.5.8.      Técnicas de verificación (transformadores de predicados, axiomas de Hoare, …)

 

Bibliografía:

 

4.    Arquitectura de Sistemas Computacionales (15%)

4.1.   Circuitos digitales

4.1.1.      Circuitos secuenciales

4.1.2.      Circuitos combinatorios

4.2.   Microprocesadores y Arquitectura de computadoras

4.2.1.      Arquitectura (RISC, SISC, …)

4.2.2.      Juego de instrucciones

4.2.3.      Registros

4.2.4.      Unidad Aritmética y Lógica

4.2.5.      Memoria

4.2.6.      Dispositivos de Entrada/Salida

4.2.7.      Interrupciones

4.3.   Redes

4.3.1.      Tipos de redes

4.3.2.      Protocolos de comunicación

4.3.3.      Sistemas distribuidos

Bibliografía:

 

5.    Matemáticas computacionales (10%)

5.1.   Lógica matemática

5.1.1.      Valor de verdad

5.1.2.      Lógica de proposiciones

5.1.3.      Tablas de verdad y álgebra de proposiciones

5.1.4.      Inferencia

5.1.5.      Demostraciones por inducción y reducción al absurdo

5.2.   Matemáticas discretas

5.2.1.      Teoría de grafos

5.2.2.      Análisis combinatorio (combinaciones, permutaciones, …)

5.3.   Análisis numérico

5.3.1.      Aritmética de computadora

5.3.2.      Métodos numéricos

5.4.   Probabilidad y Estadística

5.4.1.      Distribuciones

5.4.2.      Eventos

5.4.3.      Estimaciones

 

Bibliografía: