Imparare a programmare è molto simile ad imparare a parlare una nuova
lingua. Si può riuscire solamente se ci si esercita adeguatamente
nella pratica. Nel caso della programmazione questo significa scrivere tanti
programmi e poi provarli, cioè, compilarli, correggere gli eventuali errori,
ricompilarli, controllarne il comportamento, ecc. Ciò è estremamente
importante per acquisire la dovuta dimistichezza con i costrutti del linguaggio di
programmazione e l'ambiente di sviluppo (compilatore e IDE). Però
le difficoltà della programmazione non si esauriscono qui. Dopo aver acquisito
una buona familiarità con il linguaggio rimane ancora da acquisire
le tecniche e il modus operandi per poter usare al meglio il linguaggio
nella risoluzione di problemi più o meno complessi. Per fare ciò
è necessario assimilare una vera e propria disciplina di programmazione
che richiede concentrazione, riflessione e capacità di analisi e sintesi.
A ben vedere, l'apprendimento di questa disciplina non ha mai termine.
È sempre possibile migliorare le proprie capacità in tal senso.
La prova scritta consiste di un insieme
di esercizi. Gli homework, proposti durante il corso, sono anche un'utile
preparazione per la prova scritta.
Nella prova scritta è estremamente importante che le soluzioni
siano scritte in modo chiaramente leggibile ed esauriente. Se una soluzione
non è sufficientemente ben scritta non sarà presa
in considerazione. Scrivere il programma in modo chiaro ed ordinato è
sopratutto importante per chi lo ha scritto perché così, rileggendolo,
avrà maggiori possibilità di scoprire eventuali errori. Scoprire
certi tipi di errori non è affatto facile, se in più il programma
è mal scritto diventa quasi impossibile.
Durante la prova scritta è possibile consultare libri, appunti,
ecc, ma non è consentito l'uso di computer di qualsiasi genere.
Questa modalità di esame in cui
si chiede, sostanzialmente, di programmare senza computer può apparire
bizzarra. Invece permette di valutare la capacità di programmare
procedendo nel modo più vantaggioso: prima pensare e poi programmare.
Infatti, vi è una quasi irresistibile tentazione a fare l'opposto,
cioè, prima programmare e poi pensare. Cedere a tale tentazione è
l'errore più nefasto che un programmatore possa commettere. Perchè
innalza notevolmente la probabilità di scrivere programmi che si credono
corretti e che invece non lo sono.