Curso C avanzado

CCNA
Curso C avanzado

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.

  1. Analizar la evolución y los estándares del lenguaje C: Examinar los principales hitos históricos, las versiones del lenguaje y las nuevas palabras clave de C11 para comprender su impacto en la programación moderna.
  2. Aplicar técnicas para manejar parámetros variables: Utilizar funciones y herramientas especializadas para gestionar cantidades variables de parámetros y desarrollar programas flexibles y dinámicos.
  3. Evaluar operaciones de entrada y salida de bajo nivel: Implementar operaciones de entrada y salida mediante llamadas al sistema e interfaces como POSIX, comprendiendo la interacción directa con los recursos del sistema.
  4. Desarrollar estrategias de manipulación de memoria y cadenas: Aplicar técnicas avanzadas de administración de memoria y procesamiento de cadenas, incluyendo aspectos de internacionalización y Unicode.
  5. Comparar la gestión de procesos y subprocesos en diferentes sistemas operativos: Implementar técnicas de gestión de procesos y concurrencia en entornos Unix y Windows, considerando la seguridad de los subprocesos.
  6. Interpretar los tipos de datos y la precisión numérica: Examinar el comportamiento de los números enteros y de coma flotante, los estándares IEEE-754 y conceptos como NaN, infinito y precisión numérica.
  7. Diseñar aplicaciones básicas de red: Aplicar los fundamentos de TCP/IP, UDP y programación de sockets para desarrollar aplicaciones de comunicación cliente-servidor y entre pares.
  8. Implementar y evaluar construcciones avanzadas de programación: Analizar el uso de const, volatile, goto, saltos largos, inicializadores avanzados y otros elementos, considerando la portabilidad y los comportamientos indefinidos.
  9. Crear programas sofisticados en C: Integrar los conocimientos adquiridos durante el curso para desarrollar soluciones de programación complejas y prepararse para la certificación CLP.

  • Computadora con conexión a internet
  • Navegador web moderno
  • Entorno de desarrollo integrado (IDE)
  • Herramientas de programación en C
Módulo de aprendizaje:
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.
↑
Para más información:

Puedes contactarnos por privado para saber otros detalles sobre el curso, en el siguiente botón:

Contáctanos