Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
didattica:triennale:programmazione:main [2019/01/30 10:45] tiezzi [Esami] |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Programmazione (Modulo di Teoria) ====== | ||
- | ---- | ||
- | ===== News ===== | ||
- | <WRAP center round important 95%> | ||
- | * <wrap em>17/12/2018: date le avverse condizioni meteorologiche, nella giornata di lunedì 17 dicembre TUTTE le lezioni sono sospese nella sede Unicam di Camerino.</wrap> | ||
- | * 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. | ||
- | </WRAP> | ||
- | ---- | ||
- | ===== Informazioni Generali ===== | ||
- | <WRAP box round 95% center> | ||
- | **Docente**: | ||
- | * [[http://docenti.unicam.it/pdett.aspx?ids=N&tv=d&UteId=990&ru=PA|Francesco Tiezzi]] | ||
- | |||
- | **Link ESSE3** | ||
- | * [[https://didattica.unicam.it/Guide/PaginaADErogata.do?ad_er_id=2018*N0*N0*S1*14584*8485&ANNO_ACCADEMICO=2018&mostra_percorsi=S|Programmazione - AA 2018/19]] | ||
- | |||
- | **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) | ||
- | </WRAP> | ||
- | ---- | ||
- | ===== Obiettivi del Corso ===== | ||
- | |||
- | <WRAP box round 95% center> | ||
- | 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. | ||
- | </WRAP> | ||
- | |||
- | ---- | ||
- | ===== Contenuti del Corso ===== | ||
- | |||
- | <WRAP round 95% center box> | ||
- | * 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. | ||
- | </WRAP> | ||
- | ---- | ||
- | ===== Progetto ===== | ||
- | <WRAP round 95% center box> | ||
- | * Il progetto dovrà essere realizzato in gruppi di massimo 3 persone. La valutazione del progetto avverrà però singolarmente. | ||
- | * Eventuali dubbi sulla traccia possono essere discussi con il Prof. Culmone **durante le lezioni di laboratorio**. | ||
- | * Il progetto è disponibile su [[https://drive.google.com/drive/folders/0B82FyP8YKiFocjVrV2dOME9WdFk?usp=sharing]] nel file Progetto2018 | ||
- | </WRAP> | ||
- | ---- | ||
- | ===== Materiale ===== | ||
- | <WRAP box round center 95%> | ||
- | **Slide del Corso** | ||
- | * {{ :didattica:triennale:programmazione:ay_1819:intro_1819pdf.pdf |Informazioni generali}} | ||
- | * {{ :didattica:triennale:programmazione:ay_1819:calcolatori_e_programmi_1819.pdf |Calcolatori e programmi}} | ||
- | * {{ :didattica:triennale:programmazione:ay_1819:tipi_primitivi_1819.pdf |Tipi di dato primitivi}} | ||
- | * {{ :didattica:triennale:programmazione:ay_1819:selezione_e_ripetizione_1819.pdf |Selezione e ripetizione}} | ||
- | * {{ :didattica:triennale:programmazione:ay_1819:metodi_ricorsione_1819.pdf |Metodi e ricorsione}} | ||
- | * {{ :didattica:triennale:programmazione:ay_1819:programmazione_a_oggetti_1819.pdf |Programmazione ad oggetti}} | ||
- | |||
- | **Riferimenti utili** | ||
- | * [[https://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html|Parola chiave "this"]] | ||
- | * [[https://docs.oracle.com/javase/tutorial/java/IandI/createinterface.html|Interfacce]] | ||
- | * [[https://docs.oracle.com/javase/tutorial/java/IandI/abstract.html|Classi e metodi astratti]] | ||
- | |||
- | **Lezioni** | ||
- | * 02/10/2018: informazioni generali ([[https://unicam.webex.com/unicam/ldr.php?RCID=5ceffa522b266e086df9bd0e5049c8f0 |registrazione]]) | ||
- | * 03/10/2018: il metodo algoritmico; problemi indecidibili ([[https://unicam.webex.com/unicam/ldr.php?RCID=0f54ced97219dae388831accd4d9a30b|registrazione]]) | ||
- | * 15/10/2018: complessità; breve storia dei calcolatori; rappresentazione binaria ([[https://unicam.webex.com/unicam/ldr.php?RCID=d6a16a9fd1380c88cb90433fbea36a0f |registrazione]]) | ||
- | * 17/10/2018: algoritmi; diagrammi di flusso; compilatori e interpreti ([[https://unicam.webex.com/unicam/ldr.php?RCID=29e4ab93cc9e761ea320f9aa47764a75 |registrazione]]) | ||
- | * 22/10/2018: introduzione alle funzionalità base di Eclipse; variabili; input e output in Java--; tipi di dato primitivi; assegnazione ([[https://unicam.webex.com/unicam/ldr.php?RCID=b4c8d0110bdd9bde6f5d22ad66620a2a |registrazione]]) | ||
- | * 24/10/2018: perdita di precisione; commenti; conversioni di tipo; precedenze fra operatori; operatori di incremento e decremento ([[https://unicam.webex.com/unicam/ldr.php?RCID=876db5ca14cb58fbb1e6e131473aa4f5 |registrazione]]) | ||
- | * 29/10/2018: array; differenza fra array e tipi primitivi; espressioni booleane ([[https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/373b167eb1fb4903a869233f404d17b6|registrazione]]) | ||
- | * 5/11/2018: metodi; istruzione return; call-by-value e call-by-reference; costrutto if; costrutto if-else, diramazioni multiple ([[https://unicam.webex.com/unicam/ldr.php?RCID=ce8bad09cc4b7b13baf2cfe4b9f23813|registrazione]]) | ||
- | * 7/11/2018: istruzione switch; cicli: while, do-while, for ([[https://unicam.webex.com/unicam/ldr.php?RCID=2eb914a1013ee473a34e211a126d8959 |registrazione]]) | ||
- | * 12/11/2018: Eclipse debugger; parametri formali e argomenti; variabili locali ([[https://unicam.webex.com/unicam/ldr.php?RCID=f9dbb604668050090870966fcc5e6f7d|registrazione]]) | ||
- | * 14/11/2018: array come parametri formali; ordinamento array; paradigma di programmazione procedurale ([[https://unicam.webex.com/unicam/ldr.php?RCID=144bf327676497baf12cc8ca4fe9eb70|registrazione]]) | ||
- | * 19/11/2018: ricorsione e iterazione; paradigma di programmazione orientata agli oggetti ([[https://unicam.webex.com/unicam/ldr.php?RCID=3d36e6d33b2e163f11ee2d32daa1a279|registrazione]]) | ||
- | * 21/11/2018: dichiarazione di classe; creazione e distruzione di oggetti; utilizzo di oggetti ([[https://unicam.webex.com/unicam/ldr.php?RCID=c177dfb48bc76c0cab0ef390c43447e2 |registrazione]]) | ||
- | * 3/12/2018: parametri formali di tipo classe; metodi costruttori; metodo main; accessori e mutatori ([[https://unicam.webex.com/unicam/ldr.php?RCID=710c7a32fca5ec260c5ff1de79b63aa1|registrazione]]) | ||
- | * 5/12/2018: classe String; Sovraccaricamento di metodi; Ereditarietà ([[https://unicam.webex.com/unicam/ldr.php?RCID=b08f11ab2da9a93e5ce1de6d36a70bd3 |registrazione]]) | ||
- | * 10/12/2018: polimorfismo; conversione di tipo classe ([[https://unicam.webex.com/unicam/ldr.php?RCID=acee2c92247a7bf0381b36673db28033|registration]]) | ||
- | * 12/12/2018: Modificatori public e private; Pacchetti: definizione e visibilità; Incapsulamento; Modificatore static ([[https://unicam.webex.com/unicam/ldr.php?RCID=de064eec06bbe04ed11d3f34a56a1e91|registration]]) | ||
- | * 19/12/2018: Modificatore final; Eccezioni: creazione, lancio, gestione; Accesso file di testo ([[https://unicam.webex.com/unicam/ldr.php?RCID=c102c19184cd2080e36d47e2f586dc5c|registration]]) | ||
- | * 7/1/2019: Esempi su modificatore static; esempi di uso di this ([[https://unicam.webex.com/unicam/ldr.php?RCID=7f729d5d3460199cde6a84d8276dde60|registrazione]]) | ||
- | * 9/1/2019: Interfacce e classi astratte ([[https://unicam.webex.com/unicam/ldr.php?RCID=c9176f4158828a60c9b34043bb760086|registrazione]]) | ||
- | * 14/1/2019: Panoramica su concetti di programmazione avanzata non trattati nel corso ([[https://unicam.webex.com/unicam/ldr.php?RCID=c612e81712e8f3bdf93ee8cfe8ab156c|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** | ||
- | * [[https://github.com/LorenzoBettini/javamm | Java--]] | ||
- | * [[http://www.vogella.com/tutorials/Eclipse/article.html | Eclipse Tutorial]] | ||
- | |||
- | </WRAP> | ||
- | ---- | ||
- | ===== Esami ===== | ||
- | <WRAP box round center 95%> | ||
- | **Fac-simile prova scritta** | ||
- | * {{ :didattica:triennale:programmazione:ay_1819:fac-simile.pdf |Fac-simile}} | ||
- | |||
- | **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 ** | ||
- | * {{ :didattica:triennale:programmazione:ay_1819:calendario_orale_v1.pdf |Calendario orali Appello 1}} | ||
- | </WRAP> |