Briciole ... tra i numeri

Alcuni dei miei passaggi su blog di natura didattica.
Matematica, scienze, numeri e giochi di logica,
riflessioni, sfide personali e sprazzi di neuroni impazziti.


Questi articoli sono stati ospitati da due dei migliori blog
che trattano matematica e scienze in generale.


Scienze ... giocando o quasi Percorsi di apprendimento scientifico alternativi al manuale scolastico,
favorendo collaborazioni con docenti e alunni di altri contesti
Blog sulla matematica dedicato agli studenti Spazio dedicato alla matematica applicata
con articoli di didattica scientifica e metodologia generale
Visita la sezione DIDATTICA.ndo ed usufrusci delle risorse didattiche a disposizione

Elenco contenuti
Pubblicato il 28/01/2011 su Scientificando
 
L'agoritmo del serpente



L’algoritmo del serpente

 

Parliamo dell’acerrimo nemico di Snake che pur di non far mangiare le deliziose fragole

al simpatico serpentello, farlo allungare e superare il livello, affannosamente corre cercando

di anticiparlo e “soffiargli” tutto il cibo.

Quale sarà la migliore strategia?

Qual è il percorso più breve per raggiungere il cibo nel minor tempo possibile?

 

SnakeMobile for Windows Phone 7

 

Ah! Dimenticavo... Snake è il serpentello verde!  

 

 

Questo problema risolto con un apposito algoritmo ed altri come questo, convergono tutti,

insieme a varie problematiche di tipo grafico all’interno di una mia applicazione

realizzata appositamente per


The Code Project

 

 

Snake Mobile

 

Application SnakeMobile for Windows Phone 7

 

Questa applicazione è accompagnata da un articolo tecnico sullo sviluppo della stessa,

che ha riscosso un certo interesse e di cui voglio parlare più approfonditamente,

dopo un mio personale “volo pindarico”.

 

 

Avevo 3 anni quando mio padre mi regalò per il mio compleanno quelle famose calamite

che si attaccano sul frigorifero, ma invece di comprarmi le lettere, aveva deciso per i numeri,

ed alla domanda di mia madre: “ ma non era meglio cominciare con le lettere? ”,

lui, ironicamente, aveva risposto: ” sono solo 10 caratteri; costavano meno ”.

Questo piccolo aneddoto me lo ha raccontato quando un giorno di qualche anno fa gli ho chiesto:

oh pa’! Ma secondo te, perchè a me piacciono tanto i numeri e la Matematica? ”.

Come al solito, ad ogni mia domanda, lui risponde o con un’altra domanda o con una frase

che lascia lì, sospesa, nella speranza che io trovi da solo la risposta.

 

Ancora oggi, oltre a vari giochi e piccole competizioni tra noi, spesso ci troviamo a discutere

del perchè delle cose e se la domanda “non sorge spontanea”, lui, se la inventa di sana pianta.

 

Ricordo ancora quando, da piccolo, mi batteva con quel suo dito “nodoso” sulla testa

e con voce quasi minacciosa sussurrava:

questo è il muscolo che devi allenare, questa è la vera “arma segreta”

che ti permetterà di sconfiggere i nemici ”.

Oggi non “picchietta” più e la frase si è così trasformata:

qui di spazio ce n’è tanto, come hai intenzione di riempirlo? ”.

Questo per far comprendere l’aria che si respira in casa e per rendere

in qualche modo merito al mio “vecchio”.

 

Ma merito di cosa? Forse del fatto che non ho paura di chiedere perchè?

Forse perchè ancora mi stupisco e meraviglio di fronte agli eventi

ed alla spiegazione di essi?

 

Forse perchè, nel mio piccolo, con i numeri ho imparato a colloquiare.

Forse perchè dai numeri mi aspetto risposte; almeno le cerco, anche se non sempre le trovo o,

se le trovo, non sempre le comprendo.

Ma che importa? Ho ascoltato; è un primo passo.

Ho appreso, credo, che non esiste un linguaggio universale in cui la Matematica comunica.

Questa “vecchina rugosa” borbotta instancabilmente verso destinatari inconsapevoli

che devono solo limitarsi ad ascoltare, scoprire e spiegare.

 

La mia passione per i numeri e per i “tasti” da premere, mi ha spinto, in maniera del tutto naturale,

verso l’informatica, uno dei tantissimi mezzi con cui “la Signora” comunica, ed in particolar modo,

verso i linguaggi di programmazione.

 

Cos’è un “algoritmo”?

In informatica e matematica, con il termine algoritmo si intende, in genere, un metodo

per la risoluzione di problemi utilizzando un numero finito di passi.

Un algoritmo può essere riscontrato anche in semplici sequenze d’azioni quotidiane,

