Come migliorare nel problem solving in informatica

Va bene... ascoltate.

Quello che sto per dirvi potrebbe sembrare ridicolo o uno scherzo, ma NON lo è.

Si migliora nel problem solving risolvendo problemi.

Ora, di nuovo... questa non è una banalità. Il problem solving è un'abilità. Per TUTTE le abilità si migliora più le si usa, e non ci sono scorciatoie per questo.
Si migliora a suonare il piano suonando il piano.
Si migliora a sollevare pesi sollevando pesi.
Si migliora a correre, correndo.
E...
Si migliora a risolvere i problemi risolvendo i problemi.

Prendi un libro come Kleinberg e Tardos, e guarda TUTTI i problemi risolti in esso. Cerca di leggerlo. Non a scremarlo. Se vedete qualcosa che non sapete cosa sia, a causa, per esempio, di simboli con cui non siete a vostro agio, allora non procedete. Restate lì finché non sapete cosa diavolo avete appena letto.

Una volta che avete capito tutti questi problemi, che sono già risolti, iniziate a risolvere i problemi che non sono risolti. Non aspettare che il tuo istruttore te ne assegni qualcuno. Risolvili tutti.

Può sembrare intimidatorio, ma considera due cose:

Primo, è l'unico modo.

Secondo, più ne risolvi e più facili diventano, più facili diventano e meglio ti senti, quindi mangiamo fagioli per la vigilia... scusa... volevo dire che mentre risolvi, migliorerai, e ogni prossimo problema sarà molto meno intimidatorio di quanto pensavi inizialmente. Alla fine, sarete così a vostro agio che forse sarete tentati di saltare i rimanenti e passare al capitolo successivo.

NON FARLO. Questi problemi sono come gli antibiotici. Dovete fare l'intero corso, anche se vi sentite meglio prima di averli finiti tutti. Tutti dimostrano qualcosa di diverso, a volte qualche dettaglio o sfumatura che solo allora sarete in grado di apprezzare. Non sono lì come una sorta di missioni di grind di WoW. Sono importanti.

Ora segui questo consiglio e diventerai un abilissimo risolutore di problemi. Garantito.