Las mejores clases y programas en línea para algoritmos

Publicado:

Actualizado:

En 2019, casi 40 por ciento de los desarrolladores provienen de entornos no informáticos. Muchos aprenden programación a través de cursos en línea como los que se enumeran a continuación. Por supuesto, esa es una forma efectiva de aprender a programar, y en TUN somos orgullosos defensores de la educación en línea. Sin embargo, una desventaja de aprender a programar en línea es que puede perderse conceptos valiosos de informática que pueden usarse para resolver problemas prácticos de programación.

Los algoritmos son uno de esos temas. Aunque los programadores no necesariamente piensan en conceptos algorítmicos generales en su vida laboral cotidiana, un conocimiento básico de algoritmos es fundamental para comprender cómo funcionan las computadoras y cómo procesan la información. Comprender las abstracciones como los algoritmos también puede ayudarlo a escribir código más limpio y mejor estructurado. Y en un nivel más práctico, los algoritmos son un tema común en la codificación de entrevistas.

Aprender sobre un tema informático de alta mentalidad como los algoritmos puede ser una perspectiva intimidante. Afortunadamente, no necesitas volver a la escuela para hacerlo. Gracias a sitios web como Udemy, Courseray Pluralsight, hay miles de cursos en línea gratuitos y asequibles sobre algoritmos. Hemos preparado una lista de nuestros favoritos, para que pueda aprender en su propio tiempo, desde la comodidad de su hogar.

Cursos en línea sobre algoritmos

1. Una introducción a los algoritmos

Este es un curso introductorio que se centra en aplicaciones prácticas de algoritmos. Se basa en el concepto de que las estructuras de datos básicas se pueden utilizar en contextos cotidianos para simplificar las soluciones a problemas de programación comunes. Aprenderá a leer y analizar la complejidad de los algoritmos, por lo que puede predecir cómo funcionará un programa sin ejecutarlo. Aprenderá a utilizar estratégicamente algoritmos simples y complejos para resolver problemas y reducir el tiempo de cálculo. El final del curso también presenta algunos conceptos teóricos de alto nivel, ya que abordará las clases de complejidad P y NP y la famosa pregunta P versus NP. Impartido por Rasmus Amossen, un desarrollador de software con un doctorado en ciencias de la computación, este curso es ideal para estudiantes que están bien versados ​​en programación, pero que aún no se han aventurado en el mundo de los algoritmos.

  • Créditos universitarios: NO - Sólo certificado
  • Precio: Prueba gratuita de 10-day y luego $ 35 facturada mensualmente o $ 299 facturada anualmente para el plan personal; $ 449 facturado anualmente para el plan Premium
  • Ayudas económicas o becas: NO
  • Aprendizaje móvil: Si
  • Aprendimiento a su propio ritmo: Si
  • Plazos flexibles: Si
  • Tiempo necesario para completar: 4 horas, 4 minutos
  • Idiomas: Inglés
  • Vendedor: Pluralsight

Nota: Los precios de todos los cursos enumerados en este artículo son verdaderos en la fecha de publicación, pero están sujetos a cambios.

2. Clase maestra de algoritmos y estructuras de datos de JavaScript

Este curso de Udemy y el instructor de bootcamp, Colt Steele, es una introducción interactiva e integral a los algoritmos y la informática. Incluye más de 21 horas de lecciones en video, con desafíos y proyectos distribuidos a lo largo del curso. El curso comienza con conceptos generales como la notación Big O y la recursividad. Luego aprenderá un enfoque de cinco pasos para la resolución de problemas que utilizará a lo largo del curso y en la codificación de entrevistas. A partir de ahí, profundizará en varios tipos de algoritmos, incluidos los algoritmos de búsqueda y varios tipos de algoritmos de clasificación (clasificación rápida, combinación combinada, clasificación por radix, etc.) Luego trabajará con estructuras de datos, implementando 10 desde cero. Al final, trabajará con algunos temas avanzados como montones, gráficos y el algoritmo de ruta más corta de Dijkstra. El curso requiere un conocimiento de JavaScript básico, pero no requiere ningún conocimiento previo de algoritmos o conceptos de estructura de datos.

  • Créditos universitarios: NO - Sólo certificado de finalización
  • Precio: $ 20.99 a la venta ($ 149.99 precio regular)
  • Ayudas económicas o becas: NO
  • Aprendizaje móvil: Si
  • Aprendimiento a su propio ritmo: Si
  • Plazos flexibles: Si
  • Tiempo necesario para completar: 21 horas, 30 minutos
  • Idiomas: Inglés con subtítulos en inglés, indonesio, italiano, polaco y rumano
  • Vendedor: Udemy

