- Curso de Introducción al CS
Tome los cursos de Introducción a la informática que proporcionan instrucciones básicas sobre codificación.
Recursos en línea: Udacity – introducción al curso de CS, Coursera – Computer Science 101 - Código en al menos un lenguaje de programación orientado a objetos: C ++, Java o Python
Recursos en línea para principiantes: Coursera – Aprenda a programar: los fundamentos, Introducción al MIT a la programación en Java, Python Class de Google, Coursera – Introducción a Python, Python Open Source E-Book
Recursos en línea intermedios: Diseño de programas informáticos de Udacity, Coursera – Learn to Program: Crafting Quality Code, Coursera – Lenguajes de programación, Brown University – Introducción a los lenguajes de programación - Aprende otros lenguajes de programación
Notas: Agregue a su repertorio: JavaScript, CSS y HTML; Rubí; PHP; C; Perl script de shell; Lisp y Scheme.
Recursos en línea: w3school.com – Tutorial HTML, Codecademy, Udacity – Desarrollo web móvil, Udacity – Desarrollo de juegos HTML5 - Prueba tu código
Notas: aprenda a detectar errores, crear pruebas y romper su software
Recursos en línea: Udacity – Métodos de prueba de software, Udacity – Depuración de software - Desarrollar razonamiento lógico y conocimiento de matemáticas discretas.
Recursos en línea: Matemáticas MIT para informática, Coursera – Introducción a la lógica, Coursera – Optimización lineal y discreta, Coursera – Modelos gráficos probabilísticos, Coursera – Teoría de juegos - Desarrollar una sólida comprensión de los algoritmos y las estructuras de datos.
Notas: Aprenda sobre los tipos de datos fundamentales (pila, colas y bolsas), algoritmos de clasificación (clasificación rápida, combinación combinada, clasificación múltiple), estructuras de datos (árboles de búsqueda binarios, árboles rojo-negros, tablas hash) y Big O.
Recursos en línea: MIT Introducción a los algoritmos, Coursera Introducción a los algoritmos Parte 1 y Parte 2, Lista de algoritmos, Lista de estructuras de datos, Libro: El manual de diseño de algoritmos - Desarrollar un sólido conocimiento de los sistemas operativos.
Recursos en línea: UC Berkeley Computer Science 162 - Aprender diseño UX
Recursos en línea: Udacity – Diseño UX para desarrolladores móviles - Aprende Inteligencia Artificial
Recursos en línea: Universidad de Stanford – Introducción a la robótica, procesamiento del lenguaje natural, aprendizaje automático - Aprende a construir compiladores
Recursos en línea: Coursera – Compiladores - Aprende criptografía
Recursos en línea: Coursera – Criptografía, Udacity – Criptografía aplicada - Aprender programación paralela
Recursos en línea: Coursera – Programación paralela heterogénea - Trabajar en proyectos fuera del aula.
Notas: Cree y mantenga un sitio web, cree su propio servidor o cree un robot.
Recursos en línea: Lista de proyectos de Apache, Google Summer of Code, Google Developer Group - Trabaje en una pequeña parte de un sistema grande (base de código), lea y comprenda el código existente, rastree la documentación y depure cosas.
Notas: GitHub es una excelente manera de leer el código de otras personas o contribuir a un proyecto.
Recursos en línea: GitHub, Kiln - Trabaja en proyectos con otros programadores.
Notas: Esto lo ayudará a mejorar su capacidad de trabajar bien en equipo y le permitirá aprender de los demás. - Practica tus conocimientos algorítmicos y habilidades de codificación
Notas: Practique su conocimiento algorítmico mediante competencias de codificación como CodeJam o el Concurso internacional de programación colegiada de ACM.
Recursos en línea: CodeJam, ACM ICPC - Conviértete en asistente de enseñanza
Ayudar a enseñar a otros estudiantes ayudará a mejorar su conocimiento en el tema. - Prácticas en ingeniería de software.
Notas: Asegúrese de solicitar pasantías mucho antes del período en que se realizan las pasantías. En los Estados Unidos, las pasantías se realizan durante el verano, de mayo a septiembre. Las solicitudes generalmente se aceptan con varios meses de anticipación.
Fuente: Google