Overview
¡Te damos la bienvenida al curso de Programación en Python de la Universidad de los Andes!
El propósito de este curso es ofrecerte un ambiente interactivo para que desarrolles tus habilidades de pensamiento computacional, aprendas a programar en el lenguaje Python y te entrenes en la resolución de problemas utilizando un computador. La estrategia pedagógica empleada es el aprendizaje activo basado en casos. Es un curso altamente interactivo que constantemente te retará a responder preguntas, verificar tu comprensión, ejercitarte 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 desarrollarás habilidades de abstracción y de programación.
Además, podrás utilizar PyTips, una aplicación web desarrollada por la Universidad de los Andes, novedosa e importante para el desarrollo de habilidades de programación, donde encontrarás una lista de errores comunes que se cometen al aprender a programar en Python y te permite corregirlos de manera que puedas aprender de ellos.
Ten en cuenta que el tiempo estimado para la realización de las actividades de cada módulo es de 15 horas en promedio. Tú puedes invertir este tiempo en un periodo de 1 o 2 semanas por módulo, de acuerdo con tus posibilidades y necesidades educativas. Así mismo te recomendamos que desarrolles todas las actividades educativas en el orden propuesto, de manera que pueda sacar mejor provecho de este curso.
Este curso es para toda persona que desee aprender a programar, aunque nunca lo haya hecho. Se requiere un mínimo de bases matemáticas y muchas ganas de aprender y trabajar.
Syllabus
- Módulo 1: Descubriendo el mundo de la programación
- ¡Te damos la bienvenida al módulo 1! En este módulo presentaremos en detalle los conceptos básicos de cualquier lenguaje de programación y los explicamos e ilustramos usando el lenguaje de programación Python. Los conceptos principales que estudiaremos en este módulo son los siguientes: tipos de datos, variables, expresiones, operadores, definición e invocación de funciones y parámetros. Ten en cuenta que el tiempo estimado para la realización de todas las actividades de este módulo es de cerca de 12 horas, tiempo que puedes usar de acuerdo con tus posibilidades. Nuestra recomendación es que desarrolles todas las actividades en el orden propuesto y que consideres hacerlo en un tiempo de dos semanas.
- Módulo 2: Tomando decisiones
- ¡Te damos la bienvenida al módulo 2! En este módulo presentaremos los conceptos necesarios para que un programa no siempre se ejecute de la misma manera, sino que pueda tomar decisiones dependiendo de las condiciones en que se ejecute y de los datos que proporcione el usuario. En este módulo también introducimos una estructura de datos (diccionarios) que permite manejar información más compleja que la que permiten los tipos simples presentados hasta el momento. Los conceptos principales que estudiaremos en este nivel son los siguientes: valores de verdad (booleanos), instrucciones condicionales, diccionarios y paso de parámetros por valor y por referencia. Ten en cuenta que el tiempo estimado para la realización de todas las actividades de este módulo es de cerca de 13 horas, tiempo que puedes usar de acuerdo con tus posibilidades. Nuestra recomendación es que desarrolles todas las actividades en el orden propuesto y que consideres hacerlo en un tiempo de dos semanas.
- Módulo 3: Repitiendo acciones y manejando estructuras de datos
- ¡Te damos la bienvenida al módulo 3! En este módulo presentamos los conceptos necesarios para que un conjunto de instrucciones se ejecute varias veces dependiendo de alguna condición o de los datos que proporcione el usuario. Aunque suena simple, esto hace que nuestros programas sean mucho más poderosos y que sea posible resolver problemas que antes eran imposibles. El poder adicional que nos dan las instrucciones repetitivas (o iterativas) que estudiaremos en este nivel viene de la mano con una mayor complejidad en los programas que vamos a construir. Es por esto que en este módulo debes redoblar tus esfuerzos y recordar lo que dijimos en la introducción al curso: para aprender a programar, se debe practicar programando. Además, la práctica debe ser deliberada y reflexiva: resuelve ejercicios diferentes y al terminar con cada uno reflexiona sobre lo que aprendiste y sobre lo que se te dificultó. Los conceptos principales que estudiaremos en este módulo son los siguientes: instrucciones repetitivas (ciclos), estructuras de datos de una dimensión (listas y diccionarios) y dos dimensiones (matrices), recorrido de secuencias (listas y cadenas de caracteres), archivos de texto y ¡mucha algorítmica! Ten en cuenta que el tiempo estimado para la realización de todas las actividades de este módulo es de cerca de 18 horas, tiempo que puedes invertir de acuerdo con tus posibilidades. Nuestra recomendación es que desarrolles todas las actividades en el orden propuesto y que consideres hacerlo en un tiempo de dos semanas.
- Módulo 4: Solucionando problemas con matrices y librerías
- ¡Te damos la bienvenida al módulo 4! En todos los campos que podamos imaginarnos, desde la agricultura hasta el mercadeo, pasando por la educación, la biología y el deporte, es cada vez más frecuente el análisis de datos. En muchos casos, los datos disponibles se han ido volviendo progresivamente más complejos y grandes hasta el punto de que algo tan poco trascendente como un partido de fútbol puede generar hoy millones de registros que luego alguien tendrá que analizar. Sin embargo, para trabajar bien sea con poca o con mucha información tenemos que resolver antes varias problemas: cómo cargar los datos y cómo organizarlos, cómo hacer búsquedas eficientes, cómo procesar los datos y cómo visualizar gráficamente su contenido. Estas son sólo algunas de las preguntas que nuestros programas tienen que resolver. ¡Si para cada uno tuviéramos que ocuparnos de todos estos detalles, no terminaríamos nunca de construirlos! Afortunadamente existen las librerías: programas y funciones bien empaquetados que podemos integrar a nuestros propios programas para reutilizar sus funcionalidades. En Python existen miles de librerías que nos resuelven varios de los problemas que mencionamos arriba, pero indiscutiblemente las librerías Numpy, Matplotlib y Pandas son las que se han convertido prácticamente en un estándar. En este módulo estudiaremos los aspectos más importantes de estas librerías, pero nuestro objetivo primordial no es que te vuelvas un experto en su uso. Nuestro objetivo real es que desarrolles la habilidad para adoptar una nueva librería instalándola, revisando su documentación, siguiendo tutoriales y resolviendo problemas que sean progresivamente más complicados. Si al final de este módulo no eres un experto en Pandas pero eres capaz de indagar y adoptar cualquier otra librería de Python que requieran tus programas, habremos logrado nuestro objetivo. Ten en cuenta que el tiempo estimado para la realización de todas las actividades de este módulo es de cerca de 20 horas, tiempo que puedes invertir de acuerdo con tus posibilidades. Nuestra recomendación es que desarrolles todas las actividades en el orden propuesto y que consideres hacerlo en un tiempo de dos semanas.
Taught by
Andrés Felipe Melani De La Hoz, Marcela Hernández Hoyos, Andrea Herrera Suescún and Mario Sánchez Puccini