Syllabus del Corso di Programmazione & NLP

Obiettivi del Corso:

  • Imparare le basi della programmazione Python.
  • Comprendere i fondamenti del Natural Language Processing.
  • Utilizzare librerie come NLTK e Spacy per il pre-processing di testi e l'analisi linguistica.
  • Applicare tecniche di NLP per l'estrazione di informazioni, analisi del sentiment, e classificazione del testo.
  • Sviluppare progetti pratici che dimostrano l'applicazione del NLP in scenari reali.

Durata del Corso: 30 ore, suddivise in 20 lezioni da 1 ora e 30 minuti ciascuna.

________________________

Lezione 1: Introduzione a Python e all'NLP

  • Panoramica del corso.
  • Installazione di Python e configurazione dell'ambiente di sviluppo.
  • Sintassi di base di Python: variabili, tipi di dati, operazioni.

Lezione 2: Strutture Dati e Controllo del Flusso in Python

  • Liste, tuple, dizionari, set.
  • Condizioni, cicli for e while.

Lezione 3: Funzioni, Moduli e Gestione delle Eccezioni

  • Definizione di funzioni, importazione di moduli.
  • Gestione delle eccezioni.

Lezione 4: File I/O e Pre-elaborazione del Testo

  • Lettura e scrittura di file.
  • Tokenizzazione, rimozione delle stop-words, stemming, lemmatizzazione.

Lezione 5: Analisi del Testo con NLTK

  • Analisi di frequenza, tagging POS.
  • N-grams, chunking.

Lezione 6: Analisi del Testo con Spacy

  • Entity Recognition, Dependency Parsing.
  • Caratteristiche avanzate di Spacy per NLP.

Lezione 7: Vettorializzazione del Testo e Introduzione al Machine Learning

  • Bag of Words, TF-IDF.
  • Panoramica del Machine Learning.

Lezione 8: Sentiment Analysis

  • Metodi di Sentiment Analysis.
  • Costruzione e valutazione di modelli.

Lezione 9: Topic Modeling e Classificazione del Testo

  • Introduzione al Topic Modeling.
  • Classificazione del testo con modelli ML.

Lezione 10: Word Embeddings e Modelli di Linguaggio

  • Word2Vec, GloVe.
  • Introduzione a BERT e modelli trasformativi.

Lezione 11: Framework di Deep Learning per NLP

  • Introduzione a TensorFlow e PyTorch.
  • Esempi di applicazione nel NLP.

Lezione 12: Estrazione di Informazioni e Summarization

  • Tecniche di estrazione di informazioni.
  • Summarization automatico di testi.

Lezione 13: Named Entity Recognition Avanzato

  • Approfondimento su tecniche di NER.
  • Esercizi pratici con NLTK e Spacy.

Lezione 14: Analisi di Reti Sociali con NLP

  • Utilizzo di NLP per l'analisi di dati da reti sociali.
  • Case study: analisi del sentiment su Twitter.

Lezione 15: Chatbots e Assistenti Virtuali

  • Principi di creazione di chatbots.
  • NLP per l'interpretazione delle richieste utente.

Lezione 16: Question Answering Systems

  • Sviluppo di sistemi di risposta a domande.
  • Applicazioni pratiche e casi d'uso.

Lezione 17: Etica e Privacy nel NLP

  • Discussione sull'etica nell'uso di NLP.
  • Considerazioni sulla privacy e sull'anonimato dei dati.

Lezione 18: Progetti di NLP nel Mondo Reale

  • Presentazione di case study e progetti di successo.
  • Discussione su sfide e soluzioni innovative.

Lezione 19: Laboratorio e Workshop su Progetti di NLP

  • Sviluppo guidato di un progetto di NLP.
  • Supporto, Q&A, e sessioni interattive.

Lezione 20: Presentazione del Progetto Finale e Revisione

  • Presentazione dei progetti finali degli studenti.
  • Feedback collettivo e individuale, discussione dei risultati.

________________________

Metodologia Didattica:

  • Lezioni interattive con dimostrazioni pratiche.
  • Esercizi pratici per consolidare le conoscenze.
  • Utilizzo di quiz e test per la valutazione dell'apprendimento.
  • Forum di discussione per il supporto tra pari e il chiarimento dei dubbi.

Materiale Fornito:

  • Slide delle lezioni.
  • Video tutorial.
  • Guide e risorse online selezionate.

Valutazione:

  • Compiti pratici per ogni modulo.
  • Partecipazione ai forum di discussione.
  • Progetto finale per valutare il raggiungimento degli obiettivi di apprendimento.

Syllabus del Corso di Programmazione & Analisi Dati

