3 de noviembre de 2018

PCAP: Certificación de Python a nivel asociado

Hace unos meses escribí en este blog una entrada sobre la certificación de introducción a la programación usando Python ofrecida por Microsoft. Ahí mencioné también otra certificación de Python, pero en este caso de tipo vendor-neutral (independiente de proveedor), titulada Certified Associate in Python Programming, la cual aún no estaba disponible en aquel momento. En marzo de 2018, el recientemente creado OpenEDG Python Institute finalmente lanzó el respectivo examen de certificación.

Fuente: pythoninstitute.org

En esta entrada del blog de EduPython voy a presentar algunos de los detalles más relevantes de esta nueva certificación, así como mi experiencia en todo el proceso para obtenerla.

Generalidades

El sitio oficial incluye la siguiente descripción:
La certificación como programador de Python a nivel asociado (PCAP por sus siglas en inglés) es una credencial profesional que mide la capacidad de un individuo para realizar tareas de codificación relacionadas con los conceptos básicos de la programación en el lenguaje Python y las nociones y técnicas fundamentales utilizadas en la programación orientada a objetos.

La certificación demuestra que una persona está familiarizada con los conceptos fundamentales de programación de computadoras: sintaxis y semántica del lenguaje Python, ejecución condicional, ciclos, entorno de ejecución, y técnicas de codificación estructurada y orientada a objetos.
La obtención de la certificación PCAP es evidencia de que alguien está plenamente familiarizado con los recursos principales provistos por Python 3, y esto servirá como punto de partida para estudios más avanzados y el inicio de una carrera como desarrollador de software.


Información sobre el examen

  • Nombre del examen: PCAP Certified Associate in Python Programming
  • Clave: PCAP-31-02
  • Nivel: Asociado
  • Certificaciones relacionadas: 
    • PCPP Certified Professional in Python Programming (aún no disponible a la fecha)
  • Requisitos previos: Ninguno
  • Duración: 65 minutos
  • Número de preguntas: 40
  • Calificación mínima para aprobar: 70% (28 aciertos)
  • Formato del examen: Preguntas de opción múltiple con una o varias respuestas
  • Idioma: Inglés
  • Costo: USD 295.00 (con posibilidad de un descuento del 50%, ver descripción más adelante)
  • Lugar donde se presenta: en cualquiera de los cinco mil centros de evaluación autorizados de Pearson VUE alrededor de todo el mundo.

Objetivos del examen

Los interesados en la certificación PCAP deben demostrar conocimiento sobre los siguientes conceptos:
  1. Los fundamentos de la programación de computadoras, es decir, cómo funciona la computadora, cómo se ejecuta un programa, cómo se define y construye el lenguaje de programación, cuál es la diferencia entre compilación e interpretación, qué es Python, cómo se compara con otros lenguajes de programación, y cuáles son las diferencias más importantes entre las principales versiones de Python. 
  2. Los métodos básicos de formato y salida de datos ofrecidos por Python, junto con los tipos principales de datos y operadores numéricos, sus relaciones mutuas y enlaces; el concepto de variables y las convenciones para nombrarlas; el operador de asignación, las reglas que rigen la construcción de expresiones; la entrada y conversión de datos.
  3. Valores booleanos para comparar valores de diferencia y controlar los caminos de ejecución utilizando las instrucciones if e if-else; la utilización de ciclos (while y for) y cómo controlar su comportamiento utilizando las instrucciones break y continue; la diferencia entre operaciones lógicas y de manipulación de bits; el concepto de listas y sus mecanismos de procesamiento, incluyendo la iteración proporcionada por el ciclo for y las rebanadas (slices); la idea de arreglos multidimensionales.
  4. La definición y el uso de funciones: su justificación, propósito, convenciones y trampas; el concepto de pasar argumentos de diferentes maneras y establecer sus valores predeterminados, junto con los mecanismos para devolver los resultados de la función; alcance o visibilidad de nombres; datos compuestos adicionales: tuplas y diccionarios, y su función en el procesamiento de datos.
  5. Módulos de Python: justificación, función, cómo importarlos de diferentes maneras e identificar el contenido de algunos módulos estándar proporcionados por Python; la forma en que los módulos se acoplan para hacer paquetes; el concepto de una excepción y la implementación de Python de las excepciones, incluida la instrucción try-except, con sus aplicaciones, y la instrucción raise; cadenas de caracteres y sus métodos específicos, junto con sus similitudes y diferencias en comparación con las listas.
  6. Los fundamentos de la POO (programación orientada a objetos) y la forma en que se adoptan en Python, mostrando la diferencia entre la POO y el enfoque procedural clásico; las características típicas de objetos: herencia, abstracción, encapsulación y polimorfismo, junto con las particularidades de Python como variables de instancia y de clase, así como la implementación de herencia en Python; las excepciones como objetos; los generadores de Python (la instrucción yield) y las cerraduras léxicas (la palabra reservada lambda); los mecanismos para procesar (crear, leer y escribir) archivos.
