Soy estudiante de informática en 1er año. Quiero aprender tanto como sea posible en informática. ¿Cuáles son todos los temas interesantes o importantes?

  • 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