Vaya por delante que estoy de acuerdo, en que es muy probable que en la mayoría de sitios, el profesor marea mucho la perdiz y no va al grano, pero probablemente esto se deba a que los alumnos cada uno está a un nivel distinto y aporende a un ritmo diferente. Si fuera rápido, probablemente solo 4 ó 5 podrían seguir el ritmo, y el resto no aprendería nada. si va lento, quizás consiga que otros 20 salgan adelante, a costa de que aquellos 5 se aburran soberanamente.
Por eso creo que alguien que le interesa un tema, no debe conformarse con lo que aprende en la escuela, especialmente si considera tener capacidad para más... y debería por su cuenta avanzar lo que pueda....
porque la verdad no me hago una idea, de qué hace un programador ya formado en el día a día, dudo que sea traducir "HOLA ME LLAMO TONY" a "H0L4 M3 LL4M0 70NY", y si lo es.... Creo que me hago una idea de lo que NO quiero seguir estudiando... Porque sí, puedo haber tenido ejercicios complicados que me han costado 5 horas resovlerlos, pero no son el tipo de actividades que hace un programador en el día a día.
Si, recuerdo el tema, porque yo te respondí al tema.
El caso es que ese ejercicio, por inútil que resulte en la vida, lo que pretende es enseñarte a pensar.
De hecho la programación se puede considerar dividida en 3 partes:
- Conocer la base de los lenguajes.
- Conocer un lenguaje en específico (o dos o tres), pero al menos uno a fondo.
- Ser capaz de hallar una solución a un problema (lo más eficazmente posible, dado el límite de los conocimientos que se posea).
---------------------------------------------------------
- Lo 1º se aprende probablemente en los 1-3 primeros años... saber a que se llama una función, método, por qué se llama propiedad a algo que evidentemente es lo mismo... como es el proceso de compilación, qué tipos de datos hay y cómo se pueden considerar, etc... Generalidades, pero todas, un amplio abanico de todo, pero sin profundizar en nada y sin llegara la especificación última de cada cosa y cada caso.
- El paso 2º es detallar todo lo anterior (solo lo que sea preciso) ciñéndose a un lenguaje específico. Aunque es normal (o sería lo razonable) que estudiando no se dé excesiva prepoderancia un lenguaje sobre otro, aunque lógicamente llega un momento de 'pisar el terreno' y por tanto debe tomarse uno para empezar a jhacer ejercicio (sin dejar que eso implique que ese es lo mejor ni perfecto, no dejarse influenciar, el mejor lenguaje es aquel al que mejor te adaptas (y resulta útil, obviamente)). Aquí en referencia a lo anterior, por ejemplo hablando de tipos de datos, se ve que no se acepta cualquiera y lo hace de una forma específica.... incluso el nomnbre de ese tipo de datos se llama muy diferente al modo en que se llame en otro lenguaje.
- En lo 3º, es la parte más difícil, y sucede como en las matemáticas, se intenta que los alumnos mediante ejercicios pueriles aprendan a usar su mente para resolver problemas. Pero esto en parte es algo innato en cada persona y en parte algo que se aprende. Igual que con las matemáticas, a unos se les da mejor y a otros peor. Al final, las dos partes previas son más de memoria, pero esta es la que define si tienes posibilidades de resolver problemas que 'nunca han estado en tu memoria'. Si eres capaz de enfrentarte a retor no tratados, no memorizados,
Es la diferencia entre saber como llegar desde Madrid a París (porque has memorizado un plano de carreteras) y como llegar desde el punto X al punto Y (Madrid y París), dadas sus cordenadas y orientándose con una brújula, el sol, las estrellas, etc... no cabe tanto espacio para resolverlo con memoria, requiere
aplicar los conocimientos adquiridos.
Es normal que te aburras si tienes ganas de aprender. si quieres hacerlo más rápido estudia por tu cuenta aparte (si te sobra tiempo libre y tienes ganas, claro).
p.d.:
Una cosa que no es estudiar informática, es aprender x lenguaje al dedillo. Y espero que ninguna universidad cometiera tal error, eso son vertientes y con el tiempo hay preferencias por una vertiente y pasado el tiempo por otra.
Siendo estudios inespécificos (como las células madre), pueden materializarse luego en cualquier lenguaje... es decir la especialización en un lenguaje requiere por lo general estudios adicionales por parte del interesado.
Es también de bobos, pretender que en la escuela te enseñan todo-todo... simplemente porque es imposible...