CLRS (visión general amplia de algoritmos) y SICP (conceptos de compsci) son los dos textos canónicos de pregrado CS. La teoría de la computación de Sipser es el texto de introducción canónico a la informática teórica, si está interesado.
Desarrollé un sentido decente para aplicar rápidamente algoritmos de las competencias de codificación de la escuela secundaria (USACO y TopCoder son buenos). No son para todos, pero si los disfrutas, la experiencia definitivamente facilitará las pruebas de algoritmos.
Una vez que comprenda los conceptos y las abstracciones, aprender nuevas tecnologías y lenguajes debería ser trivial. De todos modos, es bueno ser muy competente en unos pocos. Probablemente verá una gran cantidad de C ++ (tal vez Java) y Python en sus clases principales de laboratorio. Entrar con una comprensión sólida de un lenguaje OOP y un lenguaje de scripts te ayudará mucho.
- ¿Debo elegir UIUC o Georgia Tech para la ingeniería informática?
- ¿Cuál es la diferencia entre los títulos de maestría y maestría en ingeniería eléctrica e informática ofrecidos por la Universidad de Ottawa?
- Estoy en el séptimo semestre de un B.Tech. programa en CS. Anteriormente era un ávido programador en C ++. Debido a varias razones, perdí completamente el interés. ¿Cómo puedo adquirir algunas habilidades para poder encontrar un trabajo pronto?
- ¿Los ingenieros informáticos juegan con las nuevas tecnologías todo el tiempo?
- Cómo doblar en ciencias de la computación e ingeniería informática
La programación funcional es otro paradigma interesante para verificar. Si comienza a aprenderlo y se enamora instantáneamente de Haskell, puede ser un experto en matemáticas en secreto.
Habrá algunos proyectos que solo tomarán al menos X horas y no hay nada que pueda hacer al respecto, no importa cuán bueno sea (a menos que haga trampa, pero cuál es el punto). Como escribir un rastreador o un núcleo. Averigua cómo trabajas mejor. Escribe código limpio. Es útil cuando tienes mucho sueño y tienes una fecha límite en noventa minutos. Al amanecer.
Siempre que descubras un tema o problema interesante, ve a aprenderlo.
para cuando realmente llegas a la universidad
Haz muchos amigos en tu especialidad. Trabajar en colaboración. Pedir ayuda. Ayudar a otras personas. Explicar las cosas a los demás te obliga a entenderlas mejor.
algunas ideas para convertirse en un mejor codificador en general
Use StackOverflow.
Construye tu propio sitio web. Ahora hazlo más dinámico. Ahora agregue una tonelada de complementos jQuery y comience a compilar Sass y Haml. Ahora ejecútelo desde su propio servidor web. Ahora cree algo utilizando conjuntos de datos disponibles públicamente. ¡Sigue adelante! (excelentes recursos que son gratuitos hasta un límite razonable: Amazon EC2, github, Heroku).
Afronta un miniproyecto que mejore directamente tu propia vida. Automatiza todo lo que puedas. Conviértase en un motor de búsqueda personal, escriba una aplicación para registrar su ejercicio, configure un servidor y algunos servos que le permitan alimentar a su gato de forma remota, se le ocurre la idea.
Construye robots.
No tengas miedo a los circuitos.