Resolver problemas. Muchos, muchos problemas.
No puedes aprender esta materia viendo clases o leyendo pasivamente. Hasta cierto punto, esto es cierto en todos los cursos de todas las materias, pero es especialmente cierto en el material de este curso. Sólo puedes aprender a hacer estas cosas haciéndolas. Sólo se puede aprender a resolver problemas resolviendo problemas. Sólo se puede aprender a escribir pruebas escribiendo pruebas. Sólo puedes aprender a escribir código escribiendo código.
Resuelve todos los problemas de recitación.
Resuelve todos los problemas de los conjuntos de problemas.
No mires la solución de ningún problema hasta después de haber hecho un esfuerzo de buena fe para resolver el problema por ti mismo.
Y por «resolver» no me refiero sólo a «Sí, creo que entiendo cómo hacerlo». ¡»Entender» es una trampa! Si realmente quieres aprender estas cosas, tu objetivo debe ser el dominio. Por «resolver» me refiero a escribir realmente una solución completa y detallada, exactamente como si fueras a presentársela a Tom Leighton mismo para que te califique para obtener créditos. Prepárate para pasar una o dos horas por problema, especialmente cuando empieces un tema nuevo.
Como motivación: Cómprate un tarro de cristal grande. Cada vez que veas una solución de recitación o de tarea que fue escrita por otra persona -cualquier otra persona, incluso tú hace tres meses- pon dinero en el frasco.
- Si no has pasado nada de tiempo en el problema, pon 10 dólares.
- Si has trabajado duro en el problema pero te has atascado, pon 5 dólares. («Trabajar duro» incluye releer el libro de texto/volver a ver las clases, repasar las soluciones de los problemas presentados en el libro de texto/las clases, pedir consejo general en StackExchange, etc.)
- Si entiendes cómo debería funcionar la solución, pero no has escrito nada, pon 5$. Hasta que no lo escribas, no existe.
- Si ya has escrito tu propia solución, y resulta ser completamente errónea, pon 1$.
- Si ya has escrito tu propia solución, y empieza con la idea correcta pero tiene algunos problemas en los detalles, pon 25¢.
- Si ya has escrito tu propia solución, y resulta ser correcta, quita 5$. ¡Enhorabuena! ¡Lo has conseguido! Ahora pasa al siguiente tema. (No te preocupes, no te quedarás sin dinero)
.