Estoy suspendiendo informática en mi colegio. Cómo puedo hacerlo bien?

Yo también lo pasé mal en mi primera clase de informática y de programación. ¡Mi recomendación es que mantengas una actitud positiva (si te interesa de verdad) y que practiques! Practica la programación en el tiempo de vacaciones que te den. ¡Es tu oportunidad de mejorar sin el estrés de la escuela! La primera vez que haces programación puede ser realmente difícil, pero sólo tienes que acostumbrarte, eso es todo.

Para olvidar la sintaxis, utiliza un lenguaje que sea sencillo y un IDE que te ayude a recordar la sintaxis. Honestamente, yo olvido la sintaxis todo el tiempo, no es un gran problema, sólo tienes que usar ese lenguaje de programación lo suficiente hasta que sea una segunda naturaleza. Siempre que cambio de lenguaje de programación me olvido de los detalles de cada uno, pero puedes cogerlo y ser bueno en él después de algún tiempo y tienes que hacerlo lo suficiente hasta que seas bueno.

Lo siguiente es un consejo que me enseñaron en clase todo el tiempo, pero es difícil de entender realmente hasta que llegas a hacerlo tú mismo. Miro hacia atrás y pienso, ¡así que eso es lo que querían que hiciera! Lo descubrirás con la práctica pero igual lo menciono para ver si te ayuda.

Asegúrate de que sabes escribir programas y algoritmos. Así es como lo hago yo. Para mí, personalmente, muy pocas veces salto directamente al código. Normalmente siempre escribo algo de pseudocódigo (en papel), casi en inglés y no te presiones demasiado para que parezca código. Primero asegúrate de que entiendes cuál es el problema y una posible solución. Así te asegurarás de que realmente entiendes lo que quieres que haga tu algoritmo/procedimiento (y por tanto tu ordenador). Después, puedes traducirlo a código informático. No siempre es trivial traducirlo a código, pero al menos tienes algo con lo que trabajar.

Para un código más grande, dibuja diagramas tontos (con cajas y cosas, casi como diagramas de lluvia de ideas) de lo que quieres que haga todo tu sistema como un todo y flechas que muestren cómo estas diferentes piezas de código deben interactuar. Las abstracciones y la modularidad son cruciales para hacer un buen código. Pero aún más importante es asegurarse de que usted entiende lo que está haciendo. Está bien iterar en tu programa. Si el primero que escribes es realmente malo, pero funciona, está bien ya que es un paso más cerca de una solución mejor. Sigue probando y mejorando.

Para avances similares a los de las matemáticas, simplemente sigue haciendo cálculos, computaciones o pruebas, dependiendo del tipo de matemáticas que necesites. Es crucial hacer los problemas por ti mismo para que realmente entiendas lo que estás haciendo. Muchas veces, cuando estoy aprendiendo algoritmos de aprendizaje automático (y demostraciones en general) con matemáticas pesadas, me ayuda a volver a entenderlos desde cero después de ver su derivación. Obviamente, ¡prueba tú mismo primero! Pero está bien mirar las soluciones y tratar de entender cómo se podría haber llegado a ellas. O una explicación intuitiva/conceptual de cuál era el truco principal en la prueba...

(para un ejemplo más específico en el aprendizaje automático, a menudo, los algoritmos de ML se derivan de algún concepto(s) clave. Por ejemplo, si quieres re-derivar PCA, es fácil si entiendes la idea principal de PCA: proyectar a una dimensionalidad más baja mientras se maximiza la varianza. Ahora que tienes el paso/premisa de partida, intenta hacerlo y mira si consigues cómo debería ser PCA. Otro ejemplo podría ser el algoritmo de boosting. Usted sabe que don't quiere un error ponderado más grande que 1/2, por lo tanto, puede utilizar esto para derivar el peso del voto [math] alpha_m = frac{1}{2}ln(frac{1 - epsilon_m}{ epsilon_m})[/math] desde el punto de partida conceptual? Muchas de estas derivaciones pueden ser "vale, pues el objetivo es X y sé que la respuesta es Y. ¿Puedo obtener Y partiendo de X..." y luego lo intentas).

También intenta buscar un tutor, ¡pueden ser de gran ayuda y ahorrar mucho tiempo! Acude a las horas de oficina. Asegúrate de que si estás atascado, encuentras la manera de desatascarte y aprender la materia. En el examen nadie puede ayudarte salvo tú mismo, así que es fundamental que entiendas por qué te atascaste una vez y cómo lo resolviste. ¿Qué aprendiste? Además, en el MIT tendemos a trabajar en grupo porque los proyectos y los conjuntos de problemas son muy difíciles. Así que ayudarnos unos a otros ayuda mucho, porque si lo hacemos, ¡todos ganamos! 🙂

También intenta identificar qué es lo que realmente te hace "fracasar" y enfréntate a ello. Resuelve el problema directamente, todo lo que yo es una solución a un problema diferente. Pero ¿cuál es el que tienes? ¿Cuáles son las que realmente te ayudarán? ¡Bueno....identifica el problema e intenta una solución!

Y además, mantén una actitud positiva y ¡no te rindas! 🙂

Además, asegúrate de ser honesto contigo mismo también, ¿realmente quieres hacer CS, matemáticas y programación? Personalmente, con el tiempo he descubierto que puedo programar, pero no lo disfruto tanto como las matemáticas, la teoría o el aprendizaje automático. Pero eso depende de cada uno 🙂

Buena suerte.