Habiendo respondido este tipo de pregunta antes, copiaría eso aquí (en realidad, esto es lo que dice Google):
Recomendaciones para aprendizajes académicos
- Curso de Introducción al CS
Tome cursos de Introducción a la informática que brinden 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: Java Script, CSS, HTML, Ruby, PHP, C, Perl, Shell, Lisp y Scheme.
Recursos en línea: w3school.com – Tutorial HTML, CodeAcademy.com, 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 del MIT para la 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 - Aprenda recursos de inteligencia artificial en línea:
Stanford University – 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 para 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 con bastante anticipación al 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.
Aquí está el enlace de Google a esta respuesta: http: //www.google.com/about/care…
- ¿Cuáles son las estadísticas sobre pasantías en Singapur?
- ¿Hay pasantías de ingeniería de software para estudiantes?
- ¿Cómo puede un estudiante graduado en ciencias obtener una pasantía no científica?
- ¿Cómo obtengo una pasantía como estudiante de primer año de ingeniería mecánica?
- ¿Es posible hacer prácticas en canales de noticias?