This is an old revision of the document!
Programmazione (Modulo di Teoria)
News
- 13/03/2020: pubblicato calendario esame secondo appello (vedi in fondo alla pagina)
- 26/02/2019: Le prove di programmazione del 27-28 febbraio sono rinviate, le date delle nuove prove saranno comunicate appena decise.
- 26/02/2019: Pubblicati voti finali per il primo appello (vedi in fondo alla pagina).
- 23/10/2019: Lezione posticipata, la prossima lezione di Programmazione è giovedì 24 Ottobre.
- 17/10/2019: Lezione sospesa per evento Hacktoberfest 2019.
- 14/10/2019: Lezione posticipata, la prossima lezione di Programmazione è martedì 15 Ottobre.
- 07/10/2019: Prima lezione.
- Canale telegram: PROGRAMMAZIONE1920@Unicam, https://t.me/programmazione1920Unicam
Informazioni Generali
Docente:
Link ESSE3
Orario delle Lezioni:
- Lunedì 14 - 16 (B1) - Laboratorio
- Martedì 9 - 11 (B1) - Laboratorio
- Mercoledì 11 - 13 (B1)
- Giovedì 9 - 11 (B1)
Ricevimento studenti:
- su appuntamento (via email)
Obiettivi del Corso
D1 - CONOSCENZA E CAPACITÀ DI COMPRENSIONE
Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di:
- Conoscere i concetti base della programmazione procedurale.
- Conoscere i concetti base della programmazione orientata agli oggetti, con particolare riguardo al linguaggio Java.
- 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:
- Programmare secondo il paradigma di programmazione procedurale.
- 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:
- 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:
- 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:
- Comprendere e imparare ad usare autonomamente sintassi e semantica di altri linguaggi di programmazione, imperativi o ad oggetti, nonché librerie aggiuntive e tecnologie analoghe.
Contenuti del Corso
- 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.
Materiale
Slide del Corso
Riferimenti utili
- Tutorial su Linux Shell (LinuxCommand.org)
- Tutorial Prompt dei comandi Windows (link)
Lezioni
- 07/10/2019: informazioni generali (registrazione)
- 8/10/2019: il metodo algoritmico; problemi indecidibili (registrazione)
- 9/10/2019: complessità; breve storia dei calcolatori; rappresentazione binaria (registrazione)
- 10/10/2019: algoritmi; diagrammi di flusso (registrazione)
- 15/10/2019: compilatori e interpreti; compilazione ed esecuzione da linea di comando; generazione di jar file (registrazione)
- 16/10/2019: shell Linux e prompt dei comandi Windows (registrazione)
- 21/10/2019: introduzione alle funzionalità base di Eclipse; variabili; input e output in Java– (registrazione)
- 22/10/2019: perdita di precisione; commenti; conversioni di tipo (registrazione)
- 24/10/2019: conversione di tipo esplicita; precedenze fra operatori; operatori di incremento e decremento (registrazione)
- 30/10/2019: array; differenza fra array e tipi primitivi (registrazione)
- 31/10/2019: esempi su array; espressioni booleane (registrazione)
- 06/11/2019: metodi; istruzione return (registrazione)
- 07/11/2019: call-by-value e call-by-reference (registrazione)
- 14/11/2019: costrutto if; costrutto if-else, diramazioni multiple; istruzione switch; cicli while e do-while (registrazione)
- 20/11/2019: cicli for; array length
- 21/11/2019: variabili locali; paradigma di programmazione procedurale; ricorsione (regsitrazione)
- 27/11/2019: Eclipse debugger e ricorsione; paradigma di programmazione orientata agli oggetti (registrazione)
- 28/11/2019: dichiarazione di classe; creazione e distruzione di oggetti; utilizzo di oggetti (registrazione)
- 4/12/2019: parametri formali di tipo classe; metodi costruttori; metodo main; accessori e mutatori; classe String (registrazione)
- 5/12/2019: sovraccaricamento di metodi; Ereditarietà; Polimorfismo; Conversione di tipo classe (registrazione)
- 11/12/2019: Modificatori public e private; Pacchetti: definizione e visibilità; Incapsulamento; this (registrazione)
- 12/12/2019: Modificatore static; Modificatore final; Eccezioni: creazione, lancio, gestione; Accesso file di testo; Interfacce e classi astratte (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
Esami
Fac-simile prova scritta
Date Esami A.A. 2018/2019
- Appello I: 13/02/2020 ore 10:00 - Polo Lodovici - Aula LA1
- Appello II: 27/02/2020 ore 10:00 - Polo Lodovici - Aula LA1
- Appello III: 29/05/2020 ore 10:00 - Polo Lodovici - Aula LA1
- Appello IV: 16/06/2020 ore 10:00 - Polo Lodovici - Aula LA1
- Appello V: 07/07/2020 ore 10:00 - Polo Lodovici - Aula LA1
- Appello VI: 10/09/2020 ore 10:00 - Polo Lodovici - Aula LA1
- Appello VII: 24/09/2020 ore 10:00 - Polo Lodovici - Aula LA1
- Appello VIII: 02/02/2021 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.
- Prova di programmazione: esercizi di programmazione svolti singolarmente in laboratorio.
- Prova orale: solo se ritenuto necessario dai docenti.
Il voto finale è la media ponderata dei voti della prove.
Calendario Appello 2:
- Calendario esame in modalità telematica del secondo appello : calendario