UC3M

Grado en Ing. Telemática/Sist. Audiovisuales/Sist. de Comunicaciones

Arquitectura de Sistemas

Septiembre 2017 - Enero 2018

Parte I.  Programación en C

Tabla de contenidos

1. Estructura de un programa en C
1.1. Un programa en C
1.2. Bibliografía de apoyo
1.3. Actividades
2. Tipos de datos en C
2.1. Tipos de datos básicos
2.2. Tipos de datos estructurados
2.3. Uniones
2.4. Enumeraciones
2.5. Bibliografía de apoyo
2.6. Ejercicios
2.7. Actividades
3. Declaración de variables
3.1. Ámbito de una variable
3.2. Definición de sinónimos de tipos con typedef
3.3. Bibliografía de apoyo
3.4. Ejercicios
3.5. Actividades
4. Las funciones en C
4.1. Definición de funciones
4.2. Paso de parámetros a una función
4.3. Prototipos de funciones
4.4. Funciones estáticas
4.5. Autoevaluación automática
4.6. Bibliografía de apoyo
4.7. Ejercicios
4.8. Actividades
5. Los punteros en C
5.1. Todo dato tiene una dirección en memoria
5.2. La indirección
5.3. El tipo de datos puntero a
5.4. Asignación de una dirección a un puntero
5.5. La indirección a través de punteros
5.6. Punteros a punteros
5.7. Uso de la indirección
5.8. Punteros a funciones
5.9. Bibliografía de apoyo
5.10. Autoevaluación automática
5.11. Ejercicios sobre punteros
5.12. Actividades
6. Llamadas al sistema para gestión de memoria en C
6.1. Los tipos de memoria de un programa en C
6.2. La pila y las variables locales
6.3. El heap y la memoria dinámica
6.4. La función sizeof()
6.5. Llamadas a las funciones de gestión de memoria
6.6. Tablas y punteros
6.7. Bibliografía de apoyo
6.8. Autoevaluación automática
6.9. 20 problemas de memoria dinámica
6.10. Anomalías en la gestión de memoria en C
6.11. Problemas sobre fugas de memoria.
6.12. Actividades
7. Tablas Hash
7.1. Contexto de uso de una tabla hash
7.2. Posibles implementaciones
7.3. Tablas hash
7.4. Gestión de colisiones mediante listas encadenadas
7.5. La función de hash
7.6. El tamaño de la tabla
7.7. Bibliografía de apoyo
7.8. Preguntas de autoevaluación
7.9. Actividades
8. Operaciones de entrada y salida
8.1. Introducción
8.2. Funciones E/S carácter a carácter
8.3. Funciones E/S para tipos de datos
8.4. Funciones de entrada para leer strings de manera segura
8.5. Bibliografía de apoyo
8.6. Preguntas de autoevaluación
8.7. Actividades
9. Lectura y escritura de ficheros
9.1. Introducción
9.2. Funciones básicas
9.3. Lectura y escritura de ficheros
9.4. Acceso aleatorio a ficheros
9.5. Manipulación directa de ficheros
9.6. Preguntas de autoevaluación
9.7. Bibliografía de apoyo
9.8. Actividades
10. Modelado de estructura de datos
10.1. El modelado de datos
10.2. Aplicación de referencia
10.3. Modelado de la información en una aplicación
10.4. Establecimiento de relaciones entre diferentes tablas de la aplicación
10.5. Persistencia de la información
10.6. Almacenamiento de información procesada
10.7. Realizaciones de tablas de datos en lenguaje C
10.8. Almacenamiento de datos en ficheros
10.9. Independencia del módulo de datos y reutilización
10.10. Bibliografía de apoyo
10.11. Actividades
11. Los hilos
11.1. Programación concurrente
11.2. Hilos
11.3. Cerrojos
11.4. Bibliografía de apoyo
11.5. Actividades