Programmazione (Modulo di Teoria)


  • 27/09/2019: Calendario prove orali appello 8 pubblicato.
  • 15/09/2019: Calendario prove orali appello 7 pubblicato.
  • 03/07/2019: Calendario prove orali appello 6 pubblicato.
  • 17/12/2018: date le avverse condizioni meteorologiche, nella giornata di lunedì 17 dicembre TUTTE le lezioni sono sospese nella sede Unicam di Camerino.
  • 11/12/2018: martedì 11/12 la lezione di Programmazione LABORATORIO è annullata.
  • 10/12/2018: lunedì 10/12 la lezione di Programmazione LABORATORIO è annullata.
  • 28/11/2018: mercoledì 28/11 la lezione di Programmazione Teoria è annullata.
  • 26/11/2018: lunedì 26/11 la lezione di Programmazione Teoria è annullata per concomitanza con l'inaugurazione dell'anno accademico.
  • 06/11/2018: martedì 6/11 la lezione di Programmazione Laboratorio è annullata.
  • 31/10/2018: mercoledì 31/10 la lezione di Programmazione Teoria è annullata, perché in aula AA1 si svolgeranno le presentazioni delle tesi di laurea.
  • 10/10/2018: mercoledì 10/10 al posto della lezione di Programmazione Teoria verrà svolta la lezione di Programmazione Laboratorio.
  • 09/10/2018: martedì 09/10 si svolgerà regolarmente la lezione di Programmazione Laboratorio.
  • 08/10/2018: lunedì 08/10 non si svolgerà la lezione di Programmazione Teoria (11:00-13:00), si svolgerà regolarmente la lezione di Programmazione Laboratorio (14:00-16:00).
  • 02/10/2018: Al posto della lezione di Programmazione Laboratorio verrà svolta la lezione di Programmazione Teoria.

Docente:

Link ESSE3

Orario delle Lezioni:

  • Lunedì 11 - 13 (AA1)
  • Lunedì 14 - 16 (LA1) - Laboratorio
  • Martedì 9 - 11 (LA1) - Laboratorio
  • Mercoledì 14 - 16 (AA1)

Ricevimento studenti:

  • su appuntamento (via email)

D1 - CONOSCENZA E CAPACITÀ DI COMPRENSIONE
Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:

  1. Conoscere i concetti base della programmazione procedurale.
  2. Conoscere i concetti base della programmazione orientata agli oggetti, con particolare riguardo al linguaggio Java.
  3. Conoscere le principali funzionalità dell'ambiente di sviluppo Eclipse.

D2 - CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE
Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:

  1. Programmare secondo il paradigma di programmazione procedurale.
  2. Programmare secondo il paradigma di programmazione ad orientata agli oggetto, tramite il linguaggio Java.

D3 - AUTONOMIA DI GIUDIZIO
Risultati attesi:
Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:

  1. Identificare il modello a oggetti che descrive meglio un semplice problema.

D4 - ABILITÀ COMUNICATIVE
Risultati attesi:
Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:

  1. Documentare il codice in forma chiara e comprensibile usando lo standard del linguaggio usato.

D5 - CAPACITÀ DI APPRENDIMENTO
Risultati attesi:
Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:

  1. Comprendere e imparare ad usare autonomamente sintassi e semantica di altri linguaggi di programmazione, imperativi o ad oggetti, nonché librerie aggiuntive e tecnologie analoghe.

  • Algoritmi, programmi e linguaggi di programmazione.
  • Compilatori, interpreti e approccio Java.
  • Tipi di dato primitivi in Java.
  • Sistema dei tipi, strutture dati di base e relativi algoritmi.
  • Concetti fondamentali di programmazione procedurale.
  • Iterazione e ricorsione.
  • Programmazione orientata agli oggetti in Java.
  • Ambiente di sviluppo Eclipse.


Slide del Corso

Riferimenti utili

Lezioni

  • 02/10/2018: informazioni generali (registrazione)
  • 03/10/2018: il metodo algoritmico; problemi indecidibili (registrazione)
  • 15/10/2018: complessità; breve storia dei calcolatori; rappresentazione binaria (registrazione)
  • 17/10/2018: algoritmi; diagrammi di flusso; compilatori e interpreti (registrazione)
  • 22/10/2018: introduzione alle funzionalità base di Eclipse; variabili; input e output in Java–; tipi di dato primitivi; assegnazione (registrazione)
  • 24/10/2018: perdita di precisione; commenti; conversioni di tipo; precedenze fra operatori; operatori di incremento e decremento (registrazione)
  • 29/10/2018: array; differenza fra array e tipi primitivi; espressioni booleane (registrazione)
  • 5/11/2018: metodi; istruzione return; call-by-value e call-by-reference; costrutto if; costrutto if-else, diramazioni multiple (registrazione)
  • 7/11/2018: istruzione switch; cicli: while, do-while, for (registrazione)
  • 12/11/2018: Eclipse debugger; parametri formali e argomenti; variabili locali (registrazione)
  • 14/11/2018: array come parametri formali; ordinamento array; paradigma di programmazione procedurale (registrazione)
  • 19/11/2018: ricorsione e iterazione; paradigma di programmazione orientata agli oggetti (registrazione)
  • 21/11/2018: dichiarazione di classe; creazione e distruzione di oggetti; utilizzo di oggetti (registrazione)
  • 3/12/2018: parametri formali di tipo classe; metodi costruttori; metodo main; accessori e mutatori (registrazione)
  • 5/12/2018: classe String; Sovraccaricamento di metodi; Ereditarietà (registrazione)
  • 10/12/2018: polimorfismo; conversione di tipo classe (registration)
  • 12/12/2018: Modificatori public e private; Pacchetti: definizione e visibilità; Incapsulamento; Modificatore static (registration)
  • 19/12/2018: Modificatore final; Eccezioni: creazione, lancio, gestione; Accesso file di testo (registration)
  • 7/1/2019: Esempi su modificatore static; esempi di uso di this (registrazione)
  • 9/1/2019: Interfacce e classi astratte (registrazione)
  • 14/1/2019: Panoramica su concetti di programmazione avanzata non trattati nel corso (registrazione)

Testi di Riferimento

  • Pierluigi Crescenzi. Gocce di Java. Un'introduzione alla programmazione procedurale ed orientata agli oggetti (2a edizione, nuova edizione 2014). FrancoAngeli.

Strumenti


Fac-simile prova scritta

Date Esami A.A. 2018/2019

  • Appello I: 28/01/2019 ore 10:00 - Polo Lodovici - Aula LA1
  • Appello II: 11/02/2019 ore 10:00 - Polo Lodovici - Aula LA1
  • Appello III: 25/02/2019 ore 10:00 - Polo Lodovici - Aula LA1
  • Appello IV: 20/05/2019 ore 10:00 - Polo Lodovici - Aula LA1
  • Appello V: 03/06/2019 ore 10:00 - Polo Lodovici - Aula LA1
  • Appello VI: 01/07/2019 ore 10:00 - Polo Lodovici - Aula LA1
  • Appello VII: 13/09/2019 ore 10:00 - Polo Lodovici - Aula LA1
  • Appello VIII: 27/09/2019 ore 10:00 - Polo Lodovici - Aula LA1

Regole di esame:
Il raggiungimento dei risultati di apprendimento è verificato attraverso le seguenti prove:

  • Prova scritta (questionario a risposta multipla).
  • Progetto software assegnato dai docenti.
  • Prova orale (discussione del progetto e domande di teoria). La prova orale può essere sostenuta solo se è stata superata la prova scritta.

Il voto finale è la media dei voti delle prove scritta e orale.

Calendario Prove Orali