Solvere problemi. Molti e molti problemi.
Non puoi imparare questo materiale guardando le lezioni o leggendo passivamente. In una certa misura, questo è vero per ogni corso in ogni materia, ma è particolarmente vero per il materiale di questo corso. Si può imparare a fare queste cose solo facendole. Si può imparare a risolvere i problemi solo risolvendo i problemi. Si può imparare a scrivere prove solo scrivendo prove. Puoi imparare a scrivere codice solo scrivendo codice.
Solvi ogni problema a memoria.
Solvi ogni problema nelle serie di problemi.
Non guardare la soluzione di nessun problema fino a quando non hai fatto uno sforzo in buona fede per risolvere il problema da solo.
E con "risolvere" non intendo solo "Sì, penso di aver capito come fare". "Capire" è una trappola! Se vuoi davvero imparare queste cose, il tuo obiettivo dovrebbe essere la padronanza. Per "risolvere" intendo scrivere effettivamente una soluzione completa e dettagliata, esattamente come se doveste presentarla a Tom Leighton stesso per essere valutata per il credito. Aspettatevi di spendere un'ora o due per problema, specialmente quando state iniziando un nuovo argomento.
Come motivazione: Comprati un grande vaso di vetro. Ogni volta che guardi una recita o una soluzione di un compito a casa che è stata scritta da qualcun altro - chiunque altro, incluso te tre mesi fa - metti dei soldi nel barattolo.
- Se non hai passato del tempo sul problema, metti 10 dollari.
- Se hai lavorato duramente sul problema ma ti sei bloccato, metti 5 dollari. ("Lavorare sodo" include rileggere il libro di testo/guardare le lezioni, camminare attraverso le soluzioni dei problemi presentati nel libro di testo/lezioni, chiedere consigli generali su StackExchange, etc.)
- Se hai capito come dovrebbe funzionare la soluzione, ma non hai scritto nulla, metti $5. Finché non la scrivi, non esiste.
- Se hai già scritto la tua soluzione, e risulta essere completamente sbagliata, metti 1$.
- Se hai già scritto la tua soluzione, e parte dall'idea giusta ma ha qualche problema nei dettagli, metti 25¢.
- Se hai già scritto la tua soluzione, e risulta essere corretta, togli 5$. Congratulazioni! Ce l'hai fatta! Ora passa all'argomento successivo. (Non preoccuparti, non resterai senza soldi)
.