Corso Coding

Programmazione: linguaggi per farsi largo tra le idee

Scopri il corso coding estivo dedicato ai ragazzi delle superiori (a partire dal secondo anno) per sviluppare il pensiero computazionale, e cioè la capacità di approcciare i diversi problemi (anche quotidiani) in ottica di problem solving scientifico.

Grazie all’esperienza dei professori ed esperti di Polimi nasce così un innovativo corso Python a Milano presso il Politecnico, targato TechCamp.

Perché ai giovani sono utili i corsi coding?

Ci sono linguaggi con cui vengono costruite parti sempre più grandi del nostro mondo: linguaggi con cui diamo vita alle applicazioni che girano sui nostri computer e telefonini, con cui spieghiamo alle automobili come frenare meglio (e in modo più sicuro!) di come potremo mai fare noi, con cui insegniamo agli oggetti come comunicare tra loro, con cui stiamo reinventando il concetto di denaro, con cui sono costruiti interi mondi sociali, e molto altro ancora.

Probabilmente hai sentito parlare del coding: è la capacità (e l’arte!) di parlare questi linguaggi, e al giorno d’oggi è praticamente un superpotere!

Potenziali soluzioni a problemi intricati, universi immaginari, ipotesi ardite sul significato dei dati che raccogliamo dal mondo che ci circonda, a tutte queste cose si può dare vita tramite il codice! Puoi esplorare milioni di mondi immaginari, universi con leggi della fisica alternative, ed esprimere e comunicare idee complesse.

Introduzione al linguaggio di programmazione Python

In questo corso ti presenteremo Python, un potente linguaggio di esplorazione e programmazione, che ti offrirà alcune possibilità interessanti: programmare gli oggetti che ti circondano, imitare alcuni aspetti dell’intelligenza umana, scrivere videogiochi, elaborare immagini, sintetizzare musica, tutto grazie al corso di coding e pensiero computazionale.

Ma soprattutto, svilupperai un modo potente per estendere i tuoi pensieri, e ti farai un’idea più chiara di quello che è possibile fare con i computer, , grazie all’approfondimento specifico sul tema.

Argomenti del corso:

Scommesse ardite come per esempio:

  • il paradosso del compleanno: il quale afferma che la probabilità di avere almeno due persone in un gruppo che compiano gli anni lo stesso giorno è largamente superiore a quanto potrebbe suggerire l’intuito.
  • il solitario del monaco pazzo: Si tratta di un solitario fatto con un mazzo di 40 carte e consiste in questo: si estraggono dal mazzo le carte ad una ad una e contemporaneamente si esegue la numerazione 1, 2, 3 ecc. fino a 10 e poi si ripete questa procedura per quattro volte fino ad enumerare la quarantesima carta. Si vince se nessuna delle carte estratte corrisponde al numero che via via viene pronunciato.
  • il lanciatore ubriaco di freccette
  • Risolvere sudoku
  • Generare poesie, mediante la programmazione di un sistema, in grado di imparare autonomamente, dai più grandi scrittori.

Come tutti i corsi estivi di TechCamp l’approccio è pratico, per fornire una vera esperienza in stile STEM(termine utilizzato per indicare le discipline scientifico-tecnologiche quali: scienza, tecnologia, ingegneria, matematica e i relativi diversi corsi di studio).

Il corso di coding:

Si parte dunque da una considerazione del tutto attuale: “i computer, al giorno d’oggi, sono sempre più presenti nella nostra vita, molte volte anche senza accorgercene”.

In ambito lavorativo, ma anche per la visione in streaming di molte piattaforme on line utilizziamo i nostri Pc, per comunicare, con messaggi scritti, vocali, chiamate o video-chiamate non possiamo fare a meno degli smartphone e per lo svago dei più giovani playstation,xbox e Nintendo la fanno ancora da padroni grazie alle loro continue innovazioni in termini di grafica, tecnologia e giocabilità.

Se si pensa poi ad altri strumenti più complessi come i microcontrollori che aiutano a frenare in modo ottimale, quello che consente ad un drone a quattro rotori di “galleggiare” a mezz’aria o i server che, anche dall’altra parte del mondo, contengono tutte le informazioni relative ai profili social di milioni di persone, ci si rende conto come al giorno d’oggi conoscere questi tipi di linguaggi di programmazione risulti veramente molto importante.