3. El campo de entrenamiento de la entrevista de codificación: algoritmos + estructuras de datos

Todos los posibles desarrolladores saben que deberían temer la temida entrevista de codificación. Este curso está diseñado para enseñarle todo lo que necesita sobre algoritmos y estructuras de datos para su entrevista. El curso cubre una serie de algoritmos relativamente simples y estructuras de datos que surgen frecuentemente en la codificación de las preguntas de la entrevista. El instructor Stephen Grider no salta directamente a la solución. En su lugar, trabajará de manera constante en cada pregunta, de modo que podrá comprender cómo y por qué funciona el algoritmo, incluso si no tiene un título en informática. En otras palabras, aprenderá a pensar y actuar como un programador. Este curso está diseñado para personas que tienen muy poco o ningún conocimiento previo de algoritmos y estructuras de datos, pero que necesita saber JavaScript básico.

  • Créditos universitarios: NO - Sólo certificado de finalización
  • Precio: $ 19.99 a la venta ($ 89.99 precio regular)
  • Ayudas económicas o becas: NO
  • Aprendizaje móvil: Si
  • Aprendimiento a su propio ritmo: Si
  • Plazos flexibles: Si
  • Tiempo necesario para completar: 12 horas, 51 minutos
  • Idiomas: Inglés con subtítulos en inglés, indonesio, italiano, japonés, polaco, portugués, rumano y tailandés
  • Vendedor: Udemy

4. Algoritmos, Parte I

Este es el primero de un curso de dos partes de la Universidad de Princeton sobre algoritmos y estructuras de datos, con un enfoque en la programación y la resolución de problemas, con ejemplos y aplicaciones del mundo real. Algoritmos, Parte I cubre tipos de datos, clasificación y búsqueda. Primero, aprenderá sobre una variedad de tipos de datos que incluyen pilas, colas, bolsas, hallazgos de unión y colas prioritarias. Posteriormente, pasará a algoritmos de ordenación comunes, tales como clasificación rápida, combinación combinada, clasificación múltiple y clasificación de radix. Finalmente, cubre métodos de búsqueda como árboles de búsqueda binarios, árboles de búsqueda binarios rojo-negro y tablas hash. También aprenderá algunos análisis de algoritmos básicos y aprenderá cómo medir el tiempo de ejecución de los programas y usar modelos matemáticos para explicar su comportamiento. Por sí mismo, Algoritmos, Parte I sirve como una fuerte introducción a algoritmos y estructuras de datos. Si está interesado en sumergirse en algoritmos y estructuras de datos más complejos, considere pasar al segundo módulo Algoritmos, Parte II.

  • Créditos universitarios: NO - Sólo certificado de curso
  • Precio: GRATIS para auditar, pero hay una tarifa para ganar y comprar un certificado de curso
  • Ayuda económica o beca: Si
  • Aprendizaje móvil: Si
  • Aprendimiento a su propio ritmo: Si
  • Plazos flexibles: Si
  • Tiempo necesario para completar: Aprox. 32 horas (6 semanas, 6-10 horas por semana sugeridas)
  • Idiomas: Inglés con subtítulos en inglés, coreano y ruso
  • Vendedor: Coursera

5. Algoritmos, Parte II

