Programación en Python (Coursera)

Programación en Python (Coursera)

¡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.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

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.

What You Will Learn

  • Comprender y usar conceptos de programación como algoritmo, variable, función, parámetro, estructura de control y de datos e implementarlos en Python
  • Diseñar, crear y probar programas completos en Python para resolver problemas de la vida real
  • Manejar archivos y estructuras de datos complejas para manipular grandes volúmenes de información
  • Utilizar librerías especializadas como pandas y matplotlib para manipular conjuntos de datos y visualizarlos

Syllabus

WEEK 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.

WEEK 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.

WEEK 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.

WEEK 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.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Computers, Waves, Simulations: A Practical Introduction to Numerical Methods using Python (Coursera) Coursera
Ludwig-Maximilians-Universität München

Computers, Waves, Simulations: A Practical Introduction to Numerical Methods using Python (Coursera)

Interested in learning how to solve partial differential equations with numerical methods and how to turn them into python codes? This course provides you with a basic introduction how to apply methods like the finite-difference method, the pseudospectral method, the linear and spectral element method to the 1D (or 2D) scalar wave equation.

Oct 5th 2026
5-12 Weeks
IBM z/OS Rexx Programming (Coursera) Coursera
IBM

IBM z/OS Rexx Programming (Coursera)

This course is designed to teach you the basic skills required to write programs using the REXX language in z/OS. The course covers the TSO extensions to REXX and interaction with other environments such as the MVS console, running REXX in batch jobs, and compiling REXX. A total of 11 hands-on labs on an IBM Z server (via remote Skytap access) are part of this course.

Oct 5th 2026
5-12 Weeks
Global Warming II: Create Your Own Models in Python (Coursera) Coursera
University of Chicago

Global Warming II: Create Your Own Models in Python (Coursera)

This class provides a series of Python programming exercises intended to explore the use of numerical modeling in the Earth system and climate sciences. The scientific background for these models is presented in a companion class, Global Warming I: The Science and Modeling of Climate Change. This class assumes that you are new to Python programming (and this is indeed a great way to learn Python!), but that you will be able to pick up an elementary knowledge of Python syntax from another class or from on-line tutorials.

Oct 5th 2026
5-12 Weeks
Parallel programming (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Parallel programming (Scala 2 version) (Coursera)

With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library.

Oct 5th 2026
4 Weeks
Algorithmic Thinking (Part 1) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 1) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Oct 5th 2026
4 Weeks
Algorithmic Thinking (Part 2) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 2) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Oct 5th 2026
4 Weeks
An Introduction to Interactive Programming in Python (Part 2) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 2) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Oct 5th 2026
4 Weeks
Programming Reactive Systems (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Programming Reactive Systems (Scala 2 version) (Coursera)

Reactive programming is a set of techniques for implementing scalable, resilient and responsive systems as per the Reactive Manifesto. Such systems are based on asynchronous message-passing, and their basic building-blocks are event handlers. This course teaches how to implement reactive systems in Scala and Akka by using high-level abstractions, such as actors, asynchronous computations, and reactive streams.

Oct 5th 2026
5-12 Weeks
Functional Program Design in Scala (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Functional Program Design in Scala (Scala 2 version) (Coursera)

In this course you will learn how to apply the functional programming style in the design of larger Scala applications. You'll get to know important new functional programming concepts, from lazy evaluation to structuring your libraries using monads. We'll work on larger and more involved examples, from state space exploration to random testing to discrete circuit simulators. You’ll also learn some best practices on how to write good Scala code in the real world. Finally, you will learn how to leverage the ability of the compiler to infer values from types.

Oct 5th 2026
5-12 Weeks
Ecosystem Services: a Method for Sustainable Development (Coursera) Coursera
University of Geneva

Ecosystem Services: a Method for Sustainable Development (Coursera)

Ecosystem services are a way of thinking about – and evaluating – the goods and services provided by nature that contribute to the well-being of humans. This MOOC will cover scientific (technical), economic, and socio-political dimensions of the concept through a mix of theory, case-studies, interviews with specialists and a serious-game.

Oct 5th 2026
5-12 Weeks
Principles of Computing (Part 2) (Coursera) Coursera
Rice University

Principles of Computing (Part 2) (Coursera)

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class.

Oct 5th 2026
4 Weeks
Probability and Statistics: To p or not to p? (Coursera) Coursera
University of London

Probability and Statistics: To p or not to p? (Coursera)

We live in an uncertain and complex world, yet we continually have to make decisions in the present with uncertain future outcomes. Indeed, we should be on the look-out for "black swans" - low-probability high-impact events. To study, or not to study? To invest, or not to invest? To marry, or not to marry?

Oct 5th 2026
5-12 Weeks