Se volete mantenere in allenamento le vostre capacità di programmazione o di
problem solving, i siti
recentemente elencati su
GrokCode fanno per voi. Si tratta di pagine web che propongono
la scrittura di algoritmi e la risoluzione di problemi per chi avesse voglia di cimentarsi in questo tipo di competizioni, dalle quali spesso viene stilata una classifica.
Il primo della lista è il sito
Code Golf, il quale
propone delle sfide da risolvere utilizzando il minor numero possibile di linee di codice, tra cui celebri rompicapi come quello delle
Torri di Hanoi o problemi di conversione numerica (per esempio dai numeri romani al sistema decimale). Più impegnativo
UVa Online Judge, il quale in ogni
contest include dai 3 ai 10 problemi; essi richiedono
una certa capacità di elaborare velocemente una soluzione - data la presenza di limiti di tempo - nonché delle solide basi di algoritmica e di matematica.
Meno mirato agli "smanettoni",
Mindcipher propone
giochi di logica e sfide di intelligenza in svariati campi: i partecipanti possono votare i problemi preferiti, che sono classificati per difficoltà. Si ritorna invece a programmare con
Project Euler, i cui problemi sono risolvibili con
un mix di abilità matematica e di efficienza nell'algorithm design. I quesiti proposti risultano progressivamente più difficoltosi, e quelli più semplici sono propedeutici alla risoluzione di quelli più complicati, fornendo così un percorso graduale di apprendimento. Gli algoritmi si possono elaborare in un qualsiasi ambiente di programmazione, e quindi
allenarsi può essere utile a chi volesse prendere dimestichezza con un nuovo linguaggio.
Forse la proposta maggiormente interessante per uno sviluppatore di professione risulterà quella di
TopCoder, il quale fornisce
competizioni di circa un'ora per risolvere una serie di problemi algoritmici. Non solo: il sito mette a disposizione sfide nelle categorie sviluppo software,
bug fixing e progettazione di componenti, e assembly. Alcune aziende forniscono lavoro in outsourcing agli utenti del sito, e
sono quindi previsti premi per chi riesce a risolverli in maniera migliore.
L'ultima segnalazione, se si vuole la più originale, è il sito dell'
International Obfuscated C Code Contest: come dice il nome,
per vincere è necessario sottoporre il codice C maggiormente illeggibile. Al concorso sono poste regole precise, che comunque si è incoraggiati a superare con qualche escamotage. Viene particolarmente premiato, oltre al grado di offuscamento, la sua originalità, e viene considerato anche lo scopo per cui si è progettato il codice. A questo punto, non mi resta che augurare buona fortuna e buon divertimento ai lettori più curiosi.