Director
D. Pablo Neira Ayuso
(Lenguajes y Sistemas Informáticos)

Unidad Promotora
Departamento de Lenguajes y Sistemas Informáticos

Impartición
Del 03/04/2017 al 10/05/2017

Modalidad
Semipresencial
(mediawiki)

Idioma de impartición
Español

Lugar de impartición
C.R.A.I. Antonio de Ulloa. Aulas TIC 1, 3 y 4

180,00 €
(tasas incluidas)


4,00 ECTS


Prácticas
No

Preinscripción
Del 01/01/2017 al 19/03/2017


Matrícula
Del 01/03/2017 al 19/03/2017

Objetivos


<p><p>El lenguaje de programación C es uno de los lenguajes más empleados hoy en día para el desarrollo de software según el Ranking TIOBE y el Opensource Language Ranking. Algunos ejemplos de relevancia son el núcleo de Linux, el navegador web Firefox, el servidor web Apache, la interfaz web cgit, el toolkit gráfico GTK y el NDK de Android, entre muchos otros.</p><p>El curso ofrecerá una visión moderna de la programación en C, partiendo de los estándares de C99 y C11. Se realizará siempre un enfoque práctico. Es por ello que el curso introducirá al estudiante en el uso de las bibliotecas nativas en C de referencia para el desarrollo de software en entornos gráficos, red e importación/exportación de datos a ficheros.</p></p>

Competencias


Capacidad de uso de herramientas de desarrollo en C

Capacidad de trabajo en comunidades de Software Libre

Capacidad de uso de nuevas bibliotecas.

Búsqueda de soluciones en distintas fuentes y resolución de problemas.

Capacidad de autoevaluación y revisión de sus propios desarrollos

Procedimiento de evaluación


Trabajos

Requisitos


Requisitos específicos de admisión a los estudios

  • Conocimientos básicos de programación

Módulos / Asignaturas


Modalidad de impartición: Presencial

Fechas de inicio-fin: 03/04/2017 - 19/04/2017

Horario: Lunes en Tarde

Contenido

<hr>

<b>Historia de C</b>

<div style="padding-left: 3em; padding-top:0em; margin-top:0em">Un poco de historia de C, proyectos de referencias, características, utilidad y aplicaciones.</div>

<b>Configurando el entorno de trabajo</b>

<div style="padding-left: 3em; padding-top:0em; margin-top:0em">Flujo de trabajo, Git, GitHub, editor, terminal linux</div>

<b>Introducción a C</b>

<div style="padding-left: 3em; padding-top:0em; margin-top:0em">Variables, tipos básicos, arrays, introducción a punteros</div>

<b>Estructuras</b>

<div style="padding-left: 3em; padding-top:0em; margin-top:0em">Estructuras de datos básicas de C</div>

<b>C Modular</b>

<div style="padding-left: 3em; padding-top:0em; margin-top:0em">Funciones, ficheros de cabeceras, compilación modular y make</div>

<b>Reserva dinámica de memoria</b>

<div style="padding-left: 3em; padding-top:0em; margin-top:0em">Mapa de memoria, reserva y liberación dinámica memoria, problemas típicos de manejo de memoria, depuración con valgrind</div>

<b>Objetos (I)</b>

<div style="padding-left: 3em; padding-top:0em; margin-top:0em">Introducción la creación de objetos en C</div>

Modalidad de impartición: Presencial

Fechas de inicio-fin: 24/04/2017 - 10/05/2017

Horario: Lunes en Tarde

Contenido

<hr>

<b>Getopt</b>

<div style="padding-left: 3em; padding-top:0em; margin-top:0em">Paso de argumentos y getopt</div>

<b>Listas</b>

<div style="padding-left: 3em; padding-top:0em; margin-top:0em">Listas encadenadas: teoría y librería "list.h" del Kernel</div>

<b>I/O</b>

<div style="padding-left: 3em; padding-top:0em; margin-top:0em">Entrada/salida con libc: lectrua y escritura de ficheros</div>

<b>Punteros a funciones</b>

<div style="padding-left: 3em; padding-top:0em; margin-top:0em">Sintáxis y utilidad de los punteros a funciones.</div>

<b>Objetos (II)</b>

<div style="padding-left: 3em; padding-top:0em; margin-top:0em">Conceptos avanzados sobre objetos: herencia y polimorfismo</div>

<b>gdb</b>

<div style="padding-left: 3em; padding-top:0em; margin-top:0em">Debugación con gdb</div>

<b>Gtk</b>

<div style="padding-left: 3em; padding-top:0em; margin-top:0em">Introducción al uso de la librería GTK para creación de interfaces gráficas.</div>

<b>Sockets TCP/UDP</b>

<div style="padding-left: 3em; padding-top:0em; margin-top:0em">Introducción al uso de sockets en Linux</div>

<b>Hilos</b>

<div style="padding-left: 3em; padding-top:0em; margin-top:0em">creación y manipulación de hilos</div>

Profesorado


Personal Académico

  • D. Carlos Falgueras García - --
  • D. Pablo Neira Ayuso . Universidad de Sevilla - Lenguajes y Sistemas Informáticos

Profesorado

  • D. Carlos Falgueras García - --
  • D. Pablo Neira Ayuso . Universidad de Sevilla - Lenguajes y Sistemas Informáticos