También está disponible el temario más detallado del examen.

Fuente: www.123rf.com

Recursos para estudiar

El Python Institute recomienda cualquiera de las siguientes dos opciones para que los interesados puedan prepararse adecuadamente para presentar el examen PCAP:
  • Autoestudio: Curso en línea PCAP: Programming Fundamentals in Python. Este es un curso gratuito que consta de dos partes (cinco módulos en total) y está disponible desde la plataforma educativa de OpenEDG. Cada estudiante inscrito al curso avanza a su propio ritmo, pero debe ir cubriendo los contenidos y exámenes de cada módulo dentro de ciertas fechas que son establecidas al momento de inscribirse. Cada una de las dos partes del curso tiene una duración estimada de 40 horas y se deben concluir en no más de siete semanas. Si el estudiante realiza todos sus exámenes de los módulos dentro de las fechas previamente fijadas y además obtiene una puntuación igual o superior al 70% en el examen final entonces se hace acreedor a un vale de descuento del 50% sobre el costo regular del examen en los centros de evaluación Pearson VUE. Esto quiere decir que en lugar de tener que pagar USD 295.00, el costo del examen queda en USD 147.50 ya con el descuento. El curso no requiere conocimientos previos de programación.
  • Curso presencial: Cisco Networking Academy cuenta con un curso de 70 horas de duración titulado PCAP: Programming Essentials in Python el cual es impartido por un instructor de manera presencial. Los cursos ofrecidos por Cisco tienen un costo, el cual es determinado por la institución académica que los imparte (usualmente alguna escuela o universidad). Cuando un estudiante termina el curso de manera exitosa se lo otorga un vale de descuento del 51% en el examen de certificación, quedando su costo en USD 144.55. La página oficial indica que el curso solo se ofrece en inglés lo que me hace suponer que aún no está disponible en países de habla hispana. Al igual que la opción de autoestudio, este curso tampoco requiere conocimientos previos de programación.


Yo me preparé por mi cuenta para el examen utilizando el curso en línea de OpenEDG. El curso está 100% alineado al examen de certificación, por lo que sirve como un muy buen repaso pero además me ayudó a descubrir aquellos rincones recónditos del lenguaje que ni siquiera sabía que ignoraba, aún a pesar de tener años de experiencia programando en Python. Dado que la mayor parte del contenido me resultaba familiar, lo que hice fue irme directamente a resolver los exámenes de cada módulo. Si me daba cuenta de que había temas en los que tenía algunas dudas, entonces ya optaba por revisar con más detalle los contenidos correspondientes. Bajo este esquema pude prepararme en relativamente poco tiempo. Cabe mencionar que sí me topé con uno que otro error en el contenido del curso, pero nada demasiado grave. Lamentablemente, no hallé en el sitio algún mecanismo para reportar este tipo de problemas.

El sitio oficial del Python Institute tiene disponible un examen de práctica completo (documento PDF) muy parecido al examen real de certificación PCAP. Una pregunta ejemplo tomada de este mismo documento es la siguiente:
What is the expected output of the following snippet?

    i = 250
    while len(str(i)) > 72:
        i *= 2
    else:
        i //= 2
    print(i)

A) 125
B) 250
C) 72
D) 500
La respuesta de la pregunta anterior es A. Si esto no resulta evidente, recomiendo al lector leer otra entrada de mi blog titulada: ¿Dónde quedó el do-while?.

Presentando el examen

Como ya mencioné anteriormente, el examen PCAP se presenta en cualquier centro de evaluación autorizado de Pearson VUE. Es necesario agendar el examen desde su sitio oficial con al menos 24 horas hábiles de anticipación. Ahí mismo se realiza el pago mediante el cargo a una tarjeta de crédito internacional. Durante este proceso se debe proporcionar también el vale de descuento en caso de contar con él.

Pare presentar el examen se recomienda llegar con 15 minutos de antelación al centro de evaluación. Si se llega tarde a la cita el examen se cancela y no hay reembolsos. Al llegar al centro de evaluación el candidato a presentar el examen debe mostrar dos identificaciones vigentes con su nombre y firma, y al menos una de éstas debe ser de emisión gubernamental y contar con foto de la persona.

