Programmazione II

Informazioni generali sull'insegnamento

Nome dell'insegnamento: Programmazione II
Docente: Marko Bertogna
Corso di Studio: Laurea Triennale in Informatica
Periodo Didattico: Secondo Ciclo Semestrale
SSD: ING-INF/05
CFU: 9

Obiettivi dell'insegnamento

    Il corso di Programmazione II mira a fornire agli studenti competenze e abilità avanzate nella programmazione a partire dalle conoscenze di base acquisite durante il corso di Programmazione I. In particolare, si cureranno da un lato le abilità di analisi e sviluppo di algoritmi avanzati, dall'altro le capacità di sviluppo e testing di applicazioni reali basate sul linguaggio C++. Nel corso si adotta l'approccio "imparare facendo": quasi ogni nuova nozione o dettaglio sono subito messi in pratica al calcolatore mediante esercizi di complessità crescente.

Programma dell'insegnamento

  • Vettori di bit
  • Ricorsione
  • Puntatori e liste
  • Testing e Debugging
  • Realizzazione di applicazioni strutturate su più file
  • Approfondimenti sulla compilazione
  • Interfacce grafiche
  • Principi di qualità del software
  • Concorrenza e sincronizzazione
  • Defensive programming
  • Creazione della documentazione di un software

Orario

Orario delle lezioni

  • lunedì (11:00 - 13:00) - Laboratorio Base (Via Campi - Matematica)
  • mercoledì (11:00 - 13:00) - Laboratorio Base (Via Campi - Matematica)
  • venerdì (9:00 - 11:00) - Laboratorio Base (Via Campi - Matematica)

Orario di ricevimento

  • Mercoledì (14:00 - 16:00) o prima/dopo ogni lezione.
  • Disponibile anche in altri giorni previo appuntamento via email.

Avvisi (in ordine cronologico inverso)


  • Per gli studenti del corso dell'A.A. 2015/16, consultare questo link.

Materiale didattico

Testi di riferimento

Lucidi delle lezioni

Esercitazioni

  • Insertion sort e Merge sort: Lezione - Tracce
  • Quick sort: Lezione - Tracce
  • Heap sort: Lezione - Tracce
  • Counting sort: Lezione - Tracce
  • Quickselect e Heapselect: Lezione - Tracce
  • Alberi binari di ricerca: Lezione - Tracce
  • Grafi: Lezione - Tracce
  • Algoritmo di Dijkstra: Lezione - Tracce
  • Esami

    Prove d'esame

    • L'iscrizione all'esame scritto va eseguita su esse3.
    • L'iscrizione all'esame orale avviene contestualmente all'invio via mail del progetto al docente (occorre anche l'iscrizione all'esame su esse3, sebbene sia classificato come "scritto").

    Appelli d'esame

    • Sessione estiva, I appello: Venerdi 9 Giugno 2017, ore 10:00, Dipartimento di Matematica, Aula I.
    • Sessione estiva, II appello: Giovedi 22 Giugno 2017, ore 10:00, Dipartimento di Matematica, Aula I.
    • Sessione estiva, III appello: Martedi 18 Luglio 2017, ore 10:00, Dipartimento di Matematica, Aula I.
    • Sessione autunnale, I appello: Giovedi 7 Settembre 2017, ore 10:00, Dipartimento di Matematica, Aula da definire.
    • Sessione autunnale, II appello: Giovedi 5 Ottobre 2017, ore 10:00, Dipartimento di Matematica, Aula da definire.
    • Sessione invernale, appello unico: Mercoledi 17 Gennaio 2018, ore 10:00, Dipartimento di Matematica, Aula da definire.

    Modalità d'esame

      L'esame consiste nello svolgimento di:
      • Una prova scritta con domande a scelta multipla e domande aperte.
      • Un progetto di gruppo i cui dettagli sono forniti nel corso delle lezioni.
      • Un esame orale nel quale viene discusso (individualmente) il progetto sviluppato.
    L'iscrizione all'esame è consentita esclusivamente agli studenti che hanno positivamente superato l'esame di Programmazione I.         

    L'iscrizione all'esame orale è consentita esclusivamente agli studenti che:
      • Hanno superato con esito positivo la prova scritta.
      • Hanno consegnato (per tempo) il progetto al docente.
    Verranno valutati unicamente i progetti degli studenti iscritti ad un appello orale.
    Un voto positivo ottenuto nella prova scritta rimane valido per un anno solare dalla data dello scritto.
    La partecipazione ad una nuova prova scritta annulla un eventuale voto precedentemente ottenuto.
    Un fallimento della prova orale comporta l'annullamento sia della prova scritta che del progetto.
    La consegna di un progetto di qualità scadente provoca anch'essa l'annullamento dello scritto.

    Registrazione voti

      La registrazione del voto avviene contestualmente al superamento dell'esame orale.