====== Programmazione (Modulo di Teoria) ======
----
===== News =====
* **Pubblicati risultati prova scritta del 16/03/2017**
* Pubblicati risultati prova scritta del 28/02/2017
* Prossima (e ultima) lezione di Programmazione Teoria (Tiezzi): Mercoledì 15 Febbraio, 14:00-16:00, LA1.
* La traccia del progetto è stata pubblicata nella sezione "Laboratorio di programmazione". Eventuali dubbi sulla traccia possono essere discussi con il Prof. Culmone durante le lezioni di laboratorio.
* 21 Dicembre 2016: al posto della lezione di Programmazione Teoria si svolgerà la lezione di Programmazione Laboratorio (Prof. Culmone)
* 12 Dicembre 2016: Lezioni di teoria e laboratorio posticipate. Prossima lezione di teoria: 13 Dicembre (al posto della lezione di laboratorio)
* 30 Novembre 2016: Ripresa lezioni
* 19 Ottobre 2016: Lezione posticipata
* 06 Ottobre 2016: Lezione posticipata
* 04 Ottobre 2016: Prima lezione
* 03 Ottobre 2016: Non c'è lezione (Giornata di Ambientamento )
----
===== Informazioni Generali =====
**Docente**:
* [[http://docenti.unicam.it/pdett.aspx?ids=N&tv=d&UteId=990&ru=PA|Francesco Tiezzi]]
**Orario delle Lezioni**:
* Lunedì 11 - 13 (LA1)
* Lunedì 14 - 16 (LA1) - Laboratorio
* Martedì 14 - 16 (LA1) - Laboratorio
* Mercoledì 14 - 16 (LA1)
**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.
* Costrutti base di programmazione procedurale.
* Iterazione e ricorsione.
* Programmazione ad oggetti in Java.
* Ambiente di sviluppo Eclipse.
----
===== Progetto =====
* La traccia del progetto è disponibile [[didattica:triennale:programmazione:ay_1617:lab|qui]].
* Eventuali dubbi sulla traccia possono essere discussi con il Prof. Culmone durante le lezioni di laboratorio.
* Il progetto dovrà essere realizzato in gruppi di massimo 3 persone. La valutazione del progetto avverrà però singolarmente.
----
===== Materiale =====
**Slide del Corso**
* {{ :didattica:triennale:programmazione:ay_1617:intro.pdf |Informazioni generali}}
* {{ :didattica:triennale:programmazione:ay_1617:capitolo01.pdf |Calcolatori e programmi}}
* {{ :didattica:triennale:programmazione:ay_1617:capitolo02.pdf |Tipi di dato primitivi}}
* {{ :didattica:triennale:programmazione:ay_1617:capitolo03.pdf |Selezione e ripetizione}}
* {{ :didattica:triennale:programmazione:ay_1617:metodi_e_ricorsione.pdf | Metodi e ricorsione}}
* {{ :didattica:triennale:programmazione:ay_1617:programmazione_ad_oggetti.pdf |Programmazione ad oggetti}}
* Costrutti avanzati da studiare su [[https://docs.oracle.com/javase/tutorial/index.html|Java Tutorial di Oracle]] o altra fonte e manuale: Interfacce; Ereditarietà multipla; Classi astratte; Accenni a classi annidate; annotazioni e generics.
**Lezioni registrate**
* [[https://cmr-em.webex.com/cmr-em-it/ldr.php?RCID=17ebfb69fe958c6c296d8fad17521fd7|Lezione del 30 Novembre 2016]]
* [[https://cmr-em.webex.com/cmr-em-it/ldr.php?RCID=ce40dd8b3013dd967c1f40c7f8f84db7|Lezione del 5 Dicembre 2016]]
* [[https://drive.google.com/open?id=0B2v4obBsNmUON0FiTmZ2SnFtdWs|Lezione del 19 Dicembre 2016]] (password: hDkQpE33)
* [[https://drive.google.com/open?id=0B2v4obBsNmUOOHRLb1gwc3UyM1k|Lezione del 9 Gennaio 2017]] (password: 3PpVHfUW)
* [[https://drive.google.com/open?id=0B2v4obBsNmUOT1FKcnBTWjd4U00|Lezione del 11 Gennaio 2017]] (password: gHNuZwJ8)
* [[https://drive.google.com/open?id=0B2v4obBsNmUOVlFiYXZGQXdZeGs|Lezione del 6 Febbraio 2017]] (password: Am6pQvBp)
* [[https://drive.google.com/open?id=0B2v4obBsNmUOU0lORC1zUl9ZMTQLezione del 15 Febbraio 2017]]
**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]]
----
===== Esami =====
**Fac-simile prova scritta**
* {{ :didattica:triennale:programmazione:ay_1617:fac-simile.pdf |Fac-simile}}
**Date Esami A.A. 2016/2017**
* Appello I: 28/02/2017 ore 10:00 - Polo Lodovici - Aula AA1 ({{ :didattica:triennale:programmazione:ay_1617:2017.02.28_risultati_.pdf |Risultati}})
* Appello II: 16/03/2017 ore 10:00 - Polo Lodovici - Aula AA1 ({{ :didattica:triennale:programmazione:ay_1617:2017.03.16_risultati_.pdf |Risultati}})
* Appello III: 12/06/2017 ore 10:00 - Polo Lodovici - Aula AA1 ({{ :didattica:triennale:programmazione:ay_1617:2017.06.12_risultati.pdf |Risultati}})
* Appello IV: 30/06/2017 ore 10:00 - Polo Lodovici - Aula AB3 ({{ :didattica:triennale:programmazione:ay_1617:2017.06.30_risultati.pdf |Risultati}})
* Appello V: 17/07/2017 ore 10:00 - Polo Lodovici - Aula AB3 ({{ :didattica:triennale:programmazione:ay_1617:2017.07.17_risultati.pdf |Risultati}})
* Appello VI: 11/09/2017 ore 10:00 - Polo Lodovici - Aula AB3 ({{ :didattica:triennale:programmazione:ay_1617:2017.09.11_risultati.pdf |Risultati}})
* Appello VII: 25/09/2017 ore 10:00 - Polo Lodovici - Aula AB3 {{ :didattica:triennale:programmazione:ay_1617:2017.09.24_risultati.pdf |Risultati}})
* Appello VIII: 23/10/2017 ore 10:00 - Polo Lodovici
**Regole di esame**:\\
Il raggiungimento dei risultati di apprendimento è verificato attraverso due prove:
* **Prova scritta** (questionario a risposta multipla). Durante il corso vengono assegnati diversi esercizi di laboratorio; in caso di esito positivo, sostituiscono la prova scritta nella data di appello.
* **Progetto software** assegnato dai docenti con **discussione orale**. La prova orale può essere sostenuta se è stata superata la prova scritta. Il voto finale è la media dei voti delle prove scritta e orale.
** Risultati Esame **
* N/A