Obiettivi del Corso:

  • Impartire una conoscenza approfondita di Python, dalle sue basi sintattiche alle strutture dati complesse, per sviluppare solide competenze di programmazione applicabili a vari ambiti.
  • Introdurre le fondamenta dell'analisi dei dati utilizzando Pandas e Numpy, consentendo ai partecipanti di manipolare, analizzare e accedere ai dati in modo efficace.
  • Esplorare tecniche avanzate di visualizzazione dei dati con Matplotlib e Seaborn, per comunicare risultati complessi attraverso grafici e diagrammi intuitivi.
  • Fornire una solida base nel machine learning con Python, attraverso l'uso di Scikit-learn per l'apprendimento supervisionato e non supervisionato, inclusi modelli di regressione e classificazione.
  • Approfondire metodi di data mining, clustering, e riduzione della dimensionalità, utilizzando Scikit-learn e Scipy, per scoprire pattern nascosti nei dati e migliorare la preparazione dei dati per il machine learning.
  • Preparare i partecipanti a gestire sfide reali nel campo dell'analisi dei dati e del machine learning, attraverso l'applicazione pratica delle competenze acquisite in progetti finali che integrano data mining, analisi dei dati e tecniche di machine learning.

Durata del Corso: 30 ore, suddivise in 20 lezioni da 1 ora e 30 minuti ciascuna.

________________________

Lezione 1: Introduzione a Python

• Panoramica del corso.
• Installazione di Python e configurazione dell’ambiente di sviluppo.
• Sintassi di base di Python: variabili, tipi di dati, operazioni.

Lezione 2: Strutture Dati in Python

• Liste, tuple, dizionari, set.
• Comprensioni di liste e dizionari.

Lezione 3: Controllo del Flusso

• Condizioni, cicli for e while.
• Istruzioni break, continue, pass.

Lezione 4: Funzioni e Moduli

• Definizione e chiamata di funzioni.
• Scopo delle variabili, parametri, valori di ritorno.
• Importazione di moduli e pacchetti.

Lezione 5: Gestione delle Eccezioni e File I/O

• Gestione delle eccezioni.
• Lettura e scrittura di file.

Lezione 6: Analisi dei Dati con Pandas e Numpy

• Installazione e configurazione di Pandas e Numpy.
• Serie e DataFrame: creazione, manipolazione, accesso ai dati.
• Operazioni matematiche e scientifiche con Numpy.

Lezione 7: Operazioni Avanzate con Pandas

• Operazioni sui DataFrame: filtraggio, ordinamento, aggregazione.
• Merge, join, concatenazione di DataFrame.

Lezione 8: Visualizzazione dei Dati

• Introduzione a Matplotlib e Seaborn.
• Creazione di grafici e visualizzazioni dei dati.

Lezione 9: Introduzione al Machine Learning con Python

• Panoramica del Machine Learning.
• Processo di apprendimento supervisionato e non supervisionato.

Lezione 10: Preprocessing dei Dati con Scikit-learn

• Gestione dei dati mancanti.
• Normalizzazione e standardizzazione dei dati.

Lezione 11: Data Mining e Esplorazione dei Dati

• Tecniche di data mining per la scoperta di pattern.
• Identificazione di outliers e pulizia dei dati.

Lezione 12: Clustering e Riduzione della Dimensionalità con Scikit-learn e Scipy

• K-Means, PCA (Principal Component Analysis).
• Uso di Scipy per metodi avanzati di clustering e analisi.

Lezione 13: Analisi Avanzata dei Dati e Visualizzazione

• Tecniche avanzate di visualizzazione dei dati.
• Esplorazione multidimensionale dei dati.

Lezione 14: Modelli di Regressione con Scikit-learn

• Regressione lineare e logistica.
• Valutazione dei modelli.

Lezione 15: Modelli di Classificazione con Scikit-learn

• K-Nearest Neighbors (KNN).
• Support Vector Machines (SVM), Decision Trees.

Lezione 16: Preparazione dei Dati per Machine Learning

• Tecniche di data preparation.
• Selezione delle caratteristiche e riduzione della dimensionalità.

Lezione 17: Sentiment Analysis e Data Mining

• Metodi di Sentiment Analysis.
• Applicazioni di data mining per l'analisi del sentiment.

Lezione 18: Topic Modeling e Classificazione del Testo

• Introduzione al Topic Modeling.
• Classificazione del testo con modelli ML.

Lezione 19: Applicazioni Pratiche di Machine Learning

• Caso studio: applicazioni reali di machine learning.
• Discussione su casi d'uso e best practices.

Lezione 20: Progetto Finale e Revisione

• Sviluppo di un progetto finale che incorpora tecniche di data mining, clustering e machine learning.
• Discussione dei progetti, feedback e revisione del corso.

________________________

