La algorítmica estudia algoritmos, sus propiedades y eficiencia. Algorítmica tiene como objetivo desarrollar métodos y técnicas para diseñar y analizar algoritmos y estructuras de datos (DE) eficientes, y desarrollar algoritmos y DA que resuelvan problemas específicos.
Después de una breve revisión de los conceptos y técnicas de algoritmos fundamentales conocidos, se exploran nuevos métodos de desarrollo de algoritmos, como métodos codiciosos, programación dinámica, flujos de red, programación lineal y aleatorización.
Los métodos de diseño y análisis de cada estudio se ilustran con ejemplos concretos, muchos de los cuales son algoritmos y ED de gran importancia práctica, como el algoritmo de Dijkstra para calcular la ruta más corta en un gráfico, un algoritmo para calcular la distancia de edición entre dos cadenas, la prueba de primalidad de Rabin, o el algoritmo de Ford-Fulkerson, para encontrar el tráfico de red óptimo.
En este curso del programa Algorithms and Data Structures MicroMasters, aprenderá técnicas algorítmicas fundamentales e ideas para problemas computacionales que surgen en aplicaciones del mundo real, como clasificación y búsqueda, divide y vencerás, algoritmos codiciosos y programación dinámica.

Plan de estudio del curso
Módulo 1: Bienvenida
Aquí proporcionaremos una descripción general de dónde se utilizan los algoritmos y las estructuras de datos (pista: en todas partes) y lo guiaremos a través de algunos desafíos de programación de muestra. Los desafíos de programación representan una parte importante (¡y a menudo la más difícil!) De esta especialización porque la única forma de comprender completamente un algoritmo es implementarlo.
Módulo 2: Introducción
- En este módulo aprenderá que los programas basados en algoritmos eficientes pueden resolver el mismo problema miles de millones de veces más rápido que los programas basados en algoritmos ingenuos.
- Aprenderá a estimar el tiempo de ejecución y la memoria de un algoritmo sin siquiera implementarlo. ¡Armado con este conocimiento, podrá comparar varios algoritmos, seleccionar los más eficientes y finalmente implementarlos como nuestros desafíos de programación!
Módulo 3: Algoritmos codiciosos
- En este módulo, aprenderá sobre una clase de algoritmos aparentemente ingenuos pero poderosos llamados algoritmos codiciosos.
- Después de que aprenda la idea clave detrás de los algoritmos codiciosos, puede sentir que representan la navaja suiza algorítmica que se puede aplicar para resolver casi todos los desafíos de programación en este curso.
- Pero tenga cuidado: con algunas excepciones que cubriremos, ¡esta idea intuitiva rara vez funciona en la práctica! Por esta razón, es importante demostrar que un algoritmo codicioso siempre produce una solución óptima antes de usar este algoritmo.
- Al final de este módulo, probaremos su intuición y gusto por los algoritmos codiciosos al ofrecer varios desafíos de programación.
Módulo 4: Divide y vencerás
- En este módulo, aprenderá acerca de una poderosa técnica algorítmica llamada Divide and Conquer. Con base en esta técnica, verá cómo buscar en grandes bases de datos millones de veces más rápido que con la búsqueda lineal ingenua.
- ¡Incluso aprenderá que la forma estándar de multiplicar números (que aprendió en la escuela primaria) está lejos de ser la más rápida!
- Luego aplicaremos la técnica de divide y vencerás para diseñar dos algoritmos eficientes (clasificación por fusión y clasificación rápida) para clasificar listas enormes, un problema que encuentra muchas aplicaciones en la práctica.
- Finalmente, mostraremos que estos dos algoritmos son óptimos, es decir, ¡ningún algoritmo puede ordenar más rápido!
Módulos 5 y 6: Programación dinámica
- En este último módulo del curso, aprenderá sobre la poderosa técnica algorítmica para resolver muchos problemas de optimización llamada Programación dinámica. Resultó que la programación dinámica puede resolver muchos problemas que evaden todos los intentos de resolverlos utilizando una estrategia codiciosa o de divide y vencerás.
- Hay innumerables aplicaciones de la programación dinámica en la práctica: desde maximizar los ingresos publicitarios de una estación de televisión, buscar páginas de Internet similares hasta encontrar genes (el problema en el que los biólogos necesitan encontrar el número mínimo de mutaciones para transformar un gen en otro).
- Aprenderá cómo la misma idea ayuda a realizar correcciones ortográficas automáticamente y a mostrar las diferencias entre dos versiones del mismo texto.
¿Cómo me registro al curso?
Antes de que te registres en un curso debes saber que para poder unirte a un curso en edX existen dos modalidades, la de pago y gratuita.
Cada una con sus ventajas y desventajas que te listamos a continuación:
¿Qué está incluido? | Curso de pago | Curso de auditoría |
Certificados verificados | sí | no |
Evaluaciones y exámenes graduados | sí | no |
Foros de discusión | sí | sí |
Videos | sí | sí |
Lecturas | sí | sí |
Evaluaciones de práctica (sin calificar) | sí | sí |
Si quieres un certificado de finalización y acceso a las evaluaciones y exámenes te recomendamos elegir la opción de paga, si por el contrario deseas o obtenerlo de manera gratuita puedes elegir la opción de auditoria (sin certificado), puedes tomar la siguiente imagen como referencia:

Si quieres acceder al curso de manera completamente gratuita puedes hacerlo dando clic al botón de abajo.
Recuerda que no existe una fecha limite o cupones de descuento, aun así, debes darte prisa.
Accede al curso usando este enlace.