El primer módulo del curso de dos partes de la Universidad de Princeton sobre algoritmos y estructuras de datos (Algoritmos, Parte I) se centra en estructuras de datos básicas y algoritmos de clasificación y búsqueda. En este segundo módulo, los algoritmos de procesamiento de gráficos y cadenas ocupan un lugar central. El curso comienza a cubrir algoritmos gráficos como la búsqueda de amplitud, búsqueda de profundidad, el algoritmo de Prim y el algoritmo de Kruskal para el problema del árbol de expansión mínima (MST) y el algoritmo de la ruta más corta primero (SPT) de Dijkstra. A continuación, aprenderá sobre algoritmos de procesamiento de cadenas como el algoritmo Knuth-Morris-Pratt (KMP), expresiones regulares, árbol de búsqueda ternario, compresión de codificación Huffman y el algoritmo de compresión de datos Lempel-Ziv-Welch (LZW). Por último, cubrirá algunos algoritmos avanzados, como el árbol B, la matriz de sufijos y el flujo máximo, que utilizan los algoritmos básicos cubiertos anteriormente. En la última sección, abordará el infame problema P versus NP y discutirá la posibilidad de un modelo universal de resolución de problemas.

  • Créditos universitarios: NO - Sólo certificado de curso
  • Precio: GRATIS para auditar, pero hay una tarifa para ganar y comprar un certificado de curso
  • Ayuda económica o beca: Si
  • Aprendizaje móvil: Si
  • Aprendimiento a su propio ritmo: Si
  • Plazos flexibles: Si
  • Tiempo necesario para completar: Aprox. 34 horas (6 semanas, 6-10 horas por semana sugeridas)
  • Idiomas: Inglés con subtítulos en inglés y coreano.
  • Vendedor: Coursera

6. Uso de estructuras de datos avanzadas en aplicaciones modernas

Este curso de algoritmos avanzados supera el alcance típico de los cursos de algoritmos en línea. Con un énfasis en la aplicación práctica, aprenderá acerca de las funciones hash y las implementaciones de tablas hash, los filtros bloom y cuckoo, las estructuras de datos de conjuntos disjuntos, los árboles de intentos y sufijos, y los índices espaciales como árboles B, árboles R y M- arboles Aprenderá todas estas estructuras de datos desde una perspectiva teórica y práctica con muchos ejemplos, por lo que al final del curso debería sentirse cómodo al aplicarlas para encontrar soluciones simples a problemas complejos. Este curso es la secuela de "Una introducción a los algoritmos, "Que cubre estructuras de datos básicas y tablas hash y estructuras de árbol, así como análisis de complejidad básicos. Si no está familiarizado con esos conceptos, puede considerar tomar el curso introductorio primero.

  • Créditos universitarios: NO - Sólo certificado
  • Precio: Prueba gratuita de 10-day y luego $ 35 facturada mensualmente o $ 299 facturada anualmente para el plan personal; $ 449 facturado anualmente para el plan Premium
  • Ayudas económicas o becas: NO
  • Aprendizaje móvil: Si
  • Aprendimiento a su propio ritmo: Si
  • Plazos flexibles: Si
  • Tiempo necesario para completar: 4 horas, 22 minutos
  • Idiomas: Inglés
  • Vendedor: Pluralsight

7. Algoritmos y Estructuras de Datos

In este curso, los estudiantes desglosan algoritmos funcionales básicos y estructuras de datos, incluidos el algoritmo de selección de selección, búsqueda lineal y búsqueda de burbujas y estructuras de datos de listas vinculadas. Aprenderá cómo funcionan estos algoritmos, cómo compararlos y cómo usarlos en escenarios de programación del mundo real para simplificar y mejorar sus programas. El curso está dirigido a programadores con experiencia en un lenguaje de programación orientado a objetos, específicamente Java.

  • Créditos universitarios: NO - Sólo certificado de finalización
  • Precio: $ 39.99 por mes para una suscripción "Learn" a la venta (precio normal de $ 44.99)
  • Ayudas económicas o becas: NO
  • Aprendizaje móvil: Si
  • Aprendimiento a su propio ritmo: Si
  • Plazos flexibles: Si
  • Tiempo necesario para completar: 20 horas
  • Idiomas: Inglés
  • Vendedor: QuickStart

