Creazione contenuti digitali

Modulo 3

Le AI generative e predittive

Un sistema di intelligenza artificiale generativa viene costruito applicando l’apprendimento automatico non supervisionato o auto-supervisionato a un insieme di dati. Le capacità di un sistema di intelligenza artificiale generativa dipendono dalla modalità o dal tipo di set di dati utilizzato. L’AI predittiva prevede l’uso dell’analisi statistica e dell’apprendimento automatico (Machine Learning) per individuare modelli, anticipare i comportamenti e prevedere gli eventi in programma. Le organizzazioni utilizzano l’AI predittiva per prevedere i potenziali risultati futuri, la causalità, l’esposizione al rischio e altro ancora.

La generazione, in tal senso, può produrre: testo, codice di programmazione, immagini, molecole, musica, video, multimodale e voce.

Esempi di applicazioni:

  1. Generazione di testi: Sistemi come ChatGPT per creare risposte, racconti o articoli.
  2. Generazione di codice back e front-end per la creazione di moduli web nei linguaggi più diffusi.
  3. Immagini: Generazione di immagini realistiche o artistiche, sulla base di spunti forniti dall’utente.
  4. Musica: Creazione di melodie o brani originali.
  5. Design: Creazione di design personalizzati per prodotti, interfacce o arte.
  6. Video: Produzione di video realistici o animazioni.
Suggerendo alcune parole chiave, ChatGPT può generare un’immagine appropriata
L’accuratezza di alcune immagini può essere bassa; la creatività dell’AI potrebbe deviare dalla realtà oggettiva.
La AI genera codice in moltissimi linguaggi; nell’esempio, un form per la raccolta dati in html.

Integrare e rielaborare contenuti digitali – IoT

Lego Mindstorm unisce la passione per la costruzione coi famosi mattoncini e la progettazione elettronica dei componenti, esempio di crowdsourcing e open innovation.

1. Lego Mindstorms

  • Descrizione: Una piattaforma di robotica educativa sviluppata da LEGO. Combina mattoncini LEGO con sensori, motori e un’unità centrale programmabile.
  • Applicazioni: Ideale per insegnare programmazione e robotica a bambini e ragazzi.
  • Versioni popolari: RCX, NXT, EV3 e il più recente Robot Inventor Kit.
  • EV3: Parte della linea Lego Mindstorms, l’EV3 è un’unità programmabile avanzata.
  • Differenze: Rispetto a NXT, ha un processore più potente, un’interfaccia migliore e maggiori possibilità di espansione.
  • Applicazioni: Robot complessi e competizioni come la FIRST LEGO League.

2. Micro:bit

Micro Bit (noto anche come BBC Micro Bit, stilizzato come micro:bit) è un sistema embedded basato su architettura ARM progettato dalla BBC per l’utilizzo nella formazione informatica nel Regno Unito.
  • Descrizione: Un microcontrollore progettato per l’educazione. È semplice da usare e dotato di sensori integrati come accelerometro, magnetometro e LED.
  • Linguaggi di programmazione: Scratch, Python, JavaScript.
  • Applicazioni: Perfetto per progetti semplici e per introdurre i bambini al coding.

3. Raspberry Pi

Scheda embedded per la creazione di server, dispositivi domotici, pc e molto altro…
  • Descrizione: Un computer su scheda singola (SBC) economico, sviluppato per scopi educativi.
  • Caratteristiche: Supporta sistemi operativi Linux, ha porte GPIO per il controllo di dispositivi elettronici.
  • Applicazioni: Automazione, IoT, progetti di intelligenza artificiale, media center e molto altro.

5. Arduino

Dall’intuizione di un gruppo di ricercatori dell’omonimo paese in provincia di Ivrea, la pietra miliare della progettazione elettronica di componenti integrati.
  • Descrizione: Una piattaforma open-source per l’elettronica basata su microcontrollori programmabili creata nel 2005.
  • Componenti principali: Schede Arduino Uno, Nano, Mega, ecc.
  • Linguaggi: Programmazione C/C++.
  • Applicazioni: Prototipazione, domotica, IoT, controllo di sensori e motori.

6. ROS (Robot Operating System)

  • Descrizione: Un framework open-source per sviluppare software per robot complessi. Non è un sistema operativo, ma un insieme di strumenti, librerie e convenzioni.
  • Caratteristiche: Offre supporto per sensori avanzati, simulazioni e moduli di intelligenza artificiale.
  • Applicazioni: Utilizzato in progetti di robotica avanzata, inclusi robot industriali e autonomi.