Fuente: myupdatestar.com

Una vez registrado el candidato se le lleva a un cuarto de examen. No se permite introducir a dicha habitación ningún artículo personal, incluyendo bolsas, libros, notas, teléfono, reloj, ni cartera. El centro de evaluación debe proporcionar un lugar seguro para guardar todos estos objetos. El cuarto tiene la computadora para hacer el examen y una cámara de vigilancia para monitorear al candidato en todo momento y verificar que no haga trampa. La computadora solo puede correr el software para administrar el examen. No hay acceso a Internet ni a ningún otro programa. Al candidato se le brinda un pequeño pintarrón (pizarrón blanco) y un plumón para escribir sobre éste. Lo anterior es por si se requiere hacer algún tipo de cálculo o corrida de escritorio durante el examen. Durante el examen no está permitido salir del cuarto, hablar con alguien más, ni tampoco consumir alimentos o bebidas.

Ya en la computadora, se tienen que aceptar desde un inicio un acuerdo de confidencialidad en donde en esencia el candidato se compromete a no divulgar el contenido del examen. Luego viene un breve tutorial de cómo utilizar el software que se usará para presentar el examen. Lo anterior tiene una duración de unos 10 minutos y no forma parte de los 65 minutos que dura el examen en sí.

Una vez comenzado el examen, la parte superior de la pantalla informa cuánto tiempo queda disponible y cuántas preguntas faltan por responder. Mientras uno esté dentro del tiempo permitido del examen, y no haya seleccionado la opción de concluirlo, es válido navegar de ida y vuelta entre las preguntas, contestarlas en cualquier orden y modificar las respuestas. Al seleccionar la opción de terminar el examen aparece un resumen en donde se nos avisa si alguna pregunta quedó sin contestar para que la podamos responder (si es que aún hay tiempo). Al concluir, el sistema brinda unos minutos para realizar comentarios sobre cualquiera de las preguntas del examen, pero ya sin tener la oportunidad de cambiar nuestras respuestas. Esto es totalmente opcional, y sirve para reportar situaciones en donde uno considera que existe un error o ambigüedad en la redacción de alguna pregunta o en sus incisos de respuesta.

Reporte con el resultado del examen PCAP.

Concluido todo lo anterior el candidato debe retirarse del cuarto de examen para dirigirse con la persona del centro de evaluación responsable del registro y administración del examen quien entregará una hoja impresa con el reporte del resultado del examen. Éste contiene la puntuación total del examen (en porcentaje) y los resultados del aprendizaje desglosado en cuatro secciones (cada sección fue conformada por diez preguntas):
  1. Control y evaluaciones
  2. Colecciones de datos
  3. Funciones y módulos
  4. Clases, objetos y excepciones
Así mismo, el reporte incluye una liga oficial de Pearson VUE junto con un número de validación para verificar que el reporte sea legítimo. Este dato puede ser útil, por ejemplo, para un empleador que desee confirmar de manera fácil y rápida las credenciales de un aspirante a un puesto de trabajo.

A mi parecer, el momento de más nervios de todo este proceso ocurre en los minutos que pasan entre el instante en que uno termina el examen y el cuando finalmente te entregan el reporte impreso con tu resultado. Muchas cosas pueden pasar por tu mente en ese tiempo. Afortunadamente, en este examen obtuve un muy buen resultado. Solo tuve una pregunta incorrecta de las cuarenta que conforman el total del examen, logrando así una puntuación del 97%. Sinceramente, el examen se me hizo relativamente fácil a partir de la preparación que tuve. Mi apreciación es que los exámenes de módulos y el examen final del curso en línea provisto por el Python Institute tienen un nivel de dificultad mayor al del examen real.

Certificado de PCAP

Seis días después me llegó por correo electrónico una confirmación del resultado de mi examen junto con una liga hacia mi expediente digital de OpenEDG de donde pude descargar la versión electrónica del certificado. Como mes y medio después me llegó por correo convencional un paquete desde Polonia, bastante traqueteado por cierto, con la versión en papel de mi certificado junto con una carta de felicitación y una pulsera de plástico azul alusiva al PCAP.

Tal como lo mencioné en la entrada de la certificación de Microsoft, para mí una certificación es un medio de superación personal que sirve para validar y complementar mis habilidades y conocimientos, ya que me motiva a prepararme en temas particulares que de otra forma difícilmente revisaría por mi cuenta. En este sentido veo bastante útil la obtención de la certificación PCAP.