8. Estructuras de datos y algoritmos: inmersión profunda con Java

Este curso desglosa todo lo que necesita saber sobre estructuras de datos y algoritmos, desde matrices y notación Big O hasta montones. Comienza con lo básico, pero desglosa cada estructura de datos y concepto a fondo, tanto desde una perspectiva teórica como práctica. No solo aprenderá cuáles son las estructuras de datos y cómo funcionan, sino también cómo implementarlas en proyectos y aplicaciones de programación. Como resultado, es un gran curso para las personas que ya conocen los conceptos básicos de las estructuras de datos y algoritmos, pero les gustaría profundizar más. Sin embargo, también es adecuado para estudiantes que recién comienzan a aprender sobre estructuras de datos. El curso no requiere experiencia previa con algoritmos o estructuras de datos, pero debe conocer un lenguaje de programación orientado a objetos, preferiblemente JavaScript. 

  • Créditos universitarios: NO - Sólo certificado de finalización
  • Precio: $ 18.99 a la venta ($ 99.99 precio regular)
  • Ayudas económicas o becas: NO
  • Aprendizaje móvil: Si
  • Aprendimiento a su propio ritmo: Si
  • Plazos flexibles: Si
  • Tiempo necesario para completar: 16 horas
  • Idiomas: Inglés con subtítulos en inglés, indonesio, italiano y tailandés.
  • Vendedor: Udemy

9. Algoritmos avanzados en Java

Una vez que haya aprendido los algoritmos y las estructuras de datos cubiertos en la mayoría de los cursos introductorios (como los algoritmos básicos de búsqueda y clasificación), es hora de pasar a algoritmos más avanzados. En este curso, aprenderá sobre algoritmos de gráficos, algoritmos de búsqueda de amplitud y profundidad, la ruta más corta de Dijkstra, arbitraje, componentes fuertemente conectados y más. Todos estos temas se discuten desde una perspectiva teórica y práctica, con ejemplos de codificación para la mayoría de los temas para que pueda ver cómo se implementan estos algoritmos en escenarios de programación. Este curso requiere una comprensión de los algoritmos básicos, así como una familiaridad con Java.

  • Créditos universitarios: NO - Sólo certificado de finalización
  • Precio: $ 18.99 a la venta ($ 199.99 precio regular)
  • Ayudas económicas o becas: NO
  • Aprendizaje móvil: Si
  • Aprendimiento a su propio ritmo: Si
  • Plazos flexibles: Si
  • Tiempo necesario para completar: 9 horas, 46 minutos
  • Idiomas: Inglés con subtítulos en inglés y español.
  • Vendedor: Udemy

10. Algoritmos: diseño y análisis, parte 1

Este curso, ofrecido por la Universidad de Stanford a través de edX, es un programa de seis semanas que cubre algoritmos desde cero. Antes de tomar el curso, debe estar familiarizado con habilidades básicas de programación en un lenguaje como Python, Java o C. El curso cubre notación "Big-oh", clasificación y búsqueda, división y conquista (método maestro, números enteros y matrices). multiplicación, par más cercano), algoritmos aleatorios (QuickSort, algoritmo de contracción para cortes mínimos), estructuras de datos (montones, árboles de búsqueda equilibrados, tablas hash, filtros de floración), primitivas de gráficos (aplicaciones de BFS y DFS, conectividad, caminos más cortos). Aprenderás practicando y dominando los fundamentos de los algoritmos a través de diversas evaluaciones.

Si está interesado en profundizar en el tema, consulte este curso complementario ofrecido por el mismo profesor de Stanford: Algoritmos: Diseño y Análisis, Parte 2.

  • Créditos universitarios: NO - Sólo certificado verificado
  • Precio: GRATIS para auditar, pero hay una tarifa de $ 189 para ganar y comprar un Certificado verificado
  • Ayudas económicas o becas: Si
  • Aprendizaje móvil: Si
  • Aprendimiento a su propio ritmo: Si
  • Plazos flexibles: Si
  • Tiempo necesario para completar: 6 semanas (se sugieren 2-4 horas por semana)
  • Idiomas: Ingles con subtitulos en ingles
  • Vendedor: Edx

