====== Laboratorio di Programmazione ====== ---- ===== News ===== * **22 Dicembre 2015**: Sono disponibili i risultati del quinto appello di esame in data 21/12/2015 (vedi sezione "Risultati Esame" in questa pagina). * **22 Settembre 2015**: Sono disponibili i risultati del quarto appello di esame in data 22/09/2015 (vedi sezione "Risultati Esame" in questa pagina). * **08 Settembre 2015**: Sono disponibili i risultati del terzo appello di esame in data 08/09/2015 (vedi sezione "Risultati Esame" in questa pagina). * **20 Luglio 2015**: Sono disponibili i risultati del secondo appello di esame in data 20/07/2015 (vedi sezione "Risultati Esame" in questa pagina). * **16 Giugno 2015**: Sono disponibili i risultati del primo appello di esame in data 16/06/2015 (vedi sezione "Risultati Esame" in questa pagina). * **12 Maggio 2015**: Sono disponibili i risultati del test dell'11 Maggio 2015 e le relative soluzioni (vedi sezione "Esami" in questa pagina). * **11 Maggio 2015**: Il giorno 11 Maggio 2015 si terrà presso l'aula LA1 del Polo Lodovici il terzo test di autovalutazione riguardante gli argomenti trattati dalla lezione del 16/03/15 alla 04/05/15 compresa. Si prega di iscriversi al parziale utilizzando il portale [[https://didattica.unicam.it|esse3]] * **23 Marzo 2015**: Sono disponibili le tracce per lo svologimento del progetto (vedi sezione "Esami" in questa pagina). * **10 Marzo 2015**: Sono disponibili i risultati del test del 09 Marzo 2015 e le relative soluzioni (vedi sezione "Esami" in questa pagina). * **9 Marzo 2015**: Il giorno 9 Marzo 2015 si terrà presso l'aula LA1 del Polo Lodovici il secondo test di autovalutazione riguardante gli argomenti trattati nelle lezioni dall'01/12/2014 al 02/03/2014 comprese (Ereditarietà e Interfacce, Costruttore e Overloading, Polimorfismo e Overriding, Utlizzo di librerie, Utilizzo di eccezioni). Si prega di iscriversi al parziale utilizzando il portale [[https://didattica.unicam.it|esse3]]. * **2 Marzo 2015**: Le lezioni di Laboratorio di Programmazione non si svolgeranno nel mese di Febbraio, riprenderanno lunedì 2 Marzo 2015. * **12 Gennaio 2015**: Le lezioni di Laboratorio di Programmazione riprenderanno lunedì 12 Gennaio 2015. * **16 Dicembre 2014**: Sono disponibili i risultati del test del 15 Dicembre 2014 e le relative soluzioni (vedi sezione "Esami" in questa pagina). * **15 Dicembre 2014**: Il giorno 15 Dicembre 2014 si terrà presso l'aula LA1 del Polo Lodovici il primo test di autovalutazione riguardante gli argomenti trattati fino alla lezione del 24/11/2014 compresa. Si prega di iscriversi al parziale utilizzando il portale [[https://didattica.unicam.it|esse3]]. * **23 Ottobre 2014**: Le lezioni di Laboratorio di Programmazione Java saranno sono sospese fino alla fine di ottobre. Riprenderanno il giorno lunedì 3 novembre; inoltre, lunedì 4 novembre verrà tenuta una lezione di laboratorio invece che di teoria. ---- ===== Informazioni Generali ===== **Docenti**: * Luca Salvatori () * Samuele Rilli () Telefono: 0737 402590 **Orario delle Lezioni**: * Lunedì ore 15-17, LA1 (Polo Lodovici) **Ricevimento studenti**: * Lunedì ore 17-19, LA1 (Polo Lodovici) ---- ===== Obiettivi del Corso ===== Il corso di programmazione ha l'obiettivo di introdurre gli studenti ai concetti e alla programmazione di base. Verrà utilizzato il linguaggio Java per creare classi e implementare algoritmi.\\ Durante la parte di teoria verranno studiati i costrutti Java, che saranno poi applicati durante la parte di laboratorio. ---- ===== Contenuti del Corso ===== Il corso è strutturato in diverse lezioni che trattano i vari concetti della programmazione a oggetti, quali classi, attributi e metodi, polimorfismo ed ereditarietà, overwriting e overloading, uso dei files e eccezioni.\\ La sezione Materiale contiene gli esercizi svolti durante le rispettive lezioni. ---- ===== Materiale ===== **Programmi svolti a lezione** * 00 {{:didattica:triennale:programmazione:presentazione-corso.pdf|Presentazione Corso}} * 01 (13/10/14): {{:didattica:triennale:programmazione:lezione01.zip|Java}}, {{:didattica:triennale:programmazione:lezione01_esercizio_soluzione.zip|Esercizio svolto}} | BlueJ e prime classi Java * 02 (03/11/14): {{:didattica:triennale:programmazione:lezione02.zip|Java}}, {{:didattica:triennale:programmazione:lezione02_esercizio_soluzione.zip|Esercizio svolto}} | Tipi dati e lettura input da tastiera * 03 (04/11/14): {{:didattica:triennale:programmazione:lezione03.zip|Java}}, {{:didattica:triennale:programmazione:lezione03_esercizio_soluzione.zip|Esercizio svolto}} | Costrutti if, switch e while * 04 (10/11/14): {{:didattica:triennale:programmazione:lezione04.zip|Java}}, {{:didattica:triennale:programmazione:lezione04_esercizio_soluzione.zip|Esercizio svolto}} | Costrutto for e Array * 05 (17/11/14): {{:didattica:triennale:programmazione:lezione05.zip|Java}}, {{:didattica:triennale:programmazione:lezione05_esercizio_soluzione.zip|Esercizio svolto}} | Approfondimento Array, ricerca di un elemento in un Array * 06 (24/11/14): {{:didattica:triennale:programmazione:lezione06.zip|Java}}, {{:didattica:triennale:programmazione:lezione06_esercizio_soluzione.zip|Esercizio svolto}} | Approfondimento Array, ordinamento Array * 07 (01/12/14): {{:didattica:triennale:programmazione:lezione07.zip|Java}}, {{:didattica:triennale:programmazione:lezione07_esercizio_soluzione.zip|Esercizio svolto}} | Ereditarietà e Interfacce * __ (08/12/14): {{:didattica:triennale:programmazione:lezione06_esercizi2.zip|Java}}, {{:didattica:triennale:programmazione:lezione06_esercizi2_soluzioni.zip|Esercizio svolto}} | Esercizi di preparazione al parziale * 08 (12/01/15): {{:didattica:triennale:programmazione:lezione08.zip|Java}}, {{:didattica:triennale:programmazione:lezione08_esercizio_soluzione.zip|Esercizio svolto}} | Costruttore e Overloading * 09 (19/01/15): {{:didattica:triennale:programmazione:lezione09.zip|Java}}, {{:didattica:triennale:programmazione:lezione09_esercizio_soluzione.zip|Esercizio svolto}} | Polimorfismo e Overriding * 10 (26/01/15): {{:didattica:triennale:programmazione:lezione10.zip|Java}}, {{:didattica:triennale:programmazione:lezione10_esercizio_soluzione.zip|Esercizio svolto}} | Utilizzo di librerie * 11 (02/03/15): {{:didattica:triennale:programmazione:lezione11.zip|Java}}, {{:didattica:triennale:programmazione:lezione11_esercizio_soluzione.zip|Esercizio svolto}} | Gestione delle eccezioni * 12 (16/03/15): {{:didattica:triennale:programmazione:lezione12.zip|Java}}, {{:didattica:triennale:programmazione:lezione12_esercizio_soluzione.zip|Esercizio svolto}} | Gestione dei file * 13 (23/03/15): {{:didattica:triennale:programmazione:lezione13.zip|Java}}, {{:didattica:triennale:programmazione:lezione13_esercizio_soluzione.zip|Esercizio svolto}} | Documentazione di programmi Java e Visibilità * 14 (30/03/15): {{:didattica:triennale:programmazione:lezione14.zip|Java}}, {{:didattica:triennale:programmazione:lezione14_esercizio_soluzione.zip|Esercizio svolto}} | Classi generics, Vector, Iterator e Enumeration * 15 (13/04/15): {{:didattica:triennale:programmazione:lezione15.zip|Java}}, {{:didattica:triennale:programmazione:lezione15_esercizio_soluzione.zip|Esercizio svolto}} | Espressioni regolari e uso di metodi e attributi statici * 16 (20/04/15): {{:didattica:triennale:programmazione:lezione16.zip|Java}}, {{:didattica:triennale:programmazione:lezione16_esercizio_soluzione.zip|Esercizio svolto}} | Metodi ricorsivi e Merge Sort * 17 (27/04/15): {{:didattica:triennale:programmazione:lezione17.zip|Java}}, {{:didattica:triennale:programmazione:lezione17_esercizio_soluzione.zip|Esercizio svolto}} | Riflessività e Annotazioni * 18 (04/05/15): {{:didattica:triennale:programmazione:lezione18.zip|Java}} | LocalDate e Lamda Expressions **Testi di Riferimento** * **Java 8** di Pellegrino Principe * **Programmare in Java con Bluej** di David Barnes, Michael Kolling ---- ===== Esami ===== **Test autovalutazione A.A. 2014/2015** Durante il corso saranno svolti esami di autovalutazione, senza votazione, che non incideranno sull'esame finale. I punteggi sono calcolati come segue: per ogni domanda a risposta multipla con n scelte, la risposta corretta vale ((n-1)/n)*difficoltàDomanda, la risposta errata (-1/n)*difficoltàDomanda, la risposta non data 0. * Lun 15/12/2014 15:00: {{:didattica:triennale:programmazione:soluzione_test_15_dicembre_2014.pdf|Soluzione}}*, {{:didattica:triennale:programmazione:punteggi_test_15_dicembre_2014.pdf|Punteggi}} * Lun 09/03/2015 15:00: {{:didattica:triennale:programmazione:soluzione_test_09_marzo_2015.pdf|Soluzione}}*, {{:didattica:triennale:programmazione:punteggi_test_09_marzo_2015.pdf|Punteggi}} * Lun 11/05/2015 15:00: {{:didattica:triennale:programmazione:soluzione_test_11_maggio_2015.pdf|Soluzione}}*, {{:didattica:triennale:programmazione:punteggi_test_11_maggio_2015.pdf|Punteggi}} * la prima risposta è quella corretta **Regole di esame**: * **Esame Scritto**: Test in linea con quelli di autovalutazione * **Progetto**: Presentazione e discussione del progetto, implementato seguendo una traccia data a lezione, e svolto individualmente. * **Voto fi nale**: media tra il voto dell'esame scritto e dell'orale (sul progetto) * L'esame consiste in una prova scritta ed in una presentazione del progetto. * Si deve superare la prova scritta (test a crocette), ottenendo un punteggio di almeno 18/30. * Si deve superare la presentazione del progetto svolto individualmente. Il progetto può essere presentato anche in un appello successivo, ma solo se è stata superata la prova scritta. * Se si supera la prova scritta ma non la presentazione del progetto, si dovrà ripetere sia la prova scritta che la presentazione del progetto in altro appello. * Il voto della prova scritta vale per tutto l'anno accademico, ovvero a partire da Giugno 2015 fino all'ultimo appello di Febbraio 2016. * Con l'introduzione del nuovo corso 2015/16, la prova scritta e i progetti attuali del corso 2014/15 non saranno più validi. **Tracce Progetti A.A. 2014/2015** * Lo studente dovrà scegliere una tra le tracce riportate nel documento sotto riportato, senza necessità di comunicare la preferenza. * Il progetto dovrà essere svolto individualmente. * Lo studente il giorno della discussione dovrà portare copia cartacea del codice del progetto da lui svolto e se possibile un computer dove verrà eseguito il programma da lui sviluppato (altrimenti sarà sufficiente una pen drive contenente l’intero progetto). * {{:didattica:triennale:programmazione:proposte_di_progetto_del_corso_di_programmazione.pdf|Proposte di progetto}} **Date Esami A.A. 2014/2015 e risultati** * Mar 16/06/2015 09:00 {{:didattica:triennale:programmazione:20150616-risultati.pdf|Risultati}} * Mar 20/07/2015 09:00 {{:didattica:triennale:programmazione:20150720-risultati.pdf|Risultati}} * Mar 08/09/2015 09:00 {{:didattica:triennale:programmazione:20150908-risultati.pdf|Risultati}} * Mar 22/09/2015 09:00 {{:didattica:triennale:programmazione:20150922-risultati.pdf|Risultati}} * Lun 21/12/2015 09:00 {{https://www.dropbox.com/s/5u0y2nq7xisfpxp/20151221_risultati.pdf?dl=0|Risultati}}