Siento tu dolor.
Sin embargo, he elegido un capítulo en particular para trabajar (qué capítulo es irrelevante).
Lo primero que hago es implementar todo en el capítulo en uno o más lenguajes de programación, incluido un exhaustivo conjunto de pruebas.
- ¿Qué preguntas deben hacer los fundadores no técnicos al entrevistar a los desarrolladores de contratos?
- ¿Cuáles son algunas herramientas efectivas para la estimación de historias y la planificación de lanzamientos?
- ¿Por qué algunas personas creen que las mujeres son incapaces de manejar la informática a largo plazo, a pesar de que dos de los cuatro pioneros universalmente reconocidos son mujeres?
- ¿Cuál es la diferencia entre los informáticos y los ingenieros informáticos / de software?
- En tu opinión, ¿cuál es más fácil de usar: Torch o Theano?
Luego lo hago un ejercicio a la vez, con el entendimiento de que muchos de los ejercicios (y gran parte del texto) dependen del material cubierto en los Capítulos 2, 3 y 4, no por casualidad lo menos inmediato práctico desde mi punto de vista. Tiendo a concentrarme en 1. los ejercicios súper fáciles primero para asegurarme de tener el concepto general, luego 2. trabajar a través de ejercicios que requieren implementación (o donde la implementación ayudaría), luego 3. los ejercicios matemáticos directos porque las matemáticas son divertidas, y finalmente 4. los ejercicios que requieren “mostrar” o “discutir” o probar esta o aquella propiedad.
Cuando llego a una parte del texto o un ejercicio que no entiendo (“mostrar” o “discutir” o probar), trabajo hacia atrás en las secciones relevantes de los capítulos anteriores. Por ahora, no me preocupa expresar argumentos o pruebas formalmente. En cambio, intento desenterrar los por qué y por qué, y discutirlo en inglés. Obtendré la precisión formal más tarde. He descubierto que intentar una precisión formal antes de comprender realmente mi argumento a menudo conduce a “pruebas” sin sentido (OTOH, a veces, intentar formalizar mi argumento conduce a una mayor comprensión. YMMV).
Debido a que generalmente estoy más ocupado que un hombre de una sola pierna, llevo un registro (Trac, en realidad) de lo que estoy trabajando, lo que incluye la asignación de requisitos previos. Por ejemplo, un ejercicio actual solicita el análisis del peor de los casos, por lo que agregaré la lectura y los ejercicios apropiados de Chs. 2, 3 y 4 como requisito previo.
Recapitulando, encuentro un tema interesante para profundizar, luego agrego la amplitud necesaria a medida que avanzo. En algún momento, dominaré todo el material de requisito previo y será mucho más fácil.
Probablemente ayude que no tenga ninguna prisa en particular, y que obtenga una patada del material una vez que lo descubra. También me gusta mucho convertir los algoritmos en componentes de software diseñados.
También agregué un desafío personal: tratar de encontrar una aplicación práctica para varios ejercicios. Estuve en la academia el tiempo suficiente para saber que los problemas realmente geniales provienen del campo, y estoy seguro de que muchos de los ejercicios se destilan de esos problemas. Sería muy interesante para mí poder combinar alguna técnica exótica que aproveche algunas propiedades, como se describe en un ejercicio, para su aplicación práctica. Esto no quiere decir que no aprecie la pureza por el bien de la pureza, sí, es genial saber la diferencia.
Ok, de vuelta al análisis del peor de los casos …