Google permette di filtrare i risultati di ricerca sulla base della tipologia di licenza d’uso.

Il copyright e le licenze Creative Commons (CC) sono strumenti legali importanti per proteggere e regolare l’uso delle opere creative. Ecco una panoramica:

Copyright

  • Cos’è: È il diritto legale esclusivo che un autore ha sulla sua opera creativa. Protegge lavori come testi, immagini, musica, video, software, ecc.
  • Diritti dell’autore: Include il diritto di riprodurre, distribuire, eseguire pubblicamente e creare opere derivate.
  • Durata: Generalmente dura tutta la vita dell’autore più un certo numero di anni (spesso 70 anni dopo la morte).
  • Eccezioni: Uso equo (fair use) o libero utilizzo (come per scopi educativi o parodia, ma varia da paese a paese).

Licenze Creative Commons

Le licenze Creative Commons sono un’alternativa flessibile al copyright tradizionale. Consentono agli autori di mantenere il copyright, ma di concedere alcuni diritti agli utenti.

Principali tipi di licenze CC

  1. CC BY (Attribuzione)
    • Permette di usare, modificare e distribuire l’opera anche per scopi commerciali, purché si attribuisca l’autore.
  2. CC BY-SA (Attribuzione – Condividi allo stesso modo)
    • Come CC BY, ma le opere derivate devono essere distribuite con la stessa licenza.
  3. CC BY-ND (Attribuzione – Non opere derivate)
    • Permette l’uso dell’opera, anche commerciale, ma non consente modifiche.
  4. CC BY-NC (Attribuzione – Non commerciale)
    • Permette l’uso e la modifica, ma solo per scopi non commerciali.
  5. CC BY-NC-SA (Attribuzione – Non commerciale – Condividi allo stesso modo)
    • Come CC BY-NC, ma le opere derivate devono avere la stessa licenza.
  6. CC BY-NC-ND (Attribuzione – Non commerciale – Non opere derivate)
    • La più restrittiva: consente di condividere l’opera senza modificarla o usarla per fini commerciali.

Differenze principali

  • Copyright tradizionale: “Tutti i diritti riservati.” Devi chiedere il permesso per ogni utilizzo.
  • Creative Commons: “Alcuni diritti riservati.” L’autore decide quali diritti concedere agli altri.

Programmazione

Classificazione degli algoritmi

Diagramma di flusso, con istruzioni sequenziali, condizionale Boolean true or false, pulsanti di inizio e fine del flusso.
  1. In base al tipo di problema:
    • Ordinamento (Sorting): Algoritmi per organizzare i dati (es. Bubble Sort, Merge Sort, Quick Sort).
    • Ricerca (Searching): Algoritmi per trovare elementi in strutture di dati (es. Ricerca binaria, Ricerca lineare).
    • Ottimizzazione: Algoritmi che trovano la soluzione migliore tra molte possibili (es. Algoritmo di Dijkstra per i percorsi più brevi).
    • Ricognizione: Algoritmi per esplorare e identificare pattern o dati (es. Algoritmi di clustering come k-means).
  2. In base al metodo di progettazione:
    • Divide et Impera: Divide il problema in sottoproblemi più semplici (es. Merge Sort).
    • Greedy: Fa scelte locali ottimali per trovare la soluzione globale (es. Algoritmo Prim per i grafi).
    • Programmazione Dinamica: Risolve problemi complessi dividendo il problema in sottoproblemi sovrapposti (es. Algoritmo di Floyd-Warshall).
    • Backtracking: Cerca soluzioni esplorando tutte le possibili opzioni, tornando indietro se necessario (es. Risoluzione del Sudoku).
    • Randomizzazione: Usa la casualità per trovare soluzioni approssimative o rapide (es. QuickSort Randomizzato).

Esempi di algoritmi comuni

1. Ordinamento (Sorting)

  • Bubble Sort: Scambio ripetuto di elementi adiacenti.
  • Merge Sort: Divide la lista in sotto-liste, le ordina e le combina.
  • Quick Sort: Sceglie un elemento pivot e divide i dati in base al pivot.

2. Ricerca (Searching)

  • Ricerca Lineare: Controlla ogni elemento.
  • Ricerca Binaria: Efficiente per dati ordinati, divide a metà il range a ogni passo.

I linguaggi alla base del web

Pagina scritta con React per l’inserimento di dati su form; React è framework basato su JavaScript e ideato da Meta per lo sviluppo di pagine altamente dinamiche gestite nella virtual DOM.
Codice sorgente di un portale web come Tiscali; la struttura html generata dal server web ed eseguita dal client; a lato lo styling in CSS.