Descriviamo una metodologia didattica originale, il Necessity Learning Design, in cui gli studenti cercano di risolvere un problema per il quale serve un concetto di programmazione che ancora non co- noscono, sentendone quindi la necessita`. Le fasi di spiegazione e di soluzione seguono. Descriviamo i primi risultati di una sperimentazione di questa metodologia in un istituto tecnico informatico