¿Qué curso MOOC debe hacer cada estudiante de Ciencias de la Computación?

Cada estudiante de Ciencias de la Computación debe tomar el MOOC de Bases de Datos de Stanford.


Es difícil pensar en un tema más central para la informática y la creación de aplicaciones que las bases de datos. Jennifer Widom en Stanford no solo reunió la base de datos MOOC más completa que existe, sino que también la modificó y la hizo completamente a su propio ritmo.

Este Stanford cubre la teoría de bases de datos relacionales, SQL, UML, XML, JSON, NoSQL e incluso temas avanzados como OLAP. Ofrece una buena combinación de videos de estilo pizarra y desafíos de tarea interactivos. Puedes jugar con muchas de estas tecnologías directamente en el navegador, ¡no es necesario instalar nada!

Obtenga más información sobre el MOOC de bases de datos de Stanford y regístrese aquí.

Los informáticos son las personas que dan forma al futuro. Ellos son los que resolverán los problemas mediante el uso de la tecnología, harán que las computadoras hagan cosas increíbles al escribir código y crear las aplicaciones y páginas web que usamos todos los días. Es un campo que se está desarrollando a un ritmo asombroso, y usted llega a él como parte de una especialización en informática.

Pero también es un mundo difícil, y las compañías están buscando informáticos con un conjunto único y versátil de habilidades. Si bien es probable que esté lleno de talento individual, hay algunas cosas que todo estudiante de ciencias de la computación debería saber antes de salir al mundo laboral. Siga leyendo para ver si necesita marcar algo de su lista. (Estas son solo sugerencias. No necesita tomar todos estos cursos, pero haber tomado uno de cada sección es una gran ventaja).

PD: He tomado solo uno o dos de los cursos de cada sección, pero estoy agregando el resto porque son muy apreciados por otros alumnos y muy recomendados.

  1. Introducción a la informática:
  • CS50 por la Universidad de Harvard
  • CS101 por la Universidad de Stanford
  • 6001x por MIT
  • CS101 por Udacity
  • Programación para todos Especialización por la Universidad de Michigan

2. Algoritmos y estructuras de datos:

  • Algoritmos I y II por la Universidad de Princeton
  • Especialización en Algoritmos por la Universidad de Stanford
  • Introducción a los algoritmos por MIT
  • Estructuras de datos por la Universidad de Harvard
  • Estructuras de datos avanzadas por MIT
  • Estructuras de datos y algoritmos por UC San Diego

3. Sistemas informáticos / Arquitectura:

  • Arquitectura informática por la Universidad de Princeton
  • Estructuras de computación por el MIT

4. Desarrollo web:

  • Desarrollo web para todos por la Universidad de Michigan
  • FreeCodeCamp

5. Compiladores de la Universidad de Stanford

6. Bases de datos de la Universidad de Stanford

7. Redes de la Universidad de Stanford

Si necesita todo esto en un curso estructurado con proyectos en los que trabajar mientras aprende, FreeCodeCamp es el mejor recurso.

Voy a emitir mi voto para el curso de aprendizaje automático de Andrew Ng en Coursera.

No, no todos los informáticos / code monkey / l33t hacker deben usar el aprendizaje automático, pero debes revisar esa cosa extraña en tu vecindario antes de llamar accidentalmente a los cazafantasmas.

Es una descripción rápida de ML que puede hacer en un día o dos (pero no hay prisa) y lo ayuda a reconocer cuándo ML es apropiado y cómo usarlo.

Algoritmos: Diseño y Análisis Parte 1 @ https://www.coursera.org/course/

Entonces estás aprendiendo a resolver programas a través de la programación. ¡Excelente! Ahora es el momento de avanzar un poco más y tomar este curso sobre Algoritmos que ofrece la Universidad de Stanford en Coursera.

Las ideas que aprenderá en ese curso demostrarán ser extremadamente valiosas sin importar qué rama de la informática elija. Te hará un mejor solucionador de problemas. No es demasiado difícil ni demasiado fácil tampoco. No tiene que tener una especialidad o interés específico para encontrar este curso agradable y útil.

Para muchas personas, este curso ha sido la clave para responder sus preguntas de entrevista técnica. El curso cubre algunos de los algoritmos básicos más útiles que podrías necesitar si realmente quieres construir algo.

El material del curso tiende a centrarse en la teoría más que en la aplicación práctica (codificación). Pero las lecciones que aprenda serán realmente útiles para todos los problemas futuros de CS que encontrará.

¡Definitivamente recomiendo este curso!

Realmente depende de muchos factores. ¿Qué desea aprender, cuál es su nivel actual, desea obtener una visión general o una comprensión profunda, etc.