come ad esempio la nonna che deve prepararci un bel piatto di pasta. Queste le sequenze:

  1. Riempire la pentola d’acqua
  2. Posarla sui fornelli
  3. Accendere il fuoco
  4. Aggiungere la giusta dose di sale
  5. Attendere finchè l’acqua non raggiunge il punto di ebollizione
  6. Inserire la pasta
  7. Attendere i 10 minuti di cottura
  8. Scolare la pasta
  9. Aggiungere il condimento
  10. Servire a tavola

Un esempio più prettamente matematico di algoritmo potrebbe essere il procedimento

per il calcolo del minimo comune multiplo.

Data una certa quantità di numeri iniziali, si procederà in modo ordinato e sequenziale

nello svolgimento delle seguenti azioni:

  1. Fattorizzare i numeri
  2. Scrivere un elenco di fattori, comuni e non comuni, presi ciascuno una sola volta,
    con l’esponente maggiore con cui figurano nelle varie scomposizioni
  3. Moltiplicare tutti i fattori della lista
  4. Ecco il risultato

 

La natura ed il mondo che ci circonda sono contenitori inesauribili di algoritmi logico-matematici.

Le quattro proprietà fondamentali per un algoritmo sono:

  1. Sequenza di istruzioni finita (finitezza)
  2. La sequenza deve portare ad un risultato (effettività)
  3. Istruzioni eseguibili materialmente (realizzabilità)
  4. Istruzioni espresse in modo non ambiguo (non ambiguità)

 

Se l’idea di algoritmo aveva una certa importanza per il calcolo matematico,

l'avvento dell'informatica l'ha arricchita di una nuova rilevanza, è infatti con l'informatica

che il termine "algoritmo" ha iniziato a diffondersi.

Se per ottenere un certo risultato o risolvere un certo problema, esiste un procedimento infallibile,

che può essere descritto in modo non ambiguo fin nei dettagli, e conduce sempre

all'obiettivo desiderato in un tempo finito, allora esistono le condizioni per affidare questo compito

a un computer, semplicemente descrivendo l'algoritmo in questione in un programma

scritto in un opportuno linguaggio comprensibile alla macchina detto anche

linguaggio di programmazione”.

 

Creare algoritmi è diventato per me un piacevolissimo gioco.

Non so se sia il giusto esercizio ginnico per i miei neuroni di cui parlava il mio “vecchio”

e non so se sconfiggerò i miei nemici, diciamo che cerco solo di non farmi trovare impreparato

di fronte alle sorprese che la vita mi riserverà, o almeno, provo a riempire il “vuoto”

con più conoscenze possibili “algoritmicamente“ riscontrabili.

 

 

 

Ma torniamo a The Code Project.

 

The Code Project

 

"The Code Project è una comunità di sviluppatori software a di designer, uniti insieme per raggiungere

degli obiettivi comuni: imparare, insegnare e divertirsi programmando.

Gli sviluppatori di tutto il mondo si riuniscono insieme per condividere codici sorgente,

tutorial e conoscenze, gratuitamente, per aiutare i loro compagni programmatori.

E’ nostra speranza che The Code Project venga valutato come una preziosa risorsa

e una fonte di informazioni.”

 

Così recita il testo di autodescrizione del sito.

The Code Project, però, non è solo questo. In un posto dove gli sviluppatori di tutto il mondo

( ben oltre 7.400.000 iscritti! ) si riuniscono insieme per aiutarsi l’un l’altro, infatti, abbiamo

molto più di un semplice forum dove le persone scambiano idee: ci sono articoli tecnici molto ben fatti,

accese discussioni sulle tematiche più recenti inerenti al mondo tecnologico e aziendale,

sondaggi per valutare le idee degli sviluppatori, zone speciali nelle quali le persone in difficoltà

possono chiedere aiuto per un problema.

La condivisione per la “didattica della programmazione” è il suo punto di forza, o almeno quello

che io reputo un fine divulgativo “onorevole”. Si impara e si aiuta ad imparare.

 

Tra le miriadi di iniziative ci sono anche le competizioni.

Le competizioni sono sempre un argomento scottante, ma al tempo stesso stimolante e  intrigante.

Ogni mese ce ne sono per il migliore articolo, per i migliori consigli o le migliori discussioni;

in palio ci sono sempre circa 1500$-2000$ in premi vari.

In occasioni particolari, invece, posso essere indetti alcuni concorsi “a tema”:

in questo momento, c’è quello sulla robotica ed un altro sullo sviluppo per una piattaforma

chiamata Windows Azure; i premi anche qui, non sono da meno:

un kit per la costruzione e la programmazione di un robot per il primo,

mentre per il secondo una Xbox 360 con Kinect.

 

Mi sono iscritto come membro qualche mese fa; per uno che aspira ad imparare

i diversi linguaggi di programmazione, The Code Project è forse la comunità di sviluppatori

