Linguaggi Dinamici - A.A. 2016/17

Linguaggi Dinamici - A.A. 2016/17

Informazioni generali

    Nome dell'insegnamento:Linguaggi Dinamici
    Docenti:Claudia Canali
    Corso di Studio:Informatica
    Tipologia:Caratterizzante
    CFU:9
    Periodo Didattico:Secondo Semestre

Programma

    Caratteristiche dei Linguaggi Dinamici
    • Caratteristiche principali di un linguaggio dinamico
    • Tipizzazione dei dati (forte, debole, statica, dinamica)
    • Architettura del linguaggio e ambiente di esecuzione
    • Ispezione e modifica del comportamento di un programma a tempo di esecuzione (metaprogramming, reflection, type introspection)
    • Gestione dinamica della memoria
    • Gestione degli errori a tempo di esecuzione
    Programmazione nel linguaggio Python
    • Costrutti di base e strutture dati avanzate
    • Caratteristiche dinamiche
    • Classi, ereditarieta` e polimorfismo
    • Organizzazione in moduli e package
    • Creazione di strutture dati complesse
    • Librerie per il calcolo scientifico
    • Unit Testing
    Web Framework Django
    • Caratteristiche principali del framework
    • Paradigma Model-View-Controller (MVC)
    • Interazione con database relazionali
    • Guida allo sviluppo di un'applicazione
    • Approfondimenti e caratteristiche avanzate
    • Testing di applicazione Web

Orario

    Orario delle lezioni

    Le lezioni per l'A.A. 2016/17 inizieranno mercoledì 1 marzo 2017.
    • Martedì 9.00 - 11.00, Lab Base Dip. Matematica
    • Mercoledì 9.00 - 11.00, Lab Base Dip. Matematica
    • Giovedì 11.00 - 13.00, Lab Base Dip. Matematica

    Orario di ricevimento

      Contattare il docente via email per fissare un ricevimento

Avvisi e News

  • Si ricorda agli studenti di compilare il questionario di valutazione della didattica su esse3
  • Per la risoluzione di problemi di installazione o upgrade di sistema dopo l'impostazione di Python 3.X come versione di Python di sistema fare riferimento alle seguenti istruzioni

Materiale didattico

Strumenti software

    Interprete Python 3

    Linux e MacOS
    Nativamente disponibile nelle distribuzioni Linux e MacOs.

    Windows
    Da installare: interprete Python 3

    Django Web framework

    Django versione 1.8 Long Term Support (LTS)
    http://www.djangoproject.com/download/

    Ambienti integrati di sviluppo (IDE)

    PyCharm (fortemente consigliato)

    Pacchetti software per sviluppo di applicazioni avanzate

    Saranno indicati durante lo svolgimento del corso.

Esami

    Modalità d'esame

    L'esame è composto dallo sviluppo di un progetto in linguaggio Python, e da una prova orale.

    Le tracce del progetto verranno presentate durante il corso. Le tracce definitive dovranno essere concordate nel dettaglio col docente prima di iniziare lo sviluppo del progetto. Il progetto può essere svolto singolarmente o in gruppi di al massimo 2 persone e dovrà essere consegnato, insieme alla relativa documentazione, al docente tassativamente entro 10 giorni prima della data dell'appello in cui si intende sostenere l'esame. Il progetto deve essere contenuto in un archivio compresso portabile (ad es. .zip, .tar.gz, .tgz, ...).

    L'esame orale verterà sul programma presentato durante l'insegnamento.

    Appelli d'esame

    Da definire