Archivi tag: capire

Carnevale della matematica: lettera ai miei studenti demotivati


Bignami del percorso di vita di un informatico/elettronico/cuoco e molte altre cose che mi divertono.

L’argomento del 45° Carnevale della matematica: “Teoria della computazione, storia del pc e dintorni”, ha creato in me un flashback che mi ha ricordato il modo con cui io ho vissuto l’evoluzione dell’informatica. Ricordo il ragazzino che guardava attraverso le vetrine delle nascenti software house, allora piccoli negozietti dove oltre alla vendita dei primi computer e software ci si ritrovava per sperimentare “vero smanettamento” saldatore stagno e programmazione. Ricordo gli occhi sbarrati su uno Sinclair ZX81 che poi mi fu regalato per la comunione e ancora uno dei miei primi programmi su di esso realizzati, un Arkanoid. Ricordo la meraviglia di programmare in basic su un Apple II o ancora l’emozione di usare un’interfaccia grafica e un mouse su un Macintosh 128… quanto tempo è trascorso da allora
… e quanto vidi la prima pagina web

basta altrimenti divento mieloso…

tutto ciò per dire che la meraviglia e la scoperta ha guidato la mia crescita, anche informatica. Allora si aveva, almeno io, la percezione di vivere un momento importante per la storia della tecnologia informatica, studiare all’università sugli RFC scritti pochi anni prima, in alcuni casi mesi prima, documenti su cui venivano riportate nuove ricerche e innovazioni in campo informatico che poi, vagliate da altri enti, potevano diventare degli standard ad esempio la suite dei protocolli di rete TCP/IP. Tutto ciò dava la sensazione di essere sulla cresta del sapere informatico.

E quella meraviglia e quella voglia di scoperta, dal click del primo mouse allora, alla programmazione su un iPhone oggi, mi ha sempre costretto (piacevolmente) a pormi domande e sperimentare, questo è stata la salvezza per il mio cervello che mi ha permesso negli anni di fare lavori che mi soddisfavano anche economicamente.
Oggi sono anche insegnante ed ho la presunzione di dire (mi viene dall’età… perdonate) che tutto ciò che serve per raggiungere i propri obiettivi sono solo 3 cose:

1. meraviglia e voglia di scoperta
nulla di più!

non esiste nulla di complicato, tutto è scritto, tutto è codificato è necessario solo un po’ di tempo per capire ed unire i tasselli che completano il quadro, costa fatica lo so, ma se vi fa sentire esploratori, ricercatori… smanettoni vi riempirà di gioia e la fatica scomparirà.

Questo il primo insegnamento che ogni volta cerco di trasmettere ai miei allievi.

Capito questo il secondo passo è più complicato:

2. umiltà di capire di non sapere

L’arroganza è un male diffuso e va sconfitto solo con un insegnamento intelligente che si acquisisce con l’esperienza e con i consigli dei buoni maestri… ma soprattutto con tante “bastonate” psicologiche ricevute durante la vita.

3. precisione e pignoleria

E’ una fase semplice basta eseguire ed analizzare ogni passo (andare a passo uno) del proprio processo di apprendimento analizzandone ogni aspetto, solo in questo modo si può poi raggiungere la visione d’insieme, quella dell’intero progetto.

Nota:
questo tipo di attegiamento ci salva contro il potenziale arrogante il classico “so far tutto io e tu non capisci nulla” essere umano che purtroppo si riproduce velocemente.
Quando acquisite precisione ma anche pignoleria avrete la sensazione di Neo, l’eletto di Matrix, quando scopre di riuscire a dominare la matrice… sarete in grado di dominare il vostro sapere.
Ricordate che tutto ciò potrebbe crearvi qualche problema relazionale, molte persone hanno paura dei “dominatori della matrice” non amano che gli si faccia notare di essere superficiali, soprattutto perché sanno di esserlo, sanno che siete persone precise e per questo potrebbero odiarvi e crearvi problemi, ma tanto se avrete compreso i passi 1, 2, 3 gli arroganti vi “faranno un baffo” avrete già “dominato la matrice“. Per capire l’arrogante e la sua stupidità vi consiglio di leggere queste 20 pagine:

Le leggi fondamentali della stupidità umana – Carlo M. Cipolla

vi servirà, disegnerete meglio i vostri programmi di vita.

Non serve altro!

Credo chè questo tipo di approccio al sapere, molto pragmatico ed analitico possa risolvervi molti problemi, come ad esempio:

  • mancanza di voglia di studiare
  • depressione da insuccesso scolastico
  • odio nei confronti dell’incapace che non sa insegnare
  • mancanza di denaro
  • i problemi del branco, ovvero i problemi relazionali tra adolescenti in cui molto spesso non è l’intelligenza a guidare le azioni di gruppo ma “l’istinto riproduttivo”.

Ma cosa centra tutto ciò con l’informatica?
Questa è informatica!

Questi 3 passi vengono prima delle strutture IF THEN ELSE, dei WHILE o delle CLASSI, senza queste tre regolette nessun programma, anche di vita, non potrà funzionare, mettetela così sono gli include da inserire prima di ogni cosa quelli che ho chiamato i “life include”:

#include (meraviglia.h)
#include (precisionePignoleria.h)
#include (umilta.h)

tutti i .h sono definiti da un’altra parte, come giusto che sia e potrete perfezionarli e migliorarli ogni volta durante la vita, tanto sono inclusi ogni volta nel vostro nuovo progetto di vita, vedrete il programma funzionertà 🙂

E queste quattro righe di programmazione dovevano concludersi a questo punto, ma poi mi son ricordato di un paio di estensioni di sistema che a me son sempre servite…

Le New frontiers function

04. rendete Open Source il vostro modo di apprendere e lavorare

Durante la vita mi sono accorto che i 3 include che inserivo in ogni progetto molto spesso non erano sufficienti, alcune volte i processi generati creavano situazioni di deadlock, ovvero quella situazione che si viene a creare quando due o più processi si bloccano aspettando che uno esegua una certa operazioni che serve anche all’altro e viceversa.
Capita sempre, le tue scelte hanno delle dipendenze o meglio sono funzioni che si aspettano dei valori passati da altre funzioni, funzioni molto spesso non realizzate da voi e mal progettate… la vostra vita dipende dalle scelte di altri, collaborate e condividete il più possibile eviterete che i processi di vita si blocchino aspettando “valori” che mai arriveranno.
I migliori risultati li otterrete condividendo la vostra conoscenza, non abbiate paura e inevitabile che qualcuno vi ruberà delle idee, ma la vostra apertura mentale sarà in grado di costruirne altre 100 e le migliori saranno quelle che nascono dalla condivisione con altre persone.

Quindi:
#include (openSorce.h)

05. sognare non è un errore

aggiungete:
#include (dream.h)

Ricordate ogni giorno di rivedere il codice all’interno di dream.h, all’interno aggiungeteci una funzione casuale che attinge dalle vostre esperienze passate, quando eseguite il programma potreste ottenere un’esplosione frattale fatta di idee inaspettate e stupende.

Bene!
Per programmare è indispensabile incominciare bene, impostate:

#include (meraviglia.h)
#include (precisionePignoleria.h)
#include (umilta.h)
#include (openSorce.h)
#include (dream.h)

Sognate, programmate e costruite ragazzi!
E la cosa più bella.

Tai nasha no karosha (vulcaniano)
Lunga Vita e Prosperità (italiano)
🙂