Files
logseq/pages/Preparazione Intervento PINKAMP.md
T

17 KiB
Raw Blame History

tags:: #todoist-task, SERVICES/PINKAMP date:: 04-06-2025 - 12:24 progress:: {{renderer :todomaster}}

  • Notes

    • DONE Recuperare qualche esempio di software engineering and AI
    • DONE Sviluppare qualche esempio con VSCode e ChatGPT id:: 68584ec9-3c3f-4ea3-8e31-cb2e6f469bef
      • Mostrare qualche challenge
    • DONE Introdurre all'AI facendo qualche esempio di sistema di raccomandazione ?
      • Esempio di Netflix o di scelta di un ristorante
    • Origini reti neurali

      • 🧠 Anni '40: Origini teoriche

        • 1943: Warren McCulloch e Walter Pitts pubblicano il celebre articolo “A Logical Calculus of the Ideas Immanent in Nervous Activity”.

          👉 È il primo modello matematico di neurone artificiale, noto come neurone di McCulloch-Pitts.


      • 🔁 Anni '50: Apprendimento

        • 1958: Frank Rosenblatt introduce il perceptron, il primo modello di rete neurale con capacità di apprendimento supervisionato (algoritmo di aggiornamento dei pesi).

          👉 Viene considerato un passo fondamentale per l'addestramento automatico.


      • 🚫 Anni '60-70: Crisi e rallentamento

        • 1969: Marvin Minsky e Seymour Papert pubblicano "Perceptrons", mostrando i limiti teorici dei perceptron (es. incapacità di risolvere il problema XOR).

          👉 Questo porta a un declino di interesse per le reti neurali per circa un decennio (prima "AI Winter").


      • 🔄 Anni '80: Rinascita

        • 1986: Rumelhart, Hinton e Williams propongono la retropropagazione dellerrore (backpropagation) per laddestramento di reti neurali multilivello (MLP).

          👉 È il vero rilancio della teoria e pratica delle reti neurali profonde.


      • Anni 2000-2010: Deep Learning

        • Con laumento della potenza computazionale e dei dati, modelli deep neural networks (reti profonde) diventano praticabili.

        • 2012: AlexNet (Krizhevsky et al.) vince la competizione ImageNet, segnando linizio dellera moderna del deep learning.


      • In sintesi:

        Periodo Evento chiave Contributori principali
        1943 Neurone artificiale (teoria) McCulloch, Pitts
        1958 Perceptron Rosenblatt
        1969 Critica ai limiti del perceptron Minsky, Papert
        1986 Backpropagation Rumelhart, Hinton, Williams
        2012 Rivoluzione deep learning Krizhevsky et al. (AlexNet)

        Se ti servono riferimenti bibliografici precisi o un approfondimento su uno di questi momenti, fammi sapere!

      • You said:

        Sono coloro che hanno preso il nobel?

        McCulloch-Pitts.

      • ChatGPT said:

        No, Warren McCulloch e Walter Pitts non hanno ricevuto il Premio Nobel.


      • 🔍 Alcuni chiarimenti importanti:

        • McCulloch e Pitts sono considerati i padri fondatori del concetto di neurone artificiale, grazie al loro lavoro del 1943. Tuttavia, il loro contributo, sebbene seminale, è rimasto confinato principalmente alla teoria e alla neurocibernetica, e non è stato premiato con un Nobel.

        • Il Premio Nobel in ambito scientifico (Fisica, Chimica, Medicina) raramente viene assegnato per contributi allinformatica o allintelligenza artificiale, poiché non esiste una categoria specifica per l'informatica (a differenza, ad esempio, del Turing Award).


      • 💡 Premi più vicini allIA e alle reti neurali:

        • Geoffrey Hinton, Yann LeCun, e Yoshua Bengio hanno ricevuto nel 2018 il Turing Award (spesso chiamato "il Nobel dell'informatica") per i contributi fondamentali al deep learning e alle reti neurali profonde.


        • In sintesi:

          Persona Premio Nobel? Premio rilevante
          Warren McCulloch Nessuno specifico
          Walter Pitts Nessuno specifico
          Hinton, LeCun, Bengio ✔ Turing Award (2018)

          Se vuoi ti posso fornire una panoramica anche dei premiati in AI e machine learning.

    • TIMELINE (circa 110 min)

      • Chi sono (5min)

      • Cos'è l'Intelligenza Artificiale (15 min)

      • Introduzione ai LLMs (20 min)

      • Informatica (12 min)

      • LLM e Informatica (5 + 25 min)

        • Mini tutorial live (20-25 min)

          • Scriviamo un'app “Lista della spesa” in Python usando Copilot
            • # Crea un'applicazione CLI in Python che consenta a un utente di:
              # 1. Aggiungere elementi a una lista della spesa
              # 2. Rimuovere elementi
              # 3. Visualizzare la lista
              # 4. Uscire
              
          • Revisioni e miglioramenti
            • # Aggiungi salvataggio su file della lista
              
          • Aggiunta documentazione (Attenzione al risultato)
            • Puoi aggiungere la documentazione di tutti i metodi?
              
          • Generazione casi di testi
            • Potresti generare i test per tutti i metodi?
              
            • image.png{:height 730, :width 244}
            • CTRL+SHIFT+P
              • image.png
              • image.png
          • Generazione plantUML
            • potresti generare un plantuml file che mi rappresenti graficamente la struttura del codice?
              
            • image.png
        • Attività interattiva
          • 🟣 Attività 2 “Scrivi tu il prompt!”

            • 📍 Obiettivo:

              Far riflettere su quanto sia importante formulare bene le richieste allAI (sfida: prompt engineering).

            • 🛠️ Modalità:

            • Dai un obiettivo generico:

              “Voglio che lAI mi aiuti a fare unapp che salvi una lista di libri preferiti”

            • Chiedi a 2-3 volontarie di scrivere un prompt diverso per descrivere lo stesso obiettivo.

            • Mostra i risultati ottenuti da Copilot/ChatGPT per ciascun prompt.

            • Confronta e discuti: Quale era il più chiaro? Quale ha funzionato meglio?

          • Possiamo sempre fidarci?

            • def is_prime(n):
                  for i in range(2, n):
                      if n % i == 0:
                          return False
                  return True
              
            • funziona correttamente solo per valori di n >= 2, ma non gestisce i casi limite (n = 0 e n = 1), che non sono numeri primi.
            • #Definition: Un numero primo è un ==numero intero maggiore di 1 che ha esattamente due divisori distinti: 1 e sé stesso==. In altre parole, un numero primo non può essere diviso esattamente da nessun altro numero intero oltre a 1 e al numero stesso. Ad esempio, 2, 3, 5, 7, 11, 13 sono numeri primi. Il numero 1 non è considerato primo, perché ha un solo divisore, ovvero sé stesso.
            • Cosa succede nei casi limite?

              • 🔸 Caso n = 1

                • Il range range(2, 1) è vuoto, quindi il ciclo non viene mai eseguito.
                • Si salta direttamente a return True
                • 🔴 Errore: la funzione restituisce True, ma 1 non è un numero primo.
              • 🔸 Caso n = 0

                • Anche range(2, 0) è vuoto → stesso comportamento
                • 🔴 Errore: restituisce True, ma 0 non è un numero primo
              • Versione corretta
                • def is_prime(n):
                      if n < 2:
                          return False
                      for i in range(2, n):
                          if n % i == 0:
                              return False
                      return True
                  
                  
      • LLM e Ingegneria del Software (10 min)

      • Agentic AI (10 min)

      • Sfide, rischi e opportunità (10 min)

  • Schedule preparazione

    • DONE 16-06-2025 Primo draft completo presentazione con l'aver definito tutti gli ingredienti
    • DONE 17-06-2025 Secondo draft completo con aver recuperato tutti gli ingredienti ed inseriti nelle slide :LOGBOOK: CLOCK: [2025-06-17 Tue 16:45:19]--[2025-06-17 Tue 16:45:20] => 00:00:01 :END:
      • Forse qualcosa da prendere dalla tesi di Marco Giarrusso
    • DONE 18-06-2025 Raffinamento contenuti e grafica delle slides id:: 68584ec9-a2a1-4685-b559-141f96bb61f2
  • Struttura intervento di circa 2 ore

    • Dalle 11:15 alle 13:00
    • Orario definitivo prima settimana.pdf
      • ((684fbd0a-e948-4f25-9fd4-4ca045edad83))
    • Outline
      • 🔹 1. Apertura e orientamento (10 min)

        • Saluti iniziali e presentazione personale
        • Cosa faremo oggi e cosa faremo domani
        • Obiettivo: esplorare il mondo dellAI generativa applicata allinformatica
      • 🔹 2. Che cos’è lAI generativa? (15 min)

        Spiegazione accessibile ma non semplicistica
        • Differenza tra AI “tradizionale” e AI generativa
        • I Large Language Models (LLM): che cosa sono e come funzionano (semplificato)
          • Concetti base: token, training, probabilità, completamento

          • Esempio pratico: predizione della parola successiva


      • 🔹 3. Dove vediamo lAI generativa oggi? (10 min)

        Contestualizzazione nel quotidiano
        • Chatbot (es. ChatGPT), creazione immagini (es. DALL·E), scrittura assistita
        • Usabilità accessibile: dallindustria ai social
      • 🔹 4. LLM e Ingegneria del Software (25 min)

        Collegamento diretto allinformatica
        • Come un LLM può aiutare chi sviluppa software:
          • Scrivere codice (es. GitHub Copilot)
          • Spiegare cosa fa un programma
          • Generare test
          • Automatizzare documentazione
          • Assistere nella progettazione (es. generazione di UML)
        • Mini demo (anche video) con prompt tipo:
          • “Scrivi un programma che calcoli larea di un triangolo”

          • “Genera il diagramma delle classi per unapp ToDo”


      • 🔹 5. Sfide, rischi e opportunità (15 min)

        Pensiero critico e riflessivo
        • Bias nei modelli e responsabilità duso
        • Limportanza della supervisione umana
        • Opportunità per nuove professioni: chi crea AI, chi la guida, chi la interpreta
      • 🔹 6. Interazione finale e preview del laboratorio (20 min)

        Attivazione e coinvolgimento
        • Mini quiz/gioco (es. “Chi ha scritto questa frase: umana o AI?”)
        • Confronto su dubbi e curiosità
        • Anticipazione del laboratorio:
          • Domani proverete a scrivere prompt e far generare codice e progetti allAI
          • Lavorerete in gruppi per guidare lintelligenza artificiale, non solo usarla
    • References per preparare l'intervento

  • Approfondimento

    collapsed:: true
    • Si puo pensare di far realizzare alle studentesse un GPT specifico per il task di interesse. Realizzare un chatbot?
    • L'anno scorso le ragazze avevano fatto un GPT per gestire l'ansia
      • image.png
    • I tutor sono:
      • Isabella
      • Gennaro
      • Alina
    • Oggi 10-06-2025 abbiamo avuto una call con i tutor. Si e' deciso di investigare la strada di progettare una sessione di approfindimento che coinvolta tutte le fase principali relative all'uso di strumenti LLM etc.