Linguaggi Dinamici - A.A. 2017/18

Linguaggi Dinamici - A.A. 2017/18

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
    Programmazione nel linguaggio Python
    • Approfondimenti su caratteristiche dinamiche e strutture dati avanzate
    • Classi, ereditarieta` e polimorfismo
    • Modularità
    • Librerie per il calcolo scientifico
    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. 2017/18 inizieranno martedì 27 febbraio 2018.
    • Lunedì 9.00 - 11.00, Lab Base Dip. Matematica
    • Martedì 11.00 - 13.00, Lab Base Dip. Matematica
    • Mercoledì 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 del corso su Esse3

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