Aprende a programar en Python: de los principios básicos a la manipulación y visualización de datos con Pandas y Matplotlib
Esta microcredencial te presenta los conceptos básicos de programación y te enseña a resolver problemas construyendo programas de computador. Un programa es “simplemente” un conjunto de instrucciones que le dice a un computador cómo realizar una tarea. Sin embargo, encontrar un conjunto correcto de instrucciones puede ser bastante desafiante. Para esto, es necesario aprender a dividir un problema en subproblemas más pequeños y encontrar la solución para cada uno de esos subproblemas. Una gran parte de esta microcredencial está dedicado a enseñarte una forma de pensar que te permita construir programas que resuelvan problemas interesantes.
La estrategia pedagógica empleada en esta microcredencial es el aprendizaje activo basado en casos. En este sentido la microcredencial es una herramienta de trabajo dentro de un proceso de aprendizaje en el cual tú eres el principal protagonista. A lo largo de los cuatro módulos que conforman la microcredencial, se te mostrarán ejemplos de pequeños problemas, a medida que se presenta la teoría y al final de cada módulo, se te pedirá que resuelvas un problema completo.
Esta será la insignia digital que se otorgará por aprobar esta microcredencial aquí.
Dirigido a
Personas que deseen aprender a programar:
Estudiantes de últimos años de colegio.
Estudiantes de cualquier semestre universitario.
Desarrolladores de software que deseen actualizarse y aprender Python y sus librerías.
Objetivos
Al final esta microcredencial, serás capaz de:
1. Analizar un problema identificando entradas, salidas y restricciones.
2. Explicar conceptos de programación como variables, estructuras de control, funciones, parámetros, etc., independientemente del lenguaje de programación.
3. Diseñar una solución al problema:
a. Expresar un plan de solución en términos de pasos o subproblemas, identificados a partir de la aplicación de las técnicas de dividir y conquistar y refinamiento a pasos.
b. Diseñar un algoritmo como secuencia de instrucciones que resuelven un problema o subproblema.
4. Implementar y probar una solución a un problema:
a. Usar los tipos básicos de datos del lenguaje Python: números, booleanos, cadenas de caracteres, listas, matrices, tuplas y diccionarios para modelar los datos del problema.
b. Programar algoritmos usando un subconjunto del lenguaje de programación Python.
c. Utilizar librerías especializadas (ej. gráficas, procesamiento numérico).
d. Diseñar y aplicar un conjunto de pruebas (o mecanismos de validación) a la ejecución de la solución propuesta.
5. Utilizar buenas prácticas de programación. Esto es: escribir un programa siguiendo unos estándares predefinidos de documentación y codificación.
6. Utilizar con alguna facilidad un ambiente de desarrollo de software.
Habilidades que obtendrás:
• Programación
• Pensamiento computacional
• Abstracción
• Diseño de software
• Python Programming
• Diseño de software
Metodología
La estrategia pedagógica empleada es el aprendizaje activo basado en casos. Esta es una microcredencial altamente interactiva que constantemente retará a responder preguntas, verificar la comprensión, ejercitarse en escritura de código de programación, resolver casos de diferente complejidad y múltiples oportunidades para pasar de la teoría a la práctica, con actividades formativas, con las cuales se desarrollarán habilidades de abstracción y de programación.
La microcredencial consta de 13 semanas y está dividida en 4 módulos, cada uno con los siguientes elementos:
Introducción: Se inicia con una breve motivación al módulo, la cual consiste en un video del profesor o profesora que te acompañará a lo largo del módulo. A continuación, ponemos a tu disposición lecturas que te recomendamos hacer antes de comenzar las lecciones teóricas. Por último, encontrarás uno o más videos introductorios al tema que se trata en el módulo.
Sesiones sincrónicas: Estas sesiones son en tiempo real y de diferentes tipos. Unas de ellas son las sesiones de apertura y cierre (2 por módulo, cada una de 1.5 horas), de asistencia obligatoria, en las que podrás interactuar con los profesores del curso, resolver dudas y conocer de primera mano la utilidad de los conocimientos que adquieras. Las sesiones de tutoría (1 o 2 sesiones cada semana, de 1 hora) son un espacio de encuentro donde estarás acompañado por un tutor y en el cual podrás profundizar sobre algún tema visto en la semana o resolver dudas de los ejercicios prácticos. La asistencia a estas sesiones no es obligatoria, pero te recomendamos fuertemente hacer uso de ellas como apoyo a tu proceso de aprendizaje. Tendrás la oportunidad de asistir a una o dos sesiones por semana, las cuales serán ofrecidas en diferentes días y horarios, para que escojas las franjas que más te convienen. Las sesiones de refuerzo (una sesión semanal de 1.5 horas) también son sesiones opcionales; en ellas podrás resolver dudas sobre los conceptos teóricos con apoyo de un profesor experto en el tema.
Lecciones teóricas: Aquí se desarrollan los conceptos teóricos a través de una serie de presentaciones que incluyen la implementación de los mismos en Python. Permanentemente, encontrarás una serie de preguntas que te permitirán verificar tu comprensión de los conceptos explicados. Entre tema y tema verás unas presentaciones particulares llamadas “Refuerzo”. En estas, aterrizarás los conceptos teóricos, vistos en la presentación anterior, en casos reales presentados a través de los video-códigos de diferentes programas escritos en Python. A lo largo de las lecciones teóricas encontrarás los “Retos”, los cuales consisten en funciones de Python que debes implementar por tu cuenta y que puedes ejecutar una vez implementadas para probar su correcto funcionamiento.
Proyectos: Al finalizar la teoría de cada módulo, te verás enfrentado a la resolución de un proyecto. Esto es, la construcción de una aplicación completa que responde a una serie de requerimientos relacionados con un problema de la vida real. Contarás con una guía de trabajo y una evaluación directa de tutores que revisarán la calidad de tu entrega y retroalimentarán tu desempeño.
Exámenes: Por último, presentarás la evaluación de los conocimientos y habilidades que adquiriste a lo largo del módulo. Cada examen contiene una serie de preguntas teóricas relacionadas con lo aprendido en todo el módulo, y unas preguntas prácticas similares a los retos que desarrollaste anteriormente. Estos exámenes son las únicas actividades sumativas de la microcredencial y constituyen un requisito para la certificación.
Contenido
Módulo 1: Descubriendo el mundo de la programación [2 semanas] 12 horas (asincrónicas) + 3 horas (sincrónicas)+ 3 horas (sincrónicas opcionales)
- Resolución de problemas bien definidos utilizando un algoritmo
- Tipos de datos, la creación de variables y operaciones básicas del lenguaje
- Funciones básicas de Python y cómo se llaman/invocan
- Funciones con parámetros y funciones desde otras funciones (composición de funciones)
- Implementación de funciones propias, entendiendo el concepto de variables locales y parámetros
- Entrada y salida de información en un programa
- Construcción de interfaces de consola
- Creación de módulos para agrupar funciones relacionadas y uso dichos módulos en los programas
- Elementos que hacen el código mucho más comprensible y fácil de mantener
- Ambientes básicos de trabajo en Python (Spyder)
Módulo 2: Tomando decisiones [2 semanas] 13 horas (asincrónicas) + 3 horas (sincrónicas)+ 3 horas (sincrónicas opcionales)
- Conceptos de tablas de verdad y álgebra booleana
- Expresiones y operadores relacionales, expresiones y operadores lógicos
- Tipo de dato booleano
- Instrucciones condicionales (if-else, en cascada y anidados) dentro de los programas para la solución de problemas por casos
- Nuevas operaciones sobre strings
- Manipulación de diccionarios
- Diccionarios para manejar elementos que tienen las mismas características
- Concepto de "dividir y conquistar" al solucionar problemas
Módulo 3: Repitiendo acciones y manejando estructuras de datos [4 semanas] 17 horas (asincrónicas) + 3 horas (sincrónicas) + 6 horas (sincrónicas opcionales)
- Instrucciones iterativas para la solución de problemas en sus programas
- Indexación en strings
- Listas como nueva estructura de datos para apoyar la implementación de los programas
- Manipulación de listas en Python
- Patrones de recorrido sobre listas
- Manejar archivos (leer y escribir archivos para utilizarlos desde los programas)
- Estructuras de datos complejas para manejar grandes volúmenes de datos
- Matrices como nueva estructura de datos de dos dimensiones, para la solución de problemas
Módulo 4: Solucionando problemas con matrices y librerías [4 semanas] 18 horas (asincrónicas) + 3 horas (sincrónicas) + 6 horas (sincrónicas opcionales)
- Conceptos de tuplas y operaciones que se pueden realizar sobre estas para utilizarlas como estructura de datos en la solución de problemas
- Estructuras compuestas con tuplas (listas de tuplas, tuplas con listas, matrices de tuplas)
- Construcción de programas que sirvan para manipular imágenes
- Librería Matplotlib para visualizar conjuntos de datos
- Visualizaciones más adecuadas para representar un conjunto de datos
- Librería Pandas para manipular, organizar, filtrar y visualizar conjuntos de datos estructurados
- Proceso necesario para aprender a utilizar una nueva librería con destreza
A continuación el detalle de fechas y horarios para sesiones magistrales, tutorías y sesiones opcionales aquí.
Condiciones
Eventualmente la Universidad puede verse obligada, por causas de fuerza mayor a cambiar sus profesores o cancelar el programa. En este caso el participante podrá optar por la devolución de su dinero o reinvertirlo en otro curso de Educación Continua que se ofrezca en ese momento, asumiendo la diferencia si la hubiere.
La apertura y desarrollo del programa estará sujeto al número de inscritos. El Departamento/Facultad (Unidad académica que ofrece el curso) de la Universidad de los Andes se reserva el derecho de admisión dependiendo del perfil académico de los aspirantes.