Contenido del curso

De Wiki del curso de C
Saltar a: navegación, buscar

MÓDULO 1

  1. Introducción al lenguaje C:
    • Un poco de historia: Desde 1972 hasta hoy día.
    • Proyectos de referencia: el núcleo de Linux, el navegador web Firefox, el servidor web Apache, la interfaz web cgit, el toolkit gráfico GTK, en NDK de Android y el juego Doom.
    • Por qué y para qué el lenguaje C.
    • Características de C.
    • Bibliografía recomendada.
  2. Ejemplo 1: ¡Hola mundo!
    • El compilador GNU cc.
    • Los #includes.
    • La biblioteca estándar de C (libc)
    • Introducción a las funciones en C.
    • Definición y uso de funciones.
    • Compilando y configurando un proyecto a través de scripts. (autoconf/automake).
    • Introducción al gestor de versiones GIT y el editor de texto vim.
  3. Ejemplo 2: clase "gestor de tareas"
    • Creación de objeto con malloc.
    • Liberación de objetos con free.
    • Impresión por pantalla.
    • Acceso a campos de las estructuras.
  4. Ejemplo 3: errores clásicos y depurando con Valgrind
    • Segfaults.
    • Acceso a punteros inválidos.
    • Fugas de memoria.
    • Corrupciones de memoria.
    • Valgrind: En qué puede ayudarnos.
  5. Ejemplo 4: arrays
    • Declaración, acceso y usos.
  6. Ejemplo 5: listas
    • Estructura list_head.
    • Añadir elementos a la lista con list_add.
    • Eliminar elementos de la lista con list_del.
    • Referencias a elementos de una lista (&).
  7. Ejemplo 6: paso de argumentos al programa y tratamiento
    • Los parámetros argc y argv y la función getopt_long.
  8. Ejemplo 7: E/S por ficheros
    • Abrir y cerrar ficheros.
    • Lectura y escritura de caracteres en fichero.
    • Lectura y escritura de cadenas en un fichero.
    • Las funciones fprintf(), fwrite() y fread().

MÓDULO 2: USANDO BIBLIOTECAS LIBRES

  1. GTK: Biblioteca para crear la interfaz gráfica de una aplicación.
    • Introducción: Historia y software necesario.
    • Ejemplo 1: Creación de widgets, ventanas, botones, etiquetas y contenedores.
    • Ejemplo 2: Creación de widget con uso de menús. Uso de menus. Uso de Toolbars.
  2. Libjansson (JSON): Biblioteca para exporta e importar datos en formato JSON.
    • Introducción: Historia, tipos de objetos y software necesario.
    • Estructura estándar de JSON.
    • Ejemplo 1: Procesado, recorrido e impresión de un arbol sencillo.
    • Uso de funciones para procesar cadenas.
    • Uso de funciones para recorrer el árbol.
    • Impresión del contenido del árbol.
    • Ejemplo 2: Procesado, recorrido e impresión de arboles con listas.
    • Ejemplo 3: Lectura y escritura de ficheros en formato JSON.
    • Ejemplo 4: Herramientas para validar la estructura de JSON.
  3. Libev: Biblioteca para manejar eventos
    • Introducción.
    • Manejo de eventos y sockets
    • Ejemplo: Servidor que acepte y reciba conexiones a partir de eventos.
  4. Libsqlite: Biblioteca para uso de bases de datos sqlite.
    • Introducción.
    • Ejemplo 1: Conexión con una base de datos y creación de una tabla.
    • Ejemplo 2: Añadir, borrar y actualizar datos en una base datos.