con filosofia “Open Source”, o meglio “Codice libero”, più importante ed attiva al mondo.

Ho iniziato come semplice fruitore di informazioni, poi, successivamente,

il desiderio di misurare il mio livello di preparazione, mi ha spinto a partecipare in maniera attiva.

Volevo che persone competenti potessero valutare i miei piccoli lavori, in modo da comprendere

se la mia passione per la programmazione poteva trasformarsi in qualcosa di più concreto per il futuro.

Si trattava di decidere cosa fare...

A novembre, leggendo una newsletter...

In occasione dell’uscita nel periodo di Natale del nuovo sistema operativo per gli smartphone chiamato

Windows Phone 7. The Code Project non poteva perdere un’occasione così golosa, quindi,

ecco il concorso che ha indetto:

 

Windows Phone 7 Competition

Dal 11 Novembre 2010 al 31 Marzo 2011

 

HTC 7 Surround

 

Ho così deciso di partecipare, anche se, in quanto minore, mio padre si è presentato

come titolare dell’account e responsabile in qualità di genitore.

 

Questa competizione consiste nello sviluppare un’applicazione per questa nuova piattaforma

e scrivere un articolo che spieghi tecnicamente la sua costituzione.

Ogni mese, poi, verrà selezionato il migliore articolo e l’autore vincerà il premio in palio.

Il processo di selezione si divide in due fasi: innanzitutto, l’intera comunità di

The Code Project vota gli articoli assegnando un voto da 1 a 5; successivamente,

una giuria deciderà insindacabilmente il migliore articolo, scegliendolo fra quelli più votati

dalla comunità. Per votare è sufficiente iscriversi gratuitamente al sito.

 

Qual è il premio? Eccolo: un fantastico HTC 7 Surround !

 

 

E veniamo finalmente al mio articolo.

A "little snake" leads us through the most important features of the Windows Phone 7

 

L’ho pubblicato il 2/01/2011

e sin da subito sembra aver avuto un ottimo riscontro.

 

( permettetemi di “sbrodolarmi” un po’ addosso )

Alcuni numeri:

IL primo giorno, l’articolo è stato letto da circa 774 persone ed ha ricevuto 16 Excellent,

già questa è un’ottima performance, ma ancora più graditi sono stati

i commenti positivi ricevuti da grossi nomi della programmazione.

Il secondo giorno il numero dei lettori è salito a 2140 con un totale di 29 Excellent.

Al momento in cui scrivo (28/01/2011 ore 19:30) questi sono i dati:

23859 lettori

99 voti

89 bookmarked

4,97 / 5  ranking

9,91  popularity

137 commenti

 

Dulcis in fundo:

L’articolo è entrato nella top 100 degli articoli più popolari del sito,

da un anno a questa parte ed attualmente occupa la 14a posizione.

 

Chiedo scusa per quest’elenco di dati che sembrerebbero privi di significato,

ma che invece per me sono molto importanti, perchè premiano la qualità del mio lavoro.

( fine “sbrodolamento” )

 

Vi invito a visitare il sito e leggere il mio articolo.



Nella prima settimana di Febbraio partiranno le votazioni

per altri due concorsi e dureranno due settimane precise:

    1.  Il miglior articolo del mese

    2.  Il miglior articolo per il linguaggio di programmazione C#


In questi due concorsi saranno gli iscritti a votare i migliori articoli che verranno esposti in Home page.

Il mio articolo dovrebbe poter partecipare e spero che riceva i voti necessari per poter vincere.


Date le dovute informazioni lascio tutto al buon cuore dei votanti.


Mi riservo di comunicare i risultati dei tre concorsi verso la fine di Febbraio.





Aggiornamento del 08/03/2011:

Come promesso, in questa pagina, si possono visualizzare i risultati ed i premi delle diverse competizioni.




Ti consiglio di seguire commenti ed eventuali discussioni
sulla pagina di Scientificando che ha ospitato l'articolo
   
Codice per incorporare l'articolo
     
Non hai trovato quello che cercavi?
Torna alla HomePage, da lì potrai accedere facilmente a tutti i contenuti del sito.
Torna all'inizio
Tutti i webmaster che volessero segnalare, non copiare,
il contenuto di questa pagina sul proprio sito, possono farlo liberamente.
E' gradito un preavviso tramite mail all'autore e l'iserimento,
nella pagina di citazione, di un link verso la pagina corrente.
© Copyright    Marco's Room
Contatti    Privacy    Valid XHTML 1.0 Transitional    CSS Valido!
Marco Cameriero Segui su LinkedInLinkedIn
Segui su Google+Google+
Data di pubblicazione: 15/10/2009    Ultimo aggiornamento: 01/12/2013
 
Porta d'ingresso per Marco's Room, la stanza Marco
  Feed RSS
Google
Web   Marco's Room
 
Effettua il login oppure registrati