Fondamenti di Programmazione con Laboratorio

Corso di Laurea Triennale in Matematica - A.A. 2020/21    
DOCENTI Chiara Bodei
chiara.bodei-at-unipi.it

http://pages.di.unipi.it/bodei/


Jacopo Soldani
soldani-at-di.unipi.it

http://pages.di.unipi.it/soldani
ORARIO LEZIONI Martedì, ore 9 - 11, Mercoledì, ore 16 - 18, Giovedì, ore 9 - 11,Venerdì, ore 11 - 13

Le lezioni si tengono sull'apposito canale pubblico Teams
ORARIO LABORATORIO
ORARIO RICEVIMENTO (Bodei) [Durante il semestre] Giovedì, ore 11 - 13 o su appuntamento.
Dopo la fine del semestre i giorni di ricevimento saranno su appuntamento.
INFORMAZIONI CORSO Programma del corso e informazioni
LEZIONI Elenco Lezioni con relativo materiale didattico

Registro Unimap


Modalità esami
  • L'esame di Fondamenti di Programmazione con Laboratorio in preappello consta di una prova scritta e di una di programmazione.
    • La prova scritta dell'esame di Fondamenti di Programmazione, che si terrà il 12 gennaio alle 9, richiede lo svolgimento di qualche esercizio legato prevalentemente alla parte di semantica e di linguaggi.
      Per accedere alla prova è necessario aver superato il quiz del 18 dicembre.
      Si svolgerà da remoto e consta di:
      1. un test scritto, in modalità telematica, e
      2. previo superamento del test, una breve discussione orale sulle soluzioni presentate e parte integrante della prova.
    • La prova pratica, che si terrà qualche giorno dopo il 12 gennaio, richiede di svolgere un esercizio di programmazione sulle strutture collegate (liste o alberi).
      Per accedere alla prova pratica è necessario aver superato il quiz del 18 dicembre.
      Si svolgerà da remoto in due parti
      1. un esercizio di programmazione da fare sulla piattaforma di autovalutazione
      2. previo successo sull'esercizio di programmazione, una breve discussione orale sulla soluzione presentata e parte integrante della prova.

  • L'esame di Fondamenti di Programmazione negli appelli del 18 gennaio, dell'8 febbraio e in quelli successivi consta di due prove, una di teoria e una pratica, entrambe in modalità telematica.
    • La prova di teoria include una parte scritta articolata in
      1. domande a risposta multipla e
      2. alcuni esercizi da svolgere su carta, fotografare e caricare mediante apposito portale telematico.
      3. Se un candidato non ottiene un punteggio sufficiente in (1), la prova sarà immediatamente considerata insufficiente e gli esercizi in (2) non saranno corretti. Se un candidato ottiene un punteggio sufficiente in (1) e (2), seguirà una breve discussione orale sulle soluzioni presentate.
      La prova di teoria presenterà quesiti su tutte le parti del programma (come nel quiz di dicembre), nella parte (1), con particolare attenzione agli argomenti legati alla semantica e ai linguaggi nella parte (2).
    • La prova pratica richiede
      1. lo svolgimento di un esercizio di programmazione sulle strutture collegate (liste o alberi) da svolgere sulla piattaforma Dijkstra e
      2. una breve discussione orale sulla soluzione presentata. Un candidato accede a (2) solo previo successo sull'esercizio di programmazione in (1).
    L'accesso ad entrambe le prove è vincolato al conseguimento di almeno 3400 punti sulla piattaforma di autovalutazione (corrispondenti all'80% di successo negli esercizi di programmazione affrontati nelle lezioni di laboratorio).
Link utili per il laboratorio Programmare in C a casa e in laboratorio
  • Il sito di informazioni del SID del Polo 2

  • Piattaforma di autovalutazione
    Si tratta di un sito web dove gli studenti possono registrarsi ed accedere usando le proprie credenziali in grado di valutare la correttezza delle soluzioni proposte su un insieme di test-case.
    Per maggiore chiarezza leggere le istruzioni per l'uso della piattaforma

  • Virtual Machine (VirtualBox): per coloro che volessero svolgere le esercitazioni di laboratorio sul proprio PC/MAC senza installare Linux in una partizione del disco, è stato predisposta una macchina virtuale, ovvero un ambiente virtuale che emula una macchina fisica.
    A questo scopo è stato preparato un disco virtuale (formato .vmdk) contenente una installazione completa di XUbuntu, configurato per le esigenze del laboratorio, che può essere fatto partire utilizzando (ad esempio) il sistema di virtualizzazione Virtual Box. Un tutorial che descrive come creare una macchina virtuale (VM) sotto VirtualBox partendo da un disco esistente può essere scaricato qui. La cartella compressa VM (.zip) può essere scaricata qui (circa 3GB!) (In caso di problemi di decompressione provare a scaricare la cartella con un altro browser).

  • Istallazione GCC:

Materiale didattico aggiuntivo.
  • Alcuni testi delle prime e seconde prove di verifica date in passato.


Gran parte del materiale didattico è frutto del lavoro congiunto dei docenti che negli anni hanno tenuto corsi di Fondamenti di Programmazione e di Informatica. Un particolare ringraziamento va al Prof. Paolo Mancarella e alla Prof. Roberta Gori, per i lucidi. Un ringraziamento anche al Prof. Stefano Chessa e al Prof. Giuseppe Prencipe. Un ringraziamento infine per la Prof. Francesca Rossi che mi ha gentilmente messo a disposizione i lucidi sulla parte relativa ai linguaggi formali e agli automi a stati finiti.