Il corso avrà dunque una durata complessiva di 5 giorni, che saranno completamente dedicati all’analisi, studio, approfondimento ed esplorazione di conseguenze anche “bizzarre” e più ampie, che toccheranno svariate questioni, da quelle scientifiche, culturali e persino esistenziali.

Alcuni esempi sono forniti da:

  • Il metodo Montecarlo, metodo numerico basato su procedimenti probabilistici, usato in statistica per la risoluzione di problemi di varia natura, che presentano difficoltà analitiche non altrimenti o difficilmente superabili
  • L’albero di decisione: è un modello predittivo, dove ogni nodo interno costituisce una variabile, un arco verso un nodo figlio rappresenta un possibile valore per quella proprietà e una foglia il valore predetto per la variabile obiettivo a partire dai valori delle altre proprietà, che nell’albero è rappresentato dal cammino (path) dal nodo radice (root) al nodo foglia. Di solito, un albero di decisione viene costruito utilizzando tecniche di apprendimento a partire dall’insieme dei dati iniziali (data set), il quale può essere diviso in due diversi sottoinsiemi: il training set sulla base del quale si crea la struttura dell’albero e il test set che viene utilizzato per testare l’accuratezza e precisione del modello predittivo così creato.
  • Descrizione del testo con le catene di Markov, ovvero un sistema puramente matematico dotato di un numero finito n di stati {1, 2, . . . , n} che soddisfi la seguente ipotesi: la probabilità che il sistema passi dallo stato i allo stato j al tempo k − 1 è pij(k). In altre parole, una catena di Markov è un sistema in cui la probabilità di uno stato i al tempo k è determinata univocamente dallo stato del sistema al tempo k − 1 e non dalla storia dello stesso.

Descrizione del corso:

Questo corso sul coding, sarà principalmente strutturato in due parti, una al mattino e una al pomeriggio, sotto la direzione dei professori e degli esperti messi a disposizione per l’evento da Polimi.

Le lezioni del mattino:

La prima sarà occupata quasi esclusivamente da lezioni puramente teoriche che aiuteranno e formeranno i ragazzi in merito alle dinamiche del pensiero compostazionale.
Dopo aver introdotto i principi fondamentali del sistema Python, vengono approfondite le conoscenze in materia di costruzione di grafici e rappresentazioni di dati e diverse funzioni matematiche.
Una volta apprese le basi, si passerà, grazie all’utilizzo di alberi di decisione, alla rappresentazione di molti giochi matematici, o di base logica come per esempio il famoso sudoku, in tutte le sue diverse versioni.
Grazie alle informazioni fornite, si avrà, inoltre la capacità di esplorare e “potare” gli alberi di decisione.
Lo step successivo è dunque quello relativo alla manipolazione dei testi.
I ragazzi, a questo punto, conosceranno il metodo utilizzato per lavorare il testo in Python in termini di stringhe e diverse operazioni, tra le quali quelle necessarie per rappresentare e manipolare il testo.
L’ultima lezione, vedrà l’esecuzione di una vera e propria simulazione, grazie al pensiero compostazionale, di leggi universali della fisica, compresa quella della conformazione terrestre.

I laboratori del pomeriggio:

La seconda  parte sarà dunque costituita da diversi laboratori che permetteranno ai ragazzi di applicare a 360 gradi le loro competenze in merito al pensiero compostazionale, grazie al corso sul coding.

In un primo periodo i ragazzi, dopo aver appreso le nozioni di base, avranno la possibilità di cimentarsi nella risoluzione di problemi matematici molto interessanti, come il calcolo della probabilità di vincere un solitario.
Una volta approfondite le conoscenze relative al funzionamento del sistema Python, si passerà all’analisi di problemi di natura matematica classici, come per esempio il calcolo del pigreco da una prospettiva originale.

Dopo aver studiato come rappresentare i giochi matematici, con l’utilizzo di alberi di decisione, sarà possibile dunque, implementare l’algoritmo di risoluzione anche sul nostro sistema Python.
È ora il momento di provare a costruire completamente ex- novo, un generatore automatico di poesie,come affermato in precedenza, in grado di “imparare” dai più grandi autori.
Alla fine del corso di coding, i ragazzi avranno la capacità di creare autonomamente un simulatore di fisica, dal quale avranno l’opportunità, di osservare attentamente, alcuni diversi fenomeni naturali che derivano dalle leggi create e studiate completamente da loro.