Informatica Lessons

Informatica Lessons

Secondaria di 2° grado

Introduzione

Informatica lessons è un ciclo di lezioni on line che approfondisce i fondamenti dell’informatica e le sue applicazioni più attuali. Attraverso esempi pratici e attività guidate, le lezioni esplorano temi chiave come le applicazioni di machine learning, il calcolo numerico, la sicurezza informatica, la creazione di videogiochi. Il percorso, a cura di Giuliana Barberis, autrice del corso Informatica Bit a Bit di Tramontana , unisce teoria e pratica con l’obiettivo di supportare studenti/studentesse nello sviluppo di competenze digitali solide e consapevoli. Il format è riservato ai/alle docenti che hanno adottato il testo.

Lezione 1

Applicazioni di Machine Learning

In questa lezione esamineremo alcuni esempi pratici di machine learning, con un approccio progressivo che arriva a introdurre concetti anche molto complessi come la valutazione del modello, l’overfitting, l’underfitting e l’addestramento mediante backpropagation.

L’obiettivo è fornire agli educatori e agli studenti un percorso chiaro e pratico per comprendere e applicare i principi fondamentali del ML, la metodologia adottata è quella del learning by doing.
Si parte con un modello di regressione lineare con dati simulati, per poi applicare il modello di regressione a dati reali (“I soldi fanno la felicità?”). Successivamente, descriveremo l’algoritmo KNN applicato a più di un database per mostrarne le potenzialità e i limiti. Viene accennato l’algoritmo Naive Bayes applicato alla sentiment analisys e le reti neurali con l’esempio del percettrone e dei modelli MNIST e fashion MNIST per l’identificazione di pattern nelle immagini.

 

Lezione 2

Disponibile dal 18 Novembre

Calcolo numerico

In questa lezione esploreremo alcuni dei più importanti algoritmi di calcolo numerico e la loro implementazione pratica in Python. Inizieremo esaminando il binomio di Newton per comprendere le funzioni ricorsive, in particolare il calcolo del fattoriale.
Successivamente, affronteremo la ricerca degli zeri di una funzione attraverso due metodi fondamentali: il metodo di bisezione (basato sul Teorema di Bolzano) e il metodo delle tangenti (o di Newton-Raphson). La lezione prosegue con l’approssimazione di costanti matematiche come il numero di Nepero e e il π, utilizzando diverse tecniche, tra cui il metodo probabilistico Monte Carlo. Concluderemo esplorando l’approssimazione di integrali definiti tramite i metodi dei rettangoli, dei trapezi e il più preciso metodo di Cavalieri-Simpson. Ogni algoritmo sarà presentato in un’ottica di applicazione pratica, mostrando come la matematica teorica si traduca in soluzioni computazionali efficaci.

Lezione 3

Disponibile dal 24 Febbraio

Storia dell’hacking etico

Questa lezione esplora la complessa etica dell’hacking e il suo impatto sulla sicurezza informatica. Analizzeremo i principi della filosofia hacker – come la curiosità, il libero accesso alle informazioni e il decentramento – confrontandoli con le loro controparti più controverse. Discuteremo i limiti tra la scoperta di vulnerabilità a fini di miglioramento e la violazione della privacy e della sicurezza, evidenziando il concetto di “responsible
vulnerability disclosure”. Attraverso esempi pratici, come il ruolo del vulnerability assessment e del penetration testing, esamineremo come l’hacking etico sia diventato una professione regolamentata. La lezione si concluderà con un’analisi di casi emblematici.

Lezione 4

Disponibile dal 17 Marzo

Gaming con python: pygame

Questa lezione offre un’introduzione pratica alla creazione di videogiochi utilizzando la libreria Pygame in Python. Esploreremo i concetti fondamentali per lo sviluppo di giochi 2D, a partire dalla programmazione a oggetti, essenziale per gestire gli elementi grafici. Partendo da zero, impareremo a inizializzare l’ambiente di Pygame, a configurare le finestre di gioco e a definire gli oggetti (come racchette, palline e serpenti)
con le loro proprietà. Attraverso l’analisi dettagliata del codice di due classici, il Pong e lo Snake, comprenderemo le funzioni chiave di Pygame, inclusa la gestione del movimento, il rilevamento delle collisioni, l’aggiornamento dello schermo e l’interazione con l’utente tramite tastiera. L’obiettivo è fornire agli studenti una solida base per sviluppare i propri progetti di gioco, unendo teoria e pratica in modo divertente.