La Escuela de Código de PILARES busca el desarrollo de habilidades de programación y habilidades en tecnologías de la información en participantes del programa. Escuela de Código ha existido desde 2019 como un espacio donde los participantes pueden elaborar un proyecto donde se demuestran las capacidades requeridas para programar en diversos lenguajes de programación. A finales de 2019, Escuela de Código identificó la necesidad de expandir y formalizar su programa, en particular en promover aspectos de cómputo para mujeres para los llamados trabajos del futuro. Es en este contexto que surge el proyecto Diseño de un programa de estudios para la capacitación en programación y habilidades en tecnologías de información y comunicación para la escuela de código dentro de PILARES de la Ciudad de México (SECTEI/284/2019) que se llevó a cabo en el Instituto de Investigaciones de Matemáticas Aplicadas y en Sistemas (IIMAS) de la Universidad Nacional Autónoma de México (UNAM), cuyo fin fue la creación de los planes de estudio que permitiera a la Escuela de Código implementar la capacitación.

Se comenzó por definir cinco áreas temáticas asociadas a competencias en programación y habilidades tecnológicas que siguieran las siguientes consideraciones:

  1. La temática de los módulos deberá poderse llevar en un sistema no escolarizado dado que es el modelo de enseñanza que sigue Escuela de Código, donde las y los participantes avanzan a su propio ritmo bajo supervisión de una o un tallerista.
  2. La temática de los módulos deberá poderse llevar en un modelo de enseñanza por competencias.
  3. La temática deberá ofrecer una salida laboral, es decir una o un participante que complete un módulo podrá aspirar a trabajar en un puesto bajo supervisión.

Con esto en mente se identificaron las siguientes áreas:

  • Web: programación de páginas dinámicas o estáticas, elaboración de aplicación web y manejo de frameworks para web.
  • Programación general: manejo de estructuras de datos, pensamiento lógico, manejo de un lenguaje de programación, programación para backend y análisis básico de datos.
  • Aplicaciones móviles: Conceptos básicos de UX, manejo de estructuras, pensamiento lógico, programación de sistemas móviles.
  • Administración de sistemas: Manejo de sistemas operativos, administración de equipos y de servicios, trato con usuarios.
  • Base de datos: Administración de bases de datos, diseño y lógica de base de datos, explotación de base de datos.

Para cada una de estas áreas se identificó la tecnología central de la que tratarían los módulos tomando en cuenta:

  • Las herramientas deben ser de fácil acceso y de software libre.
  • En la industria esas herramientas deben ser ampliamente usadas.
  • Debe existir documentación en español, no necesariamente oficial, puede ser a través de elementos de divulgación como: libros, blogs o video tutoriales.
  • Deben ser compatibles con las capacidades que tiene el equipo de cómputo de Escuela de Código:
    • Equipos de escritorio de al menos 8gb de memoria RAM.
    • Procesadores Intel.
    • Bajo el sistema operativo Linux: Escuelas Linux (distribución Bodhi).

La tecnología central identificada fue:

  1. Web: HTML, Javascript, PHP y frameworks.
  2. Programación general: Python y ambiente de desarrollo Jupyter.
  3. Aplicaciones móviles: MIT App, lenguaje de programación Kotlin y ambiente de desarrollo Android Studio.
  4. Administración de sistemas: Ubuntu y VirtualBox.
  5. Base de datos: PostgreSQL y lenguaje de programación Python.