Diseñado para llevar tus conocimientos del lenguaje de programación C de un nivel intermedio a uno profesional y avanzado
El curso C Advanced (CA) está diseñado para programadores de nivel intermedio que han completado el curso C Essentials 2 o poseen conocimientos equivalentes y desean llevar sus habilidades en C a un nivel profesional
Haber completado con éxito C Essentials 2, poseer la certificación CLA o contar con conocimientos intermedios equivalentes en funciones, estructuras, manejo de archivos y gestión de errores en C.
El plan de estudio permite a los participantes desarrollar habilidades para resolver problemas complejos de programación mediante el estudio de características avanzadas del lenguaje, técnicas de administración de memoria, operaciones de entrada y salida de bajo nivel, gestión de procesos y subprocesos, precisión numérica y programación de redes.
| Módulo/Tema | Objetivo |
|---|---|
| Módulo 1: Evolución de C | |
| 1.1 Evolución del lenguaje C y estándar C11 | Comprender la evolución del lenguaje C desde ANSI C hasta C11 e identificar las nuevas palabras clave y características incorporadas, como _Noreturn, _Alignof y _Generic. |
| Módulo 2: Número Variable de Parámetros | |
| 2.1 Funciones con parámetros variables | Implementar funciones capaces de recibir un número variable de argumentos y gestionar listas de parámetros mediante herramientas como va_list, vfprintf() y vsscanf(). |
| Módulo 3: Operaciones de E/S de Bajo Nivel | |
| 3.1 Operaciones de entrada y salida de bajo nivel | Realizar operaciones directas con el sistema operativo mediante llamadas POSIX y WinAPI, utilizando funciones como open(), read(), write() y fcntl(). |
| Módulo 4: Memoria y Cadenas | |
| 4.1 Gestión de memoria y manipulación de cadenas | Gestionar la asignación alineada de memoria, aplicar algoritmos de búsqueda y ordenamiento, y trabajar con Unicode e internacionalización (I18N) para procesar cadenas de caracteres. |
| Módulo 5: Procesos y Subprocesos | |
| 5.1 Creación y administración de procesos | Crear y administrar procesos mediante mecanismos como fork() y CreateProcess(), comprendiendo las diferencias entre los entornos de sistemas operativos. |
| 5.2 Hilos de ejecución | Comprender y utilizar hilos de ejecución para desarrollar programas concurrentes mediante POSIX Threads, C11 Threads y WinAPI. |
| Módulo 6: Flotantes y Enteros Revisitados | |
| 6.1 Representación numérica y precisión | Analizar el estándar IEEE-754, comprender la precisión de los números de punto flotante, identificar anomalías numéricas y controlar el entorno de operaciones matemáticas mediante FENV_ACCESS. |
| Módulo 7: Sockets de Red | |
| 7.1 Comunicación mediante sockets | Implementar mecanismos de comunicación cliente-servidor mediante sockets de red sobre los protocolos TCP/IP y UDP, utilizando direcciones IPv4 e IPv6. |
| Módulo 8: Temas Avanzados Misceláneos | |
| 8.1 Calificadores de tipo | Aplicar los calificadores const y volatile para controlar las características de acceso y modificación de los datos en los programas. |
| 8.2 Saltos no locales y ensamblador en línea | Utilizar mecanismos de salto no local como setjmp() y longjmp(), explorar el uso de ensamblador en línea mediante asm y comprender los puntos de secuencia en C. |
Puedes contactarnos por privado para saber otros detalles sobre el curso, en el siguiente botón:
Contáctanos