Programas en línea sobre algoritmos

11. Especialización en Algoritmos

Esta especialización, ofrecido por la Universidad de Stanford a través de Coursera, es una introducción integral a los algoritmos para estudiantes con experiencia básica en programación. Consiste en cuatro cursos separados y aborda principalmente algoritmos desde una perspectiva general y una perspectiva teórica. El programa comienza cubriendo algoritmos de uso común, incluyendo dividir y conquistar, ordenar y buscar, y algoritmos aleatorios. A medida que avanza en cada curso, trabajará con algoritmos, estructuras de datos y conceptos cada vez más complejos, concluyendo con los caminos más cortos, la integridad de NP y las estrategias para tratar problemas que no se pueden resolver de manera eficiente con un algoritmo.

Los cursos 4:

Curso 1: Dividir y conquistar, ordenar y buscar, y algoritmos aleatorios

Curso 2: Búsqueda de gráficos, rutas más cortas y estructuras de datos

Curso 3: Algoritmos codiciosos, árboles de expansión mínima y programación dinámica

Curso 4: Caminos más cortos revisados, problemas NP-completos y qué hacer al respecto

  • Créditos universitarios: NO - Sólo certificado de especialización
  • Precio: GRATIS para auditar, pero hay una tarifa para ganar y comprar un Certificado de Especialización
  • Ayuda económica o beca: Si
  • Aprendizaje móvil: Si
  • Aprendimiento a su propio ritmo: Si
  • Plazos flexibles: Si
  • Tiempo necesario para completar: Aproximadamente meses 4 (se sugieren horas 8 por semana)
  • Idiomas: Ingles con subtitulos en ingles
  • Vendedor: Coursera

Programa MicroMasters en Algoritmos y Estructuras de Datos

Ofrecido por UC San Diego, el "Programa MicroMasters en Algoritmos y Estructuras de Datos"Es tan completo como cualquier programa de algoritmos disponible en línea. Se compone de ocho cursos separados, que cubren todos los tipos principales de algoritmos básicos y avanzados y estructuras de datos. Aprenderá no solo sobre la aplicación de algoritmos, sino también cómo diseñar algoritmos para resolver problemas computacionales e implementar soluciones. También incluye cursos completos dedicados a la aplicación de algoritmos para resolver problemas del mundo real. Por ejemplo, en el penúltimo curso, "Algoritmos gráficos en la secuenciación del genoma, ”Examinará cómo los algoritmos gráficos se pueden utilizar para ensamblar un genoma a partir de pequeños fragmentos de ADN. El curso concluye con un desafiante proyecto final, en el que los estudiantes tienen la tarea de construir un programa de software original y optimizado para la secuenciación del genoma.

  • Número de cursos: Cursos de posgrado de 8
  • Créditos universitarios: NO - Certificado de programa MicroMasters solamente
  • Precio: $ 1,080 a la venta ($ 1,200 precio regular)
  • Ayudas económicas o becas: Si
  • Aprendizaje móvil: Si
  • Aprendimiento a su propio ritmo: Si
  • Plazos flexibles: Si
  • Tiempo necesario para completar: 1 año (se sugieren horas de esfuerzo 288-360)
  • Idiomas: Inglés 
  • Proveedor : Edx

Para obtener más cursos en línea, consulte TUN's lista de clases curadas, o usa el buscador de clases online para encontrar los mejores cursos en línea en cualquier tema.

Prueba GRATUITA de 6 meses

Luego, disfrute de Amazon Prime a mitad de precio: ¡50 % de descuento!

TUN AI – Tu asistente educativo

SINTONIZAR IA

¡Estoy aquí para ayudarte con becas, búsqueda de universidades, clases en línea, ayuda financiera, elección de especialidades, admisiones universitarias y consejos de estudio!

La Red Universitaria