Metodologia Didattica:

  • Lezioni interattive con dimostrazioni pratiche.
  • Esercizi pratici per consolidare le conoscenze.
  • Utilizzo di quiz e test per la valutazione dell'apprendimento.
  • Forum di discussione per il supporto tra pari e il chiarimento dei dubbi.

Materiale Fornito:

  • Slide delle lezioni.
  • Video tutorial.
  • Guide e risorse online selezionate.

Valutazione:

  • Compiti pratici per ogni modulo.
  • Partecipazione ai forum di discussione.
  • Progetto finale per valutare il raggiungimento degli obiettivi di apprendimento.

Syllabus del Corso di Programmazione Web

Obiettivi del Corso:

  • Fornire ai partecipanti una solida base nelle tecnologie web (HTML, CSS, JavaScript, PHP, MySQL, Laravel, Vue.js) per lo sviluppo di siti e applicazioni web.
  • Insegnare la creazione di interfacce utente responsive e applicazioni dinamiche, introducendo pratiche moderne di sviluppo software, inclusi Git e principi di sicurezza web.
  • Fornire esperienza pratica con progetti reali, migliorando le competenze in gestione dati con PHP/MySQL e sviluppo front-end/back-end con Vue.js e Laravel.
  • Promuovere soluzioni creative nel problem solving e la sicurezza nelle applicazioni web, preparando i partecipanti per il settore professionale dello sviluppo web.

Durata del Corso: 30 ore, suddivise in 20 lezioni da 1 ora e 30 minuti ciascuna.

________________________

Lezione 1: Introduzione al Web Development

• Panoramica del corso e obiettivi.
• Introduzione a HTML: storia, importanza e struttura di base.

Lezione 2: HTML Avanzato

• Form, liste, collegamenti, immagini.
• Introduzione alla semantica HTML.

Lezione 3: Introduzione a CSS

• Selezione di stili, proprietà fondamentali.
• Introduzione al Box Model.

Lezione 4: Layout CSS e Responsività

• Flexbox e Grid.
• Media queries per design responsivo.

Lezione 5: Fondamenti di JavaScript

• Sintassi, variabili, tipi di dati.
• Operatori, stringhe, numeri.

Lezione 6: Controllo del Flusso e Funzioni in JavaScript

• Condizioni, cicli.
• Funzioni e scope.

Lezione 7: DOM e Eventi in JavaScript

• Manipolazione del DOM.
• Gestione degli eventi.

Lezione 8: Introduzione a PHP

• Sintassi di base, variabili, stringhe e numeri.
• Condizioni e cicli in PHP.

Lezione 9: Array e Form in PHP

• Gestione degli array.
• Ricezione e validazione dei dati dei form.

Lezione 10: Introduzione a MySQL

• Fondamenti di database.
• Connessione tra PHP e MySQL.

Lezione 11: CRUD con PHP e MySQL

• Creazione, lettura, aggiornamento, cancellazione di dati.

Lezione 12: Introduzione a Laravel

• Installazione e configurazione di Laravel.
• Struttura di un progetto Laravel.

Lezione 13: Le Basi di Laravel

• Routing, Controller, View.
• Blade templating engine.

Lezione 14: Database e Migrazioni in Laravel

• Migrazioni, modelli, seeders.
• Eloquent ORM: basi.

Lezione 15: Autenticazione e Sicurezza in Laravel

• Autenticazione utenti.
• Protezione CSRF e XSS.

Lezione 16: Relazioni Eloquent e Validazione dei Dati

• Relazioni tra modelli.
• Validazione dei dati in Laravel.

Lezione 17: Laravel Avanzato

• Middleware, gestione delle eccezioni.
• Servizi e Dependency Injection.

Lezione 18: Introduzione a Vue.js con Laravel

• Integrare Vue.js in un progetto Laravel.
• Componenti base e comunicazione.

Lezione 19: Progetto Finale - Parte 1

• Pianificazione e inizio sviluppo del progetto finale.

Lezione 20: Progetto Finale - Parte 2 e Revisione

• Completamento e presentazione dei progetti.
• Feedback e revisione del corso.

________________________

Metodologia Didattica:

  • Lezioni interattive con dimostrazioni pratiche.
  • Esercizi pratici per consolidare le conoscenze.
  • Utilizzo di quiz e test per la valutazione dell'apprendimento.
  • Forum di discussione per il supporto tra pari e il chiarimento dei dubbi.

Materiale Fornito:

  • Slide delle lezioni.
  • Video tutorial.
  • Guide e risorse online selezionate.

Valutazione:

  • Compiti pratici per ogni modulo.
  • Partecipazione ai forum di discussione.
  • Progetto finale per valutare il raggiungimento degli obiettivi di apprendimento.