Así que supongamos que es estudiante de primer año con poca o ninguna experiencia en programación, algo familiarizado con los conceptos básicos de CS y el conocimiento básico de álgebra. En ese caso, algunos de los grandes MOOC serían:

  • Si desea obtener una visión general amplia y tocar Linux, C, servidores web, bases de datos, PHP, JavaScript, HTML, CSS y quién sabe qué otra cosa, la CS50 Introducción a la informática de Harvard que se ofrece en edX es una excelente opción. Creo que esta es una opción especialmente buena para alguien interesado en la programación web y debería ser un excelente punto de partida.
  • Si desea exponerse a Python, el lenguaje que está en todas partes hoy en día en informática científica, desarrollo web, inteligencia artificial y aprendizaje automático, etc. Introducción del MIT a la informática y programación usando Python que se ofrece en edX es una gran opción. Tal vez sea un poco más difícil que CS50, pero le dará una buena base en Python en cualquier dirección en la que se dirija después de este curso. El libro recomendado Introducción a la computación y programación usando Python: con aplicación para comprender datos (MIT Press): John V. Guttag: 9780262529624: Amazon.com: Books es un buen compañero del curso y si está interesado en Data Science o ML Sugeriría el próximo curso en la secuencia Introducción al pensamiento computacional y la ciencia de datos
  • Si estás interesado en Java, sí, Java está en todas partes miles de millones de dispositivos, Android bla, bla, bla … el curso realmente bueno es uno de Sedgewick y Wayne Computer Science (Video Lectures): serie de conferencias de 20 partes. El problema aquí es que esto no es MOOC en el sentido real (leer gratis). Tienes que pagar ~ $ 30 pero vale cada centavo. El libro Informática: un enfoque interdisciplinario 1, Robert Sedgewick, Kevin Wayne, eBook – Amazon.com también es excelente, y como su nombre lo indica, es un enfoque interdisciplinario para CS que es básicamente Introducción a CS con programación Java en contexto de aplicación científica. También hay un sitio web complementario Introducción a la programación en Java que tiene muchas implementaciones de Java del libro. Personalmente, este es mi favorito entre estos tres cursos y puede ser una excelente introducción para los famosos Algoritmos de Sedgewick y Wayne, Parte I – Universidad de Princeton | Coursera y Algoritmos, Parte II – Universidad de Princeton | Cursos de Coursera.

También estoy completamente de acuerdo con Faizan Ahmad y creo que todos los estudiantes, no solo los estudiantes de CS, deberían aprender Aprendiendo a aprender: poderosas herramientas mentales para ayudarlo a dominar materias difíciles – Universidad de California, San Diego | Coursera.

Espero que esto pueda ayudar y cualquier cosa que tome no se equivocará, todos estos son excelentes cursos y excelentes profesores. De hecho, si quieres, enloquece y tómalos todos. Sí, lo hice solo por diversión (no tengo vida social) 🙂

Una vez que complete al menos uno de estos puede pensar en Desarrollo web, IA, Aprendizaje automático, Bases de datos, Redes definidas por software, Desarrollo de kernel o lo que sea de su interés.

¡Disfruta aprendiendo!

Los cursos populares suelen ser los buenos y de nivel introductorio.

Para mí: en curso: programación funcional con Scala. Programación reactiva. Algoritmos, Standford, parte 1,2. Aprendizaje automático. Especialización en computación en la nube. en edx: introducción a la programación funcional con Haskell. Introducción a la chispa.

necesitas hacer una lista, qué quieres aprender. paradigmas de programación como funcional y orientado a objetos. estructuras de datos y algoritmos. seguridad. Estos son fundamentales. material opcional: teoría de tipos, compiladores, pruebas formales de corrección, optimización, IA.

Creo que debes comenzar a estudiar algo que te atraiga y que sea realmente importante y fundamental. Por ejemplo, la seguridad es importante pero no me atrae. La teoría de tipos y la teoría de categorías me atraen pero no son tan útiles en la práctica, ya que este es un mundo de Java. Pero creo que la importancia viene en segundo lugar. Necesitas disfrutar, primero.

Me sorprende que nadie haya mencionado “Aprender a aprender”.

Aprendiendo a aprender: Potentes herramientas mentales para ayudarlo a dominar materias difíciles – Universidad de California, San Diego | Coursera

Aunque no se trata de ciencias de la computación, le brinda toneladas de consejos y herramientas para aprender de manera más efectiva y eficiente. Los instructores son increíbles y el curso en sí es muy bueno. Conocerá cómo funciona el cerebro, cómo captar temas difíciles y cómo ser bueno para hacer cosas relacionadas con la ciencia. Pruébalo y te encantará.

Recomiendo la combinación de Algoritmos I y II de Princeton en Coursera, impartida por Robert Sedgewick.
https://www.coursera.org/learn/a
https://www.coursera.org/learn/a

Juntos, hacen un curso riguroso de 13 semanas que simula muy bien el nivel de desafío de un curso universitario real.

Revisa muchas estructuras de datos y algoritmos clave: análisis de algoritmos, clasificación, árboles, tablas hash, pilas y colas, colas prioritarias en el primer curso; la parte 2 cubre la cadena de claves y los algoritmos de procesamiento de gráficos.

Grandes tareas en un buen nivel de dificultad desafiante. 10 proyectos en los dos cursos que lo ponen a prueba. Gran máquina niveladora que ofrece comentarios útiles. Pruebas semanales desafiantes que fortalecen su comprensión teórica del contenido.

Recomendaría esto como un curso que todos deberían tomar como repaso cada año o dos.

Actualmente parecen estar actualizando el curso, pero tienen una nueva sesión a partir de mediados de junio.

CS50 de Harvard
Está disponible en edx.org y cs50.net
Este es uno de los cursos básicos. Incluso si eres un graduado de CS, puedes tomarlo para tareas desafiantes.

Este curso sobre ingeniería de inicio! Gran resumen de algunas herramientas esenciales del comercio. Parece que no se ha ofrecido desde que lo estaba tomando, pero aún puede ver los videos y cuáles fueron las tareas.

https://www.coursera.org/course/

Si eres estudiante, me aseguraré de que todos los conceptos básicos sean claros y sólidos

Introducción a la informática y la programación con Python es un excelente curso introductorio.