Python da zero: corso introduttivo alla programmazione giocando con tweet, notizie e romanzi

Prof. Roberto Navigli

Obiettivi

Il corso introduce i fondamenti della programmazione utilizzando il linguaggio Python, linguaggio che ha visto una crescente diffusione negli ultimi anni e che semplifica notevolmente la progettazione di programmi di piccole dimensioni. Il corso non assume alcun prerequisito specifico, ma assume la capacità di installare ed eseguire programmi su un qualsiasi sistema operativo. Al termine del corso, lo studente sarà in grado di scrivere programmi in modo indipendente. Particolare enfasi sarà posta sull’elaborazione automatica di testi disponibili in formato elettronico: il corso sarà infatti reso particolarmente attraente per chi è interessato all’elaborazione automatica di testi quali tweet, notizie e romanzi.

Il corso è aperto a studenti del dottorato e della laurea magistrale in linguistica e a studenti che, di concerto con il docente e a seguito di una valutazione attitudinale, lo abbiano inserito come attività di Alternanza Scuola Lavoro.

Docente

Il prof. Roberto Navigli è professore ordinario presso il Dipartimento di Informatica dell’Università La Sapienza. E’ esperto di linguistica computazionale ed è il creatore di BabelNet, il più grande dizionario enciclopedico elettronico multilingue.

Lezioni

Orientativamente, il corso si svolgerà in 10 lezioni, che si terranno tra novembre 2017 e gennaio 2018, nei giorni dispari dalle 15.30 alle 17.30 circa (l’orario è da finalizzare con gli studenti delle scuole).

Programma del corso

  • Introduzione alla programmazione e al linguaggio Python; hello world
  • Tipi di base e operazioni: numeri
  • Tipi di base e operazioni: stringhe
  • Variabili, assegnazioni ed espressioni
  • Leggere da/scrivere su file (es. tokenizzare corpora)
  • Tipi di base: liste, tuple, dizionari (es. liste di parole, contare frequenze)
  • Costrutti if, while e for
  • Funzioni e argomenti
  • Introduzione a NLTK (Natural Language Toolkit): tokenizzazione, n-grammi, analisi grammaticale, analisi sintattica e riconoscimento di entità nominate
  • Classi
  • Ereditarietà
  • Disambiguazione
  • Ulteriori argomenti su richiesta degli studenti