Conocimientos de buen programador

Buenas, quizás suene a pregunta típica, y puede que así sea, pero me gustaría explicarme.

He revisado por encima el plan de estudios del grado de ingeniería informática. Me gustaría saber que conocimientos son necesarios para aprender a programar a fondo.

Doy por hecho que aprender Java, por ejemplo, no es suficiente, sino que hay que tener ciertos conocimientos de matemáticas, lógica, estructuras de datos, etc. Por lo tanto mi pregunta sería: para un estudiante de ciencias que desee formarse como programador, ¿qué materias/temas debería cubrir para ser un buen programador? El tema matemáticas así como lenguaje de programación a nivel básico (C y Java) ya lo toco.

Por supuesto no meto en el lote las capacidades pues hasta no estar metido en el fregado es complicado saber si "es lo mio" o no.

Gracias.
También depende de lo que tengas que programar.
No será lo mismo un programa de gestión que un nuevo software de diseño y simulación de vehículos. Para algunos no basta con ser buen programador, requerirá tener amplios conocimientos en el sector objetivo.

A niveles genéricos te dirán que: programación, algoritmia y lógica, matemáticas, física y circuitos electrónicos. Pero depende del sector en el que termines te valdrán los dos primeros, los 3 primeros+electrónica+haber trabajado con robótica, etc.

No te comas mucho la cabeza. El plan de estudios abarca todo lo genérico que deberías saber.
exitfor escribió:También depende de lo que tengas que programar.
No será lo mismo un programa de gestión que un nuevo software de diseño y simulación de vehículos. Para algunos no basta con ser buen programador, requerirá tener amplios conocimientos en el sector objetivo.

A niveles genéricos te dirán que: programación, algoritmia y lógica, matemáticas, física y circuitos electrónicos. Pero depende del sector en el que termines te valdrán los dos primeros, los 3 primeros+electrónica+haber trabajado con robótica, etc.

No te comas mucho la cabeza. El plan de estudios abarca todo lo genérico que deberías saber.


Gracias por tu respuesta exitfor. Mi objetivo sería tener la base de programación necesaria con la que plantear correctamente el diseño y hacer un código de calidad. Sería a lo que yo llamo saber programar, obviando que para realizar un proyecto sobre un tema concreto debas tener conocimientos sobre ese tema.

Sobre el tema del plan de estudios, el problema es que no estudio informática, por ello querría formarme por mi cuenta mientras estudio ciencias puras.

Saludos!
Mi consejo esque te embarques en algún proyecto y lo saques.

Por ejemplo, hacer un buscaminas en java. Así es como se aprende y se consigue soltura.
Por experiencia personal en la UOC te diré que he tocado estos 3 lenguajes por ahora: Ensamblador, C, Java.

El tema es que en una ingeniería informática no te van a enseñar a programar en un lenguaje en particular, el hecho de que tengas que desarrollar alguna aplicación en algún lenguaje específico es para que entiendas cómo se aplican las mecánicas al implementar una aplicación, o como funciona el procesador en su manera más profunda y se comunica con el resto de elementos del equipo.(ensamblador)

Lo realmente interesante en una ingeniería es que entiendas los conceptos que te permiten abordar una necesidad que se te presente, cualquiera, y que sepas organizar las ideas y funcionalidades en instrucciones claras, lógicas y eficientes; esto es lo que se conoce como algorítmica y es donde se hace más hincapié.

Además, en una ingeniería no te enseñan sólo a picar código, que para eso está el DAI, sino partir de la abstracta idea que una persona u organización tenga de su necesidad y hacer que sea realidad (o no, que también es tu trabajo).

Si tuviese que adjudicar un porcentaje diría que en el proceso de desarrollo de la aplicación, un 70% es "conceptual" y el 30% código (con todo lo que un proyecto de desarollo lleva detrás).

Así que te diré que no te preocupes que vas a salir con los conocimientos necesarios para poder desarrollar en el lenguaje que te de la gana. Tener nociones básicas de programación te irá genial para tus prácticas, todo sea dicho, cualquier ayuda es buena.

Ánimo!
Gracias chicos, me habéis ayudado a reorientar mi formación :)
5 respuestas