¿Qué habilidades debe poseer un estudiante de informática?

Si ya conoces Java y C en el segundo semestre, es genial. Estas en ventaja. Además, no necesitas aprender muchos idiomas. Por ahora, debes enfocarte en los temas fundamentales y más importantes que estudiarás en el segundo año. Los siguientes son algunos consejos:

1. Estudie las estructuras de datos y los algoritmos tanto como pueda. Estudie de buenos libros, tome MOOCs (curso en línea masivo abierto), discuta con amigos. Con lo que te sientas cómodo. Al principio es fácil quedar atrapado, pero no se preocupe. Intenta buscar en internet. Eventualmente obtendrás la solución.

2. Ya conoces Java y C. Intenta implementar tantos conceptos como puedas que aprendas en las materias anteriores. Con la implementación, eventualmente olvidará las cosas. La implementación es imprescindible. Trate de no saltar a internet o pedir soluciones. Tómese el tiempo que pueda para encontrar una solución.

3. Estudie bien las matemáticas discretas. Le ayudará a desarrollar sus habilidades lógicas y a pensar en un problema de una manera más directa. También lo ayudará en la programación competitiva si planea hacerlo en el futuro. Te resultará aburrido, pero confía en mí, te ayudará durante toda tu carrera.

4. Estudie bien sobre sistemas operativos y bases de datos. Le ayudará en el desarrollo de aplicaciones cuando realice proyectos más adelante.

Eso es. También te animo a que aprendas C ++ por ahora y Javascript para más adelante. C ++ es un lenguaje poderoso y te facilitará la vida como programador, y Javascript es el lenguaje que evoluciona más rápidamente de la década.

Según yo, los idiomas de aprendizaje están sobrevalorados. La habilidad más esencial para la informática es aprender a resolver problemas (algoritmos o proyectos de la vida real). Así que, en primer lugar, sugeriría ir a sitios como Code Chef, Hacker Earth o Top Coder o cualquiera de esos sitios y resolver muchos problemas usted mismo (o buscando en Google un problema secundario. Nunca googlee el problema en sí). Creará una base sobre la cual puede aprender conceptos más beneficiosos de sistemas operativos, estructuras de datos, bases de datos o aprendizaje automático o cualquier otro campo.