<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://didattica.agentgroup.unimore.it:443/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Giacomo+Cabri</id>
	<title>Agent Group - Contributi dell&#039;utente [it]</title>
	<link rel="self" type="application/atom+xml" href="https://didattica.agentgroup.unimore.it:443/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Giacomo+Cabri"/>
	<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Speciale:Contributi/Giacomo_Cabri"/>
	<updated>2026-05-07T01:09:17Z</updated>
	<subtitle>Contributi dell&amp;#039;utente</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1081</id>
		<title>Programmazione ad Oggetti</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1081"/>
		<updated>2026-05-06T08:58:19Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* C++ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&lt;br /&gt;
{{/box-testata|News|}}&lt;br /&gt;
{{/Evidenza}}&lt;br /&gt;
{{/box-fondo|[[Europa|Leggi la voce...]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{Userboxtop&lt;br /&gt;
| align = right&lt;br /&gt;
| backgroundcolor = lightyellow&lt;br /&gt;
| bordercolor = black&lt;br /&gt;
| extra-css =&lt;br /&gt;
| textcolor = &lt;br /&gt;
| toptext = NEWS&lt;br /&gt;
&amp;lt;!-- All of the parameters are optional. --&amp;gt;&lt;br /&gt;
&amp;lt;!--}}&lt;br /&gt;
La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
([[Wikipedia:Userboxes|Userboxes]] inserted here)&lt;br /&gt;
{{userboxbottom}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Questa pagina fornisce il materiale didattico e le informazioni relative all&#039;insegnamento di &#039;&#039;&#039;Programmazione ad Oggetti (9 CFU)&#039;&#039;&#039; per il Corso di Laurea in &#039;&#039;&#039;Informatica&#039;&#039;&#039;  e per l&#039;insegnamento di &#039;&#039;&#039;Introduzione alla Programmazione ad Oggetti (6 CFU)&#039;&#039;&#039; a partire dall&#039;AA 2008/2009.&lt;br /&gt;
&lt;br /&gt;
Si veda [http://{{SERVERNAME}}/didattica/lpo/ questa pagina] per informazioni su:&lt;br /&gt;
*Programmazione ad Oggetti (6 CFU - 2007/08)&lt;br /&gt;
*Linguaggi per la Programmazione ad Oggetti (6 CFU - fino al 2006/2007)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
&lt;br /&gt;
==Ultime news==&lt;br /&gt;
   È disponibile la traccia per il progetto da presentare all&#039;esame 2025/26.&lt;br /&gt;
   Nel 2025/26 l&#039;insegnamento si terr&amp;amp;agrave; nel secondo semestre.&lt;br /&gt;
&lt;br /&gt;
==Vecchie news==&lt;br /&gt;
&lt;br /&gt;
=== 2024/25 ===&lt;br /&gt;
   Le lezioni dell&#039;AA 2024/25 si svolgeranno in presenza a partire dal 25/9/2024.&lt;br /&gt;
&lt;br /&gt;
=== 2023/24 ===&lt;br /&gt;
 &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2023/24.&lt;br /&gt;
&lt;br /&gt;
 Le lezioni dell&#039;AA 2023/24 si svolgeranno in presenza a partire dal 27/9/2023.&lt;br /&gt;
&lt;br /&gt;
===2022/23===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2022/23.&lt;br /&gt;
  Le lezioni dell&#039;AA 2022/23 si svolgeranno in presenza a partire dal 28/9/2022.&lt;br /&gt;
&lt;br /&gt;
===2021/22===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2021/22&lt;br /&gt;
  Le lezioni dell&#039;AA 2021/22 si svolgeranno in presenza.&lt;br /&gt;
&lt;br /&gt;
===2020/21===&lt;br /&gt;
  Per l&#039;AA 2020/21 l&#039;esame scritto è sostituito dalla consegna anticipata del progetto.&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni dell&#039;AA 2020/21 si svolgeranno in modalità a distanza tramite la piattaforma Dolly (https://dolly.fim.unimore.it/2020)&lt;br /&gt;
&lt;br /&gt;
===2019/20===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 19/11/2019 si terr&amp;amp;agrave; alle 14 in aula L1.3.&lt;br /&gt;
  La lezione di venerd&amp;amp;igrave; 15/11/2019 non si terr&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
===2017/18===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Sono aperte le iscrizioni tramite ESSE3 al preppello scritto che si svolger&amp;amp;agrave; il 18 dicembre 2017 alle ore 8.45 in Aula M1.4.&lt;br /&gt;
&lt;br /&gt;
===2016/17===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
&lt;br /&gt;
===2015/16===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 29 settembre 2015 si terr&amp;amp;agrave; in aula M1.3 (Aula III) dalle 14 alle 17 invece che in laboratorio&lt;br /&gt;
  Il 21/12/15 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2014/15===&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; in aula M2.5 (ex aula X matematica) dalle 14 alle 17&lt;br /&gt;
  La mattina di luned&amp;amp;igrave; 1 dicembre 2014 sono sospese le lezioni per l&#039;inaugurazione dell&#039;anno accademico&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 24 novembre e mercoled&amp;amp;igrave; 26 novembre 2014 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 30 settembre 2014 si terr&amp;amp;agrave; in aula M1.5 (ex aula IV)&lt;br /&gt;
&lt;br /&gt;
===2013/14===&lt;br /&gt;
  Il 9/12/13 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 2/12/13 &amp;amp;egrave; spostata a marted&amp;amp;igrave; 2/12/13 al posto dell&#039;esercitazione&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 25/11/13 e mercoled&amp;amp;igrave; 27/11/13 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 24/9/13 si terr&amp;amp;agrave; in laboratorio BASE alle ore 14&lt;br /&gt;
&lt;br /&gt;
===2012/13===&lt;br /&gt;
  Il 12/12/12 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3, ma chi ha problemi puo&#039; mandare una email al docente entro il 9/12&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 21 novembre sar&amp;amp;agrave; sostituita da Linguaggi Formali e Compilatori del prof. Leoncini.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 2 ottobre si terr&amp;amp;agrave; in aula V.&lt;br /&gt;
  Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 a causa di un impegno all&#039;estero del docente.&lt;br /&gt;
&lt;br /&gt;
===2011/12===&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 7 dicembre si terr&amp;amp;agrave; regolarmente alle 11, l&#039;ing. Elton Domnori terr&amp;amp;agrave; un seminario sulla programmazione dei dispositivi mobili&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2011/12&lt;br /&gt;
  Luned&amp;amp;igrave; 5 dicembre si terr&amp;amp;agrave; il preappello scritto; &amp;amp;egrave; necessario iscriversi tramite ESSE3.&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 16 novembre &amp;amp;egrave; anticipata alle ore 9.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 7 novembre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 5 ottobre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 27 settembre si terr&amp;amp;agrave; in aula V e NON in laboratorio.&lt;br /&gt;
  &amp;amp;Egrave; stato definito l&#039;orario delle lezioni.&lt;br /&gt;
  Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011.&lt;br /&gt;
&lt;br /&gt;
===2010/11===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2010/11&lt;br /&gt;
  Le lezioni del mercoled&amp;amp;igrave; si tengono in aula V.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 21/12/10 si tiene in aula V&lt;br /&gt;
  Luned&amp;amp;igrave; 20 dicembre 2010 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto;&lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare, deve mandare una email al docente &lt;br /&gt;
  ENTRO venerd&amp;amp;igrave; 17/12 con nome, cognome e numero di matricola&lt;br /&gt;
  Le lezioni inizieranno l&#039;11 ottobre 2010.&lt;br /&gt;
&lt;br /&gt;
===2009/10===&lt;br /&gt;
  L&#039;esame scritto del 15 febbraio 2010 non si terr&amp;amp;agrave; per mancanza di iscritti&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 14/12/09&lt;br /&gt;
  &amp;amp;Egrave; disponibile una traccia del progetto da portare all&#039;esame&lt;br /&gt;
  L&#039;ultima lezione dell&#039;AA 2009/10 si terr&amp;amp;agrave; il 15 dicembre 2009&lt;br /&gt;
  Mercoled&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; una esercitazione sull&#039;esame scritto&lt;br /&gt;
  Luned&amp;amp;igrave; &#039;&#039;&#039;14 dicembre&#039;&#039;&#039; 2009 alle ore &#039;&#039;&#039;11&#039;&#039;&#039; in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto; &lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre 2009;&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 7 dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 1° dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;esercitazione del 30 settembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;appello scritto del 15 luglio 2009 non si terr&amp;amp;agrave; in quanto non c&#039;&amp;amp;egrave; nessun iscritto&lt;br /&gt;
  Venerd&amp;amp;igrave; 12 e sabato 13 giugno 2009 il sistema ESSE3 non sar&amp;amp;agrave; disponibile per iscriversi agli esami e neanche per compilare il questionario di valutazione&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 15/12/08&lt;br /&gt;
  Sono state pubblicate le date degli appelli della sessione straordinaria 2008/2009&lt;br /&gt;
  Sono disponibili alcuni esercizi per l&#039;appello scritto&lt;br /&gt;
  Luned&amp;amp;igrave; 15 dicembre 2008 si terr&amp;amp;agrave; un pre-appello scritto alle ore 11 in aula V a Matematica; per iscriversi contattare il docente&lt;br /&gt;
  I giorni 18 e 19 novembre 2008 non si svolgeranno le lezioni&lt;br /&gt;
  La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
  Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
&lt;br /&gt;
=Informazioni sul docente=&lt;br /&gt;
[[Image:docente.png|left|100px]]&lt;br /&gt;
&#039;&#039;&#039;[[Utente:Giacomo Cabri| Prof. Giacomo Cabri]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Università di Modena e Reggio Emilia, Via Campi 213/B - 41125 Modena&lt;br /&gt;
&lt;br /&gt;
Telefono 0592058320 - Fax 0592055216&lt;br /&gt;
&lt;br /&gt;
[mailto:giacomo.cabri@unimore.it giacomo.cabri@unimore.it]&lt;br /&gt;
&lt;br /&gt;
=Orario delle Lezioni=&lt;br /&gt;
&lt;br /&gt;
L&#039;orario ufficiale è riportato qui: [https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html]&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2025/26==&lt;br /&gt;
Le lezioni dell&#039;AA 2025/26 inizieranno il 25 febbraio 2026 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11  in aula M1.4 presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 9 alle 11 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2023/24==&lt;br /&gt;
Le lezioni dell&#039;AA 2023/24 inizieranno il 25 settembre 2023 con il seguente orario:&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2022/23==&lt;br /&gt;
Le lezioni dell&#039;AA 2022/23 inizieranno il 28 settembre 2022 con il seguente orario:&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2021/22==&lt;br /&gt;
Le lezioni dell&#039;AA 2021/22 inizieranno il 20 settembre 2021 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula L1.3 presso Fisica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2020/21==&lt;br /&gt;
Le lezioni dell&#039;AA 2020/21 inizieranno il 21 settembre 2020 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;grave; dalle 14 alle 17 a distanza&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2019/20==&lt;br /&gt;
Le lezioni dell&#039;AA 2019/20 inizieranno il 23 settembre 2019 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 10 alle 12 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 13 alle 16 in laboratorio BASE presso Matematica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 12 alle 14 in aula L1.3 presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2018/19==&lt;br /&gt;
Le lezioni dell&#039;AA 2018/19 inizieranno il 24 settembre 2018 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in laboratorio BASE presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.3 (ex aula III) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2017/18==&lt;br /&gt;
Le lezioni dell&#039;AA 2017/18 inizieranno il 25 settembre 2017 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2016/17==&lt;br /&gt;
Le lezioni dell&#039;AA 2016/17 inizieranno il 26 settembre 2016 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2015/16==&lt;br /&gt;
Le lezioni dell&#039;AA 2015/16 inizieranno il 28 settembre 2015 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2014/15==&lt;br /&gt;
Le lezioni dell&#039;AA 2014/15 avranno il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2013/14==&lt;br /&gt;
Le lezioni dell&#039;AA 2013/14 avranno  il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2012/13==&lt;br /&gt;
Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2011/12==&lt;br /&gt;
Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2010/11==&lt;br /&gt;
Le lezioni dell&#039;AA 2010/11 dovrebbero iniziare il 27 settembre 2010 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 9 alle 11 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2009/10==&lt;br /&gt;
Le lezioni dell&#039;AA 2009/10 inizieranno il 28 settembre 2009 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2008/09==&lt;br /&gt;
Le lezioni si tengono dal 29 settembre al 19 dicembre 2008 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
=Finalità Dell&#039;Insegnamento e Consigli Utili=&lt;br /&gt;
&lt;br /&gt;
L&#039;informatica odierna non consiste solo nel definire algoritmi e programmi che realizzano tali algoritmi, ma anche nel comporre architetture software e hardware sulla base di componenti software o hardware. Partendo da questo motivo dominante, l&#039;insegnamento affronta i seguenti argomenti:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;: verranno illustrati i concetti generali, quali incapsulamento, ereditarietà e polimorfismo; verranno accennati i concetti di riusabilità e di composizione dei componenti software, illustrando il passaggio dalla programmazione modulare alla programmazione ad oggetti.&lt;br /&gt;
* &#039;&#039;&#039;Il linguaggio Java&#039;&#039;&#039;: verrà utilizzato come esempio di linguaggio ad oggetti, spiegando come i concetti generali sono implementati in Java; verrà inoltre spiegato come Java può essere sfruttato per lo sviluppo di interfacce grafiche.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per superare agevolmente l&#039;esame si consiglia agli studenti di seguire con continuità le lezioni e le esercitazioni dell&#039;insegnamento. Inoltre, si consiglia di non focalizzare la preparazione dell&#039;esame esclusivamente sullo studio dei libri e degli appunti, ma piuttosto di preparare l&#039;esame sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l&#039;esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ambienti di Programmazione Utilizzati&#039;&#039;: Compilatore C, Java 1.5 di pubblico dominio (disponibili in laboratorio).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Programma dell&#039;insegnamento=&lt;br /&gt;
&#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;&lt;br /&gt;
*Concetti generali&lt;br /&gt;
*Il Linguaggio Java&lt;br /&gt;
*Classi ed ereditarietà in Java&lt;br /&gt;
*I/O in Java&lt;br /&gt;
*Interfacce grafiche in Java&lt;br /&gt;
*Programmazione basata sugli eventi&lt;br /&gt;
*Strutture dati in Java&lt;br /&gt;
*Thread in Java&lt;br /&gt;
&lt;br /&gt;
=Modalità D&#039;Esame=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21, a causa della situazione pandemica, la prova scritta è &#039;&#039;sostituita&#039;&#039; dalla consegna anticipata del progetto. Le conoscenze che precedentemente erano verificate tramite lo scritto, per il 2020/21 verranno verificate sul progetto realizzato.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame si compone di uno scritto e di una discussione di un programma in Java che lo studente deve presentare all&#039;esame (e la cui proposta di progetto deve essere stata preventivamente approvata dal docente). Per maggiori dettagli, vedere il seguito di questa pagina.&lt;br /&gt;
&lt;br /&gt;
==Esame scritto==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;:  nell&#039;AA 2020/21 non è prevista la prova scritta.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame scritto serve a verificare che lo studente abbia acquisito le nozioni di astrazione, classificazione, ereditarietà e polimorfismo.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame consiste nella modellazione di alcune entità e la relativa implementazione in Java.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; possibile vedere il testo di alcuni esercizi: &lt;br /&gt;
*[[Media:EserJava1.pdf|EserJava1]] (Calcolatrice)&lt;br /&gt;
*[[Media:EserJava2.pdf|EserJava2]] (Rettangolo)&lt;br /&gt;
*[[Media:EserJava3.pdf|EserJava3]] (Termometro)&lt;br /&gt;
*[[Media:EserJava4.pdf|EserJava4]] (Lettore da dispositivo) [[Media:SoluzioneEserJava4.pdf|SoluzioneEserJava4]]&lt;br /&gt;
*[[Media:EserJava5.pdf|EserJava5]] (Navigatore)&lt;br /&gt;
*[[Media:EserJava6.pdf|EserJava6]] (Particella)&lt;br /&gt;
*[[Media:EserJava7.pdf|EserJava7]] (Conto)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#per l&#039;iscrizione all&#039;esame scritto è necessario utilizzare &#039;&#039;&#039;ESSE3&#039;&#039;&#039; e iscriversi entro la scadenza (di norma 2-3 giorni prima dell&#039;appello scritto stesso, me &amp;amp;egrave; bene controllare su ESSE3); &lt;br /&gt;
#&amp;amp;egrave; necessario aver superato lo scritto per presentare il progetto;&lt;br /&gt;
#la presentazione del progetto pu&amp;amp;ograve; avvenire anche in un appello diverso da quello dello scritto;&lt;br /&gt;
#la consegna di uno scritto cancella il voto precedente; la partecipazione ad uno scritto &#039;&#039;senza&#039;&#039; consegnare non cancella il voto precedente;&lt;br /&gt;
#il voto dello scritto vale orientativamente 1 anno; contattare il docente entro l&#039;anno se non si riesce a presentare il progetto e si richiede una proroga della validit&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
==Modalità di Sviluppo del Progetto Java==&lt;br /&gt;
All&#039;esame si deve presentare e discutere un programma realizzato in Java e che presenti le seguenti caratteristiche:&lt;br /&gt;
&lt;br /&gt;
* Sia dotato di &#039;&#039;&#039;interfaccia grafica&#039;&#039;&#039; tramite cui interagire con il programma stesso.&lt;br /&gt;
* Sfrutti i meccanismi della programmazione ad oggetti: &lt;br /&gt;
**&#039;&#039;&#039;incapsulamento&#039;&#039;&#039;; &lt;br /&gt;
**&#039;&#039;&#039;ereditarietà&#039;&#039;&#039; e, se necessario, le classi astratte e le interfacce (si considerano &#039;&#039;&#039;escluse&#039;&#039;&#039; le relazioni di ereditarietà diretta da classi di libreria Java); &lt;br /&gt;
**&#039;&#039;&#039;polimorfismo&#039;&#039;&#039;.&lt;br /&gt;
* Sfrutti le classi di sistema Java per la gestione dell&#039;&#039;&#039;&#039;input/output&#039;&#039;&#039; (&amp;lt;tt&amp;gt;Reader&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Writer&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;InputStream&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;OutputStream&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Utilizzi le &#039;&#039;&#039;strutture dati&#039;&#039;&#039; di libreria e i &#039;&#039;&#039;generics&#039;&#039;&#039;, motivando le scelte fatte. &lt;br /&gt;
* Sia diviso coerente in &#039;&#039;&#039;package&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Gli studenti sono invitati a seguire la traccia fornita dal docente.&lt;br /&gt;
In casi particolari, uno studente pu&amp;amp;ograve; proporre una proporia traccia, che &#039;&#039;&#039;deve&#039;&#039;&#039; essere approvata dal docente (anche via email).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Il programma deve essere una applicazione Java e &#039;&#039;&#039;NON&#039;&#039;&#039; una applet. --&amp;gt;&lt;br /&gt;
Il programma deve essere eseguito da &#039;&#039;&#039;linea di comando&#039;&#039;&#039;; non devono essere usate librerie proprietarie (ad es. quelle degli ambienti integrati) a meno di averlo concordato con il docente.&lt;br /&gt;
È opportuno &#039;&#039;&#039;provare&#039;&#039;&#039; il proprio programma su un altro computer (ad es. in laboratorio) prima di presentarlo in sede d&#039;esame, per verificare la portabilità.&lt;br /&gt;
&lt;br /&gt;
Il software deve essere accompagnato da pagine di &#039;&#039;&#039;documentazione&#039;&#039;&#039; HTML (tipicamente le pagine generate tramite Javadoc o altri strumenti come Doxygen) che descrivano le scelte di progetto effettuate e la struttura del sistema software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- A progetto realizzato, si valuterà il progetto (e il voto conseguente), ferma restando la possibilità del docente (e dello studente) di richiedere l&#039;integrazione nel progetto di ulteriori funzionalità/caratteristiche. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il progetto va portato il giorno dell&#039;esame, su un supporto tipo chiavetta USB; portare anche il proprio PC per sicurezza. (&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21 il progetto va consegnato in anticipo).&lt;br /&gt;
&lt;br /&gt;
In casi eccezionali &amp;amp;egrave; possibile presentare progetti di gruppo (2 persone), posto che l&#039;ampiezza del progetto sia tale da giustificare il suo sviluppo cooperativo. In tale caso, comunque, la discussione sarà esplicitamente volta a valutare, per ciascuno dei componenti del gruppo, l&#039;effettiva padronanza d&#039;uso dei concetti di base della programmazione ad oggetti, del linguaggio Java e delle sue librerie Java, oltre naturalmente all&#039;apporto individuale dato al progetto globale da ogni singolo membro del gruppo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Problemi &#039;&#039;&#039;DA EVITARE&#039;&#039;&#039; in sede di esame:&lt;br /&gt;
*Il programma non funziona&lt;br /&gt;
*Manca qualcosa (di solito, la documentazione)&lt;br /&gt;
*Il progetto è diviso su pi&amp;amp;ugrave; programmi (eventualmente da concordare con il docente)&lt;br /&gt;
*L’ereditariet&amp;amp;agrave; &amp;amp;egrave; usata male&lt;br /&gt;
*&amp;quot;Non mi ricordo come funziona perch&amp;amp;eacute; ho fatto il programma tempo fa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Traccia ==&lt;br /&gt;
[[Image:tesina.png|right|90px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; disponibile il [[Media:Tesina2025-26.pdf| testo della traccia]] da svolgere per l&#039;anno accademico 2025/26.&lt;br /&gt;
Chi decide di svolgere il progetto proposto dalla traccia, non ha bisogno di approvazione.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2025-26.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2025/26.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2425.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2324.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2223.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2022/23.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2122.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2021/22.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2021.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2020/21.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1920.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2019/20.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1819.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2018/19.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1718.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2017/18.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1617.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2016/17.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1516.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2015/16.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1415.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2014/15.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1314.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2013/14.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1213.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2012/13.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1112.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2011/12.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1011.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2010/11.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina0910.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2009/10.&lt;br /&gt;
&lt;br /&gt;
=Appelli=&lt;br /&gt;
[[Image:iscrizione.png|90px|right]]&lt;br /&gt;
Le date degli appelli sono disponibili sul sito ESSE3 (http://www.esse3.unimore.it).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
del corso di laurea&lt;br /&gt;
all&#039;indirizzo&lt;br /&gt;
&lt;br /&gt;
http://informatica.scienze.unimo.it/lt/Esami.php&lt;br /&gt;
&lt;br /&gt;
Dall&#039;AA 2006/07 viene usata la verbalizzazione elettronica; chi vuole sostenere l&#039;esame DEVE quindi iscriversi tramite il [http://www.esse3.unimore.it sito di ESSE3].&lt;br /&gt;
&lt;br /&gt;
NOTA: sul sito di ESSE3 sono presenti le date degli appelli &#039;&#039;&#039;orali&#039;&#039;&#039;, per la presentazione dei progetto.&lt;br /&gt;
Per l&#039;iscrizione agli appelli &#039;&#039;&#039;scritti&#039;&#039;&#039; &amp;amp;egrave; necessario inviare una email al docente entro 2 giorni prima dell&#039;appello scritto stesso, usando l&#039;indirizzo email &#039;&#039;&#039;universitario&#039;&#039;&#039; e specificando &#039;&#039;&#039;nome&#039;&#039;&#039;, &#039;&#039;&#039;cognome&#039;&#039;&#039; e &#039;&#039;&#039;matricola&#039;&#039;&#039;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Preappello==&lt;br /&gt;
Luned&amp;amp;igrave; 14 dicembre 2009 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un preappello valido per l&#039;esame scritto.&lt;br /&gt;
&lt;br /&gt;
Chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre con nome, cognome e matricola.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Risultati=&lt;br /&gt;
&lt;br /&gt;
Da settembre 2011 i risultati vengono comunicati tramite ESSE3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[RisultatiPO|Risultati]] degli appelli scritti precedenti:&lt;br /&gt;
*16 febbraio 2011&lt;br /&gt;
*20 gennaio 2011&lt;br /&gt;
*20 dicembre 2010&lt;br /&gt;
*18 gennaio 2010&lt;br /&gt;
*14 dicembre 2009&lt;br /&gt;
*22 giugno 2009&lt;br /&gt;
*10 giugno 2009&lt;br /&gt;
*19 febbraio 2009&lt;br /&gt;
*14 gennaio 2009&lt;br /&gt;
*15 dicembre 2008&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Testi Consigliati=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testo Dell&#039;Insegnamento&#039;&#039;&#039;&lt;br /&gt;
[[Image:textbook.png|100px|right]]&lt;br /&gt;
*G. Cabri, F. Zambonelli, &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Altri Testi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* C.S. Horstmann, &amp;quot;Concetti di informatica e fondamenti di Java&amp;quot;, Apogeo.&lt;br /&gt;
* B. Eckel, &amp;quot;Thinking in Java&amp;quot;, 4 edizione italiana, Pearson, (scaricabile gratuitamente da Internet la versione inglese http://www.BruceEckel.com).&lt;br /&gt;
* Arnold, Gosling, Holmes, &amp;quot;Il linguaggio Java. Manuale ufficiale&amp;quot;, Pearson.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per chi vuole approfondire:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mazzanti, Milanese, &amp;quot;Programmazione di applicazioni grafiche in Java&amp;quot;, Apogeo.&lt;br /&gt;
* Gamma, Helm, Johnson, Vlissides, &amp;quot;Design Patterns&amp;quot;, Addison-Wesley.&lt;br /&gt;
* J.R. Hubbard, &amp;quot;Strutture dati in Java&amp;quot;, McGraw-Hill.&lt;br /&gt;
* M.A. Weiss, &amp;quot;Data Structures And Problem Solving Using Java&amp;quot;, 2nd Edition, Addison Wesley.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Slide Dell&#039;Insegnamento=&lt;br /&gt;
&lt;br /&gt;
Il materiale degli insegnamenti di Programmazione ad Oggetti e Introduzione alla Programmazione ad Oggetti &amp;amp;egrave; contenuto nel libro &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
In questa pagina sono riportate le slide usate a lezione.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IntroduzioneInsegnamentoPO.pdf| Introduzione all&#039;insegnamento]]&lt;br /&gt;
# [[Media:01-Motivazioni.pdf | Motivazioni]]&lt;br /&gt;
# [[Media:02-LimitiProgrammazioneTradizionale.pdf|Limiti della programmazione tradizionale]]&lt;br /&gt;
# [[Media:03-IntroOOP.pdf|Introduzione alla programmazione ad oggetti]]&lt;br /&gt;
# [[Media:04-IntroJava.pdf|Introduzione al linguaggio Java]]&lt;br /&gt;
# [[Media:05-OOPJava.pdf|OOP in Java]]&lt;br /&gt;
# [[Media:06-ClassiAstratteIntefacceJava.pdf|Classi astratte e interfacce]]&lt;br /&gt;
# [[Media:07-IOJava.pdf|I/O in Java]]&lt;br /&gt;
# [[Media:08-JavaGUI.pdf|GUI in Java]]&lt;br /&gt;
# [[Media:09-CostruttiAvanzatiJava.pdf|Costrutti avanzati Java]]&lt;br /&gt;
# [[Media:10-GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:11-StruttureDatiJava.pdf|Strutture dati in Java]]&lt;br /&gt;
# [[Media:12-ThreadJava.pdf|Thread in Java]]&lt;br /&gt;
&lt;br /&gt;
==C++==&lt;br /&gt;
&lt;br /&gt;
# [[Media:01_intro_da_java_a_cpp_.pdf | Introduzione da Java a C++]]&lt;br /&gt;
# [[Media:02_Strings&amp;amp;Templates.pdf | Strings e Templates]]&lt;br /&gt;
# [[Media:03_CppClasses.pdf | Classi in C++]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Vecchie slide&lt;br /&gt;
* [[index.php?title=Media:09-Applet.pdf|Applet in Java]] (fatte fino all&#039;AA 2015/16)&lt;br /&gt;
* [[index.php?title=Media:UML01-LinguaggioUML 1.pdf|UML (prima parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
* [[index.php?title=Media:UML02-LinguaggioUML 2.pdf|UML (seconda parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Media:Classi.pdf|Classi di memorizzazione in C]]&lt;br /&gt;
# [[Media:TabelleMenuLayout.pdf|Tabelle, menu e layout in Java]]&lt;br /&gt;
# [[Media:GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:NovitaJ2SE5.pdf|Novit&amp;amp;agrave; di Java 2 SE 5]]&lt;br /&gt;
&lt;br /&gt;
# [[Media:JavaClassAsInterfacce.pdf| Classi Astratte e Interfacce in Java]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seminari==&lt;br /&gt;
[[index.php?title=Media:SeminarioJavaInfolog2015.pdf|Seminario]] sull&#039;uso di Java in azienda (Infolog, 9/12/2015)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2017.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2017)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2018.pdf|Seminario]] su C# (Paolo Burgio, 3/12/2018)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2015.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2019) - [[index.php?title=Media:ConsoleApp4.zip|Codice]] presentato durante il seminario&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Esempi presentati a lezione =&lt;br /&gt;
[[Image:eserciziLezione.png|right]]&lt;br /&gt;
Gli esempi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma [http://www.adobe.com/it/ Adobe Acrobat], di pubblico domino, altri in semplice formato testo.&lt;br /&gt;
Tutti gli esercizi sono stati realizzati in collaborazione con la Prof. Letizia Leonardi.&lt;br /&gt;
&lt;br /&gt;
*[[index.php?title=Media:ContoCorrente.pdf|Conto corrente in C]]&lt;br /&gt;
*[[index.php?title=Media:IOBinario.pdf|I/O Binario]]&lt;br /&gt;
*[[index.php?title=Media:Calcolatrice.zip|Calcolatrice]]&lt;br /&gt;
*[[index.php?title=Media:GraficoFunzioni.zip|Grafico di funzioni]]&lt;br /&gt;
*[[index.php?title=Media:CampoStellare.zip|Campo stellare]]&lt;br /&gt;
&lt;br /&gt;
===Programmazione ad Oggetti e Java===&lt;br /&gt;
Gli esercizi sono gli stessi contenuti nei lucidi della parte teorica, ma da qui e&#039; possibile salvare su un file (facendo &amp;quot;salva link con nome&amp;quot;) il sorgente della gran parte degli esercizi.&lt;br /&gt;
&lt;br /&gt;
====Java: Le Classi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Classi&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=13|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:Counter.java|Counter.java]], [[index.php?title=Media:Esempio0.java|Esempio0.java]], [[index.php?title=Media:Esempio1.java|Esempio1.java]], [[index.php?title=Media:Esempio2.java|Esempio2.java]], [[index.php?title=Media:Esempio2bis.java|Esempio2bis.java]], [[index.php?title=Media:Esempio3.java|Esempio3.java]], [[index.php?title=Media:Esempio4.java|Esempio4.java]], [[index.php?title=Media:Esempio5.java|Esempio5.java]], [[index.php?title=Media:Esempio5bis.java|Esempio5bis.java]], [[index.php?title=Media:Esempio6.java|Esempio6.java]], [[index.php?title=Media:Esempio7.java|Esempio7.java]], [[index.php?title=Media:Point.java|Point.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Java: Classi Astratte e Interfacce====&lt;br /&gt;
====Java: Ereditarietà====&lt;br /&gt;
====Java: Le Eccezioni====&lt;br /&gt;
====Java: Input e Output====&lt;br /&gt;
====Java: Programmazione Grafica e ad Eventi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Grafica&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=36|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:CalcButton.java|CalcButton.java]], [[index.php?title=Media:CalcPanel.java|CalcPanel.java]], [[index.php?title=Media:Calculator.java|Calculator.java]], [[index.php?title=Media:Es10Panel.java|Es10Panel.java]], [[index.php?title=Media:Es11Panel.java|Es11Panel.java]], [[index.php?title=Media:Es12Panel.java|Es12Panel.java]], [[index.php?title=Media:Es13Panel.java|Es13Panel.java]], [[index.php?title=Media:Es14Panel.java|Es14Panel.java]], [[index.php?title=Media:Es15Panel.java|Es15Panel.java]], [[index.php?title=Media:Es16Panel.java|Es16Panel.java]], [[index.php?title=Media:Es7Panel.java|Es7Panel.java]], [[index.php?title=Media:Es8Panel.java|Es8Panel.java]], [[index.php?title=Media:Es9Panel.java|Es9Panel.java]], [[index.php?title=Media:EsSwing1.java|EsSwing1.java]], [[index.php?title=Media:EsSwing10.java|EsSwing10.java]], [[index.php?title=Media:EsSwing11.java|EsSwing11.java]], [[index.php?title=Media:EsSwing12.java|EsSwing12.java]], [[index.php?title=Media:EsSwing13.java|EsSwing13.java]], [[index.php?title=Media:EsSwing14.java|EsSwing14.java]], [[index.php?title=Media:EsSwing15.java|EsSwing15.java]], [[index.php?title=Media:EsSwing16.java|EsSwing16.java]], [[index.php?title=Media:EsSwing2.java|EsSwing2.java]], [[index.php?title=Media:EsSwing3.java|EsSwing3.java]], [[index.php?title=Media:EsSwing4.java|EsSwing4.java]], [[index.php?title=Media:EsSwing5.java|EsSwing5.java]], [[index.php?title=Media:EsSwing6.java|EsSwing6.java]], [[index.php?title=Media:EsSwing7.java|EsSwing7.java]], [[index.php?title=Media:EsSwing8.java|EsSwing8.java]], [[index.php?title=Media:EsSwing9.java|EsSwing9.java]], [[index.php?title=Media:EsSwingCalculator.java|EsSwingCalculator.java]], [[index.php?title=Media:FunctionPanel.java|FunctionPanel.java]], [[index.php?title=Media:ImgPanel.java|ImgPanel.java]], [[index.php?title=Media:MyFrame.java|MyFrame.java]], [[index.php?title=Media:MyPanel.java|MyPanel.java]], [[index.php?title=Media:Terminator.java|Terminator.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Java: Le Applet====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Applet&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=9|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Applet1.java|Applet1.java]], [[Media:Applet2.java|Applet2.java]], [[Media:Applet2Listener.java|Applet2Listener.java]], [[Media:Applet3.java|Applet3.java]], [[Media:Applet3Listener.java|Applet3Listener.java]], &lt;br /&gt;
[[Media:Applet4.java|Applet4.java]], [[Media:Applet5.java|Applet5.java]], [[Media:Application2.java|Application2.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Strumenti Software=&lt;br /&gt;
[[Image:strumenti.png|right]]&lt;br /&gt;
Si indicano di seguito gli strumenti software che si utilizzano durante l&#039;insegnamento e si indica dove e&#039; possibile reperirli.&lt;br /&gt;
&lt;br /&gt;
* Per sviluppare programmi in Java si utilizza il JDK (Java Development Kit). Si può scaricare:&lt;br /&gt;
**dal sito [https://www.oracle.com/java/technologies/downloads/ Java at Oracle]&lt;br /&gt;
**dal sito [https://openjdk.java.net OpenJDK]&lt;br /&gt;
* &#039;&#039;&#039;NOTA:&#039;&#039;&#039; &amp;amp;Egrave; necessario utilizzare una versione del JDK maggiore o uguale alla 1.5 (Java J2SE 5). Si consiglia almeno la versione 11.&lt;br /&gt;
&amp;lt;!--* Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio--&amp;gt;&lt;br /&gt;
* Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è [http://www.eclipse.org/ Eclipse].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
*È possibile, per la parte C soltanto, usare un ambiente di programmazione integrato per il C disponibile qui: [http://www.delorie.com/djgpp/ Il compilatore DJGPP]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Esercitazioni di laboratorio=&lt;br /&gt;
 &lt;br /&gt;
Gli esercizi di laboratorio si possono trovare nella seguente pagina: [[EserciziPO|Esercizi di Programmazione ad Oggetti]].&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:03_CppClasses.pdf&amp;diff=1080</id>
		<title>File:03 CppClasses.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:03_CppClasses.pdf&amp;diff=1080"/>
		<updated>2026-05-06T08:57:39Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1079</id>
		<title>Programmazione ad Oggetti</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1079"/>
		<updated>2026-05-06T08:56:22Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* C++ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&lt;br /&gt;
{{/box-testata|News|}}&lt;br /&gt;
{{/Evidenza}}&lt;br /&gt;
{{/box-fondo|[[Europa|Leggi la voce...]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{Userboxtop&lt;br /&gt;
| align = right&lt;br /&gt;
| backgroundcolor = lightyellow&lt;br /&gt;
| bordercolor = black&lt;br /&gt;
| extra-css =&lt;br /&gt;
| textcolor = &lt;br /&gt;
| toptext = NEWS&lt;br /&gt;
&amp;lt;!-- All of the parameters are optional. --&amp;gt;&lt;br /&gt;
&amp;lt;!--}}&lt;br /&gt;
La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
([[Wikipedia:Userboxes|Userboxes]] inserted here)&lt;br /&gt;
{{userboxbottom}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Questa pagina fornisce il materiale didattico e le informazioni relative all&#039;insegnamento di &#039;&#039;&#039;Programmazione ad Oggetti (9 CFU)&#039;&#039;&#039; per il Corso di Laurea in &#039;&#039;&#039;Informatica&#039;&#039;&#039;  e per l&#039;insegnamento di &#039;&#039;&#039;Introduzione alla Programmazione ad Oggetti (6 CFU)&#039;&#039;&#039; a partire dall&#039;AA 2008/2009.&lt;br /&gt;
&lt;br /&gt;
Si veda [http://{{SERVERNAME}}/didattica/lpo/ questa pagina] per informazioni su:&lt;br /&gt;
*Programmazione ad Oggetti (6 CFU - 2007/08)&lt;br /&gt;
*Linguaggi per la Programmazione ad Oggetti (6 CFU - fino al 2006/2007)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
&lt;br /&gt;
==Ultime news==&lt;br /&gt;
   È disponibile la traccia per il progetto da presentare all&#039;esame 2025/26.&lt;br /&gt;
   Nel 2025/26 l&#039;insegnamento si terr&amp;amp;agrave; nel secondo semestre.&lt;br /&gt;
&lt;br /&gt;
==Vecchie news==&lt;br /&gt;
&lt;br /&gt;
=== 2024/25 ===&lt;br /&gt;
   Le lezioni dell&#039;AA 2024/25 si svolgeranno in presenza a partire dal 25/9/2024.&lt;br /&gt;
&lt;br /&gt;
=== 2023/24 ===&lt;br /&gt;
 &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2023/24.&lt;br /&gt;
&lt;br /&gt;
 Le lezioni dell&#039;AA 2023/24 si svolgeranno in presenza a partire dal 27/9/2023.&lt;br /&gt;
&lt;br /&gt;
===2022/23===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2022/23.&lt;br /&gt;
  Le lezioni dell&#039;AA 2022/23 si svolgeranno in presenza a partire dal 28/9/2022.&lt;br /&gt;
&lt;br /&gt;
===2021/22===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2021/22&lt;br /&gt;
  Le lezioni dell&#039;AA 2021/22 si svolgeranno in presenza.&lt;br /&gt;
&lt;br /&gt;
===2020/21===&lt;br /&gt;
  Per l&#039;AA 2020/21 l&#039;esame scritto è sostituito dalla consegna anticipata del progetto.&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni dell&#039;AA 2020/21 si svolgeranno in modalità a distanza tramite la piattaforma Dolly (https://dolly.fim.unimore.it/2020)&lt;br /&gt;
&lt;br /&gt;
===2019/20===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 19/11/2019 si terr&amp;amp;agrave; alle 14 in aula L1.3.&lt;br /&gt;
  La lezione di venerd&amp;amp;igrave; 15/11/2019 non si terr&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
===2017/18===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Sono aperte le iscrizioni tramite ESSE3 al preppello scritto che si svolger&amp;amp;agrave; il 18 dicembre 2017 alle ore 8.45 in Aula M1.4.&lt;br /&gt;
&lt;br /&gt;
===2016/17===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
&lt;br /&gt;
===2015/16===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 29 settembre 2015 si terr&amp;amp;agrave; in aula M1.3 (Aula III) dalle 14 alle 17 invece che in laboratorio&lt;br /&gt;
  Il 21/12/15 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2014/15===&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; in aula M2.5 (ex aula X matematica) dalle 14 alle 17&lt;br /&gt;
  La mattina di luned&amp;amp;igrave; 1 dicembre 2014 sono sospese le lezioni per l&#039;inaugurazione dell&#039;anno accademico&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 24 novembre e mercoled&amp;amp;igrave; 26 novembre 2014 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 30 settembre 2014 si terr&amp;amp;agrave; in aula M1.5 (ex aula IV)&lt;br /&gt;
&lt;br /&gt;
===2013/14===&lt;br /&gt;
  Il 9/12/13 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 2/12/13 &amp;amp;egrave; spostata a marted&amp;amp;igrave; 2/12/13 al posto dell&#039;esercitazione&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 25/11/13 e mercoled&amp;amp;igrave; 27/11/13 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 24/9/13 si terr&amp;amp;agrave; in laboratorio BASE alle ore 14&lt;br /&gt;
&lt;br /&gt;
===2012/13===&lt;br /&gt;
  Il 12/12/12 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3, ma chi ha problemi puo&#039; mandare una email al docente entro il 9/12&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 21 novembre sar&amp;amp;agrave; sostituita da Linguaggi Formali e Compilatori del prof. Leoncini.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 2 ottobre si terr&amp;amp;agrave; in aula V.&lt;br /&gt;
  Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 a causa di un impegno all&#039;estero del docente.&lt;br /&gt;
&lt;br /&gt;
===2011/12===&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 7 dicembre si terr&amp;amp;agrave; regolarmente alle 11, l&#039;ing. Elton Domnori terr&amp;amp;agrave; un seminario sulla programmazione dei dispositivi mobili&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2011/12&lt;br /&gt;
  Luned&amp;amp;igrave; 5 dicembre si terr&amp;amp;agrave; il preappello scritto; &amp;amp;egrave; necessario iscriversi tramite ESSE3.&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 16 novembre &amp;amp;egrave; anticipata alle ore 9.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 7 novembre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 5 ottobre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 27 settembre si terr&amp;amp;agrave; in aula V e NON in laboratorio.&lt;br /&gt;
  &amp;amp;Egrave; stato definito l&#039;orario delle lezioni.&lt;br /&gt;
  Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011.&lt;br /&gt;
&lt;br /&gt;
===2010/11===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2010/11&lt;br /&gt;
  Le lezioni del mercoled&amp;amp;igrave; si tengono in aula V.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 21/12/10 si tiene in aula V&lt;br /&gt;
  Luned&amp;amp;igrave; 20 dicembre 2010 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto;&lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare, deve mandare una email al docente &lt;br /&gt;
  ENTRO venerd&amp;amp;igrave; 17/12 con nome, cognome e numero di matricola&lt;br /&gt;
  Le lezioni inizieranno l&#039;11 ottobre 2010.&lt;br /&gt;
&lt;br /&gt;
===2009/10===&lt;br /&gt;
  L&#039;esame scritto del 15 febbraio 2010 non si terr&amp;amp;agrave; per mancanza di iscritti&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 14/12/09&lt;br /&gt;
  &amp;amp;Egrave; disponibile una traccia del progetto da portare all&#039;esame&lt;br /&gt;
  L&#039;ultima lezione dell&#039;AA 2009/10 si terr&amp;amp;agrave; il 15 dicembre 2009&lt;br /&gt;
  Mercoled&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; una esercitazione sull&#039;esame scritto&lt;br /&gt;
  Luned&amp;amp;igrave; &#039;&#039;&#039;14 dicembre&#039;&#039;&#039; 2009 alle ore &#039;&#039;&#039;11&#039;&#039;&#039; in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto; &lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre 2009;&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 7 dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 1° dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;esercitazione del 30 settembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;appello scritto del 15 luglio 2009 non si terr&amp;amp;agrave; in quanto non c&#039;&amp;amp;egrave; nessun iscritto&lt;br /&gt;
  Venerd&amp;amp;igrave; 12 e sabato 13 giugno 2009 il sistema ESSE3 non sar&amp;amp;agrave; disponibile per iscriversi agli esami e neanche per compilare il questionario di valutazione&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 15/12/08&lt;br /&gt;
  Sono state pubblicate le date degli appelli della sessione straordinaria 2008/2009&lt;br /&gt;
  Sono disponibili alcuni esercizi per l&#039;appello scritto&lt;br /&gt;
  Luned&amp;amp;igrave; 15 dicembre 2008 si terr&amp;amp;agrave; un pre-appello scritto alle ore 11 in aula V a Matematica; per iscriversi contattare il docente&lt;br /&gt;
  I giorni 18 e 19 novembre 2008 non si svolgeranno le lezioni&lt;br /&gt;
  La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
  Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
&lt;br /&gt;
=Informazioni sul docente=&lt;br /&gt;
[[Image:docente.png|left|100px]]&lt;br /&gt;
&#039;&#039;&#039;[[Utente:Giacomo Cabri| Prof. Giacomo Cabri]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Università di Modena e Reggio Emilia, Via Campi 213/B - 41125 Modena&lt;br /&gt;
&lt;br /&gt;
Telefono 0592058320 - Fax 0592055216&lt;br /&gt;
&lt;br /&gt;
[mailto:giacomo.cabri@unimore.it giacomo.cabri@unimore.it]&lt;br /&gt;
&lt;br /&gt;
=Orario delle Lezioni=&lt;br /&gt;
&lt;br /&gt;
L&#039;orario ufficiale è riportato qui: [https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html]&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2025/26==&lt;br /&gt;
Le lezioni dell&#039;AA 2025/26 inizieranno il 25 febbraio 2026 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11  in aula M1.4 presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 9 alle 11 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2023/24==&lt;br /&gt;
Le lezioni dell&#039;AA 2023/24 inizieranno il 25 settembre 2023 con il seguente orario:&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2022/23==&lt;br /&gt;
Le lezioni dell&#039;AA 2022/23 inizieranno il 28 settembre 2022 con il seguente orario:&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2021/22==&lt;br /&gt;
Le lezioni dell&#039;AA 2021/22 inizieranno il 20 settembre 2021 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula L1.3 presso Fisica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2020/21==&lt;br /&gt;
Le lezioni dell&#039;AA 2020/21 inizieranno il 21 settembre 2020 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;grave; dalle 14 alle 17 a distanza&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2019/20==&lt;br /&gt;
Le lezioni dell&#039;AA 2019/20 inizieranno il 23 settembre 2019 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 10 alle 12 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 13 alle 16 in laboratorio BASE presso Matematica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 12 alle 14 in aula L1.3 presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2018/19==&lt;br /&gt;
Le lezioni dell&#039;AA 2018/19 inizieranno il 24 settembre 2018 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in laboratorio BASE presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.3 (ex aula III) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2017/18==&lt;br /&gt;
Le lezioni dell&#039;AA 2017/18 inizieranno il 25 settembre 2017 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2016/17==&lt;br /&gt;
Le lezioni dell&#039;AA 2016/17 inizieranno il 26 settembre 2016 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2015/16==&lt;br /&gt;
Le lezioni dell&#039;AA 2015/16 inizieranno il 28 settembre 2015 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2014/15==&lt;br /&gt;
Le lezioni dell&#039;AA 2014/15 avranno il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2013/14==&lt;br /&gt;
Le lezioni dell&#039;AA 2013/14 avranno  il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2012/13==&lt;br /&gt;
Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2011/12==&lt;br /&gt;
Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2010/11==&lt;br /&gt;
Le lezioni dell&#039;AA 2010/11 dovrebbero iniziare il 27 settembre 2010 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 9 alle 11 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2009/10==&lt;br /&gt;
Le lezioni dell&#039;AA 2009/10 inizieranno il 28 settembre 2009 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2008/09==&lt;br /&gt;
Le lezioni si tengono dal 29 settembre al 19 dicembre 2008 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
=Finalità Dell&#039;Insegnamento e Consigli Utili=&lt;br /&gt;
&lt;br /&gt;
L&#039;informatica odierna non consiste solo nel definire algoritmi e programmi che realizzano tali algoritmi, ma anche nel comporre architetture software e hardware sulla base di componenti software o hardware. Partendo da questo motivo dominante, l&#039;insegnamento affronta i seguenti argomenti:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;: verranno illustrati i concetti generali, quali incapsulamento, ereditarietà e polimorfismo; verranno accennati i concetti di riusabilità e di composizione dei componenti software, illustrando il passaggio dalla programmazione modulare alla programmazione ad oggetti.&lt;br /&gt;
* &#039;&#039;&#039;Il linguaggio Java&#039;&#039;&#039;: verrà utilizzato come esempio di linguaggio ad oggetti, spiegando come i concetti generali sono implementati in Java; verrà inoltre spiegato come Java può essere sfruttato per lo sviluppo di interfacce grafiche.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per superare agevolmente l&#039;esame si consiglia agli studenti di seguire con continuità le lezioni e le esercitazioni dell&#039;insegnamento. Inoltre, si consiglia di non focalizzare la preparazione dell&#039;esame esclusivamente sullo studio dei libri e degli appunti, ma piuttosto di preparare l&#039;esame sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l&#039;esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ambienti di Programmazione Utilizzati&#039;&#039;: Compilatore C, Java 1.5 di pubblico dominio (disponibili in laboratorio).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Programma dell&#039;insegnamento=&lt;br /&gt;
&#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;&lt;br /&gt;
*Concetti generali&lt;br /&gt;
*Il Linguaggio Java&lt;br /&gt;
*Classi ed ereditarietà in Java&lt;br /&gt;
*I/O in Java&lt;br /&gt;
*Interfacce grafiche in Java&lt;br /&gt;
*Programmazione basata sugli eventi&lt;br /&gt;
*Strutture dati in Java&lt;br /&gt;
*Thread in Java&lt;br /&gt;
&lt;br /&gt;
=Modalità D&#039;Esame=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21, a causa della situazione pandemica, la prova scritta è &#039;&#039;sostituita&#039;&#039; dalla consegna anticipata del progetto. Le conoscenze che precedentemente erano verificate tramite lo scritto, per il 2020/21 verranno verificate sul progetto realizzato.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame si compone di uno scritto e di una discussione di un programma in Java che lo studente deve presentare all&#039;esame (e la cui proposta di progetto deve essere stata preventivamente approvata dal docente). Per maggiori dettagli, vedere il seguito di questa pagina.&lt;br /&gt;
&lt;br /&gt;
==Esame scritto==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;:  nell&#039;AA 2020/21 non è prevista la prova scritta.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame scritto serve a verificare che lo studente abbia acquisito le nozioni di astrazione, classificazione, ereditarietà e polimorfismo.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame consiste nella modellazione di alcune entità e la relativa implementazione in Java.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; possibile vedere il testo di alcuni esercizi: &lt;br /&gt;
*[[Media:EserJava1.pdf|EserJava1]] (Calcolatrice)&lt;br /&gt;
*[[Media:EserJava2.pdf|EserJava2]] (Rettangolo)&lt;br /&gt;
*[[Media:EserJava3.pdf|EserJava3]] (Termometro)&lt;br /&gt;
*[[Media:EserJava4.pdf|EserJava4]] (Lettore da dispositivo) [[Media:SoluzioneEserJava4.pdf|SoluzioneEserJava4]]&lt;br /&gt;
*[[Media:EserJava5.pdf|EserJava5]] (Navigatore)&lt;br /&gt;
*[[Media:EserJava6.pdf|EserJava6]] (Particella)&lt;br /&gt;
*[[Media:EserJava7.pdf|EserJava7]] (Conto)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#per l&#039;iscrizione all&#039;esame scritto è necessario utilizzare &#039;&#039;&#039;ESSE3&#039;&#039;&#039; e iscriversi entro la scadenza (di norma 2-3 giorni prima dell&#039;appello scritto stesso, me &amp;amp;egrave; bene controllare su ESSE3); &lt;br /&gt;
#&amp;amp;egrave; necessario aver superato lo scritto per presentare il progetto;&lt;br /&gt;
#la presentazione del progetto pu&amp;amp;ograve; avvenire anche in un appello diverso da quello dello scritto;&lt;br /&gt;
#la consegna di uno scritto cancella il voto precedente; la partecipazione ad uno scritto &#039;&#039;senza&#039;&#039; consegnare non cancella il voto precedente;&lt;br /&gt;
#il voto dello scritto vale orientativamente 1 anno; contattare il docente entro l&#039;anno se non si riesce a presentare il progetto e si richiede una proroga della validit&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
==Modalità di Sviluppo del Progetto Java==&lt;br /&gt;
All&#039;esame si deve presentare e discutere un programma realizzato in Java e che presenti le seguenti caratteristiche:&lt;br /&gt;
&lt;br /&gt;
* Sia dotato di &#039;&#039;&#039;interfaccia grafica&#039;&#039;&#039; tramite cui interagire con il programma stesso.&lt;br /&gt;
* Sfrutti i meccanismi della programmazione ad oggetti: &lt;br /&gt;
**&#039;&#039;&#039;incapsulamento&#039;&#039;&#039;; &lt;br /&gt;
**&#039;&#039;&#039;ereditarietà&#039;&#039;&#039; e, se necessario, le classi astratte e le interfacce (si considerano &#039;&#039;&#039;escluse&#039;&#039;&#039; le relazioni di ereditarietà diretta da classi di libreria Java); &lt;br /&gt;
**&#039;&#039;&#039;polimorfismo&#039;&#039;&#039;.&lt;br /&gt;
* Sfrutti le classi di sistema Java per la gestione dell&#039;&#039;&#039;&#039;input/output&#039;&#039;&#039; (&amp;lt;tt&amp;gt;Reader&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Writer&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;InputStream&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;OutputStream&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Utilizzi le &#039;&#039;&#039;strutture dati&#039;&#039;&#039; di libreria e i &#039;&#039;&#039;generics&#039;&#039;&#039;, motivando le scelte fatte. &lt;br /&gt;
* Sia diviso coerente in &#039;&#039;&#039;package&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Gli studenti sono invitati a seguire la traccia fornita dal docente.&lt;br /&gt;
In casi particolari, uno studente pu&amp;amp;ograve; proporre una proporia traccia, che &#039;&#039;&#039;deve&#039;&#039;&#039; essere approvata dal docente (anche via email).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Il programma deve essere una applicazione Java e &#039;&#039;&#039;NON&#039;&#039;&#039; una applet. --&amp;gt;&lt;br /&gt;
Il programma deve essere eseguito da &#039;&#039;&#039;linea di comando&#039;&#039;&#039;; non devono essere usate librerie proprietarie (ad es. quelle degli ambienti integrati) a meno di averlo concordato con il docente.&lt;br /&gt;
È opportuno &#039;&#039;&#039;provare&#039;&#039;&#039; il proprio programma su un altro computer (ad es. in laboratorio) prima di presentarlo in sede d&#039;esame, per verificare la portabilità.&lt;br /&gt;
&lt;br /&gt;
Il software deve essere accompagnato da pagine di &#039;&#039;&#039;documentazione&#039;&#039;&#039; HTML (tipicamente le pagine generate tramite Javadoc o altri strumenti come Doxygen) che descrivano le scelte di progetto effettuate e la struttura del sistema software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- A progetto realizzato, si valuterà il progetto (e il voto conseguente), ferma restando la possibilità del docente (e dello studente) di richiedere l&#039;integrazione nel progetto di ulteriori funzionalità/caratteristiche. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il progetto va portato il giorno dell&#039;esame, su un supporto tipo chiavetta USB; portare anche il proprio PC per sicurezza. (&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21 il progetto va consegnato in anticipo).&lt;br /&gt;
&lt;br /&gt;
In casi eccezionali &amp;amp;egrave; possibile presentare progetti di gruppo (2 persone), posto che l&#039;ampiezza del progetto sia tale da giustificare il suo sviluppo cooperativo. In tale caso, comunque, la discussione sarà esplicitamente volta a valutare, per ciascuno dei componenti del gruppo, l&#039;effettiva padronanza d&#039;uso dei concetti di base della programmazione ad oggetti, del linguaggio Java e delle sue librerie Java, oltre naturalmente all&#039;apporto individuale dato al progetto globale da ogni singolo membro del gruppo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Problemi &#039;&#039;&#039;DA EVITARE&#039;&#039;&#039; in sede di esame:&lt;br /&gt;
*Il programma non funziona&lt;br /&gt;
*Manca qualcosa (di solito, la documentazione)&lt;br /&gt;
*Il progetto è diviso su pi&amp;amp;ugrave; programmi (eventualmente da concordare con il docente)&lt;br /&gt;
*L’ereditariet&amp;amp;agrave; &amp;amp;egrave; usata male&lt;br /&gt;
*&amp;quot;Non mi ricordo come funziona perch&amp;amp;eacute; ho fatto il programma tempo fa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Traccia ==&lt;br /&gt;
[[Image:tesina.png|right|90px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; disponibile il [[Media:Tesina2025-26.pdf| testo della traccia]] da svolgere per l&#039;anno accademico 2025/26.&lt;br /&gt;
Chi decide di svolgere il progetto proposto dalla traccia, non ha bisogno di approvazione.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2025-26.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2025/26.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2425.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2324.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2223.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2022/23.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2122.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2021/22.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2021.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2020/21.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1920.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2019/20.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1819.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2018/19.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1718.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2017/18.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1617.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2016/17.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1516.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2015/16.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1415.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2014/15.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1314.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2013/14.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1213.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2012/13.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1112.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2011/12.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1011.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2010/11.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina0910.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2009/10.&lt;br /&gt;
&lt;br /&gt;
=Appelli=&lt;br /&gt;
[[Image:iscrizione.png|90px|right]]&lt;br /&gt;
Le date degli appelli sono disponibili sul sito ESSE3 (http://www.esse3.unimore.it).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
del corso di laurea&lt;br /&gt;
all&#039;indirizzo&lt;br /&gt;
&lt;br /&gt;
http://informatica.scienze.unimo.it/lt/Esami.php&lt;br /&gt;
&lt;br /&gt;
Dall&#039;AA 2006/07 viene usata la verbalizzazione elettronica; chi vuole sostenere l&#039;esame DEVE quindi iscriversi tramite il [http://www.esse3.unimore.it sito di ESSE3].&lt;br /&gt;
&lt;br /&gt;
NOTA: sul sito di ESSE3 sono presenti le date degli appelli &#039;&#039;&#039;orali&#039;&#039;&#039;, per la presentazione dei progetto.&lt;br /&gt;
Per l&#039;iscrizione agli appelli &#039;&#039;&#039;scritti&#039;&#039;&#039; &amp;amp;egrave; necessario inviare una email al docente entro 2 giorni prima dell&#039;appello scritto stesso, usando l&#039;indirizzo email &#039;&#039;&#039;universitario&#039;&#039;&#039; e specificando &#039;&#039;&#039;nome&#039;&#039;&#039;, &#039;&#039;&#039;cognome&#039;&#039;&#039; e &#039;&#039;&#039;matricola&#039;&#039;&#039;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Preappello==&lt;br /&gt;
Luned&amp;amp;igrave; 14 dicembre 2009 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un preappello valido per l&#039;esame scritto.&lt;br /&gt;
&lt;br /&gt;
Chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre con nome, cognome e matricola.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Risultati=&lt;br /&gt;
&lt;br /&gt;
Da settembre 2011 i risultati vengono comunicati tramite ESSE3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[RisultatiPO|Risultati]] degli appelli scritti precedenti:&lt;br /&gt;
*16 febbraio 2011&lt;br /&gt;
*20 gennaio 2011&lt;br /&gt;
*20 dicembre 2010&lt;br /&gt;
*18 gennaio 2010&lt;br /&gt;
*14 dicembre 2009&lt;br /&gt;
*22 giugno 2009&lt;br /&gt;
*10 giugno 2009&lt;br /&gt;
*19 febbraio 2009&lt;br /&gt;
*14 gennaio 2009&lt;br /&gt;
*15 dicembre 2008&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Testi Consigliati=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testo Dell&#039;Insegnamento&#039;&#039;&#039;&lt;br /&gt;
[[Image:textbook.png|100px|right]]&lt;br /&gt;
*G. Cabri, F. Zambonelli, &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Altri Testi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* C.S. Horstmann, &amp;quot;Concetti di informatica e fondamenti di Java&amp;quot;, Apogeo.&lt;br /&gt;
* B. Eckel, &amp;quot;Thinking in Java&amp;quot;, 4 edizione italiana, Pearson, (scaricabile gratuitamente da Internet la versione inglese http://www.BruceEckel.com).&lt;br /&gt;
* Arnold, Gosling, Holmes, &amp;quot;Il linguaggio Java. Manuale ufficiale&amp;quot;, Pearson.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per chi vuole approfondire:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mazzanti, Milanese, &amp;quot;Programmazione di applicazioni grafiche in Java&amp;quot;, Apogeo.&lt;br /&gt;
* Gamma, Helm, Johnson, Vlissides, &amp;quot;Design Patterns&amp;quot;, Addison-Wesley.&lt;br /&gt;
* J.R. Hubbard, &amp;quot;Strutture dati in Java&amp;quot;, McGraw-Hill.&lt;br /&gt;
* M.A. Weiss, &amp;quot;Data Structures And Problem Solving Using Java&amp;quot;, 2nd Edition, Addison Wesley.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Slide Dell&#039;Insegnamento=&lt;br /&gt;
&lt;br /&gt;
Il materiale degli insegnamenti di Programmazione ad Oggetti e Introduzione alla Programmazione ad Oggetti &amp;amp;egrave; contenuto nel libro &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
In questa pagina sono riportate le slide usate a lezione.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IntroduzioneInsegnamentoPO.pdf| Introduzione all&#039;insegnamento]]&lt;br /&gt;
# [[Media:01-Motivazioni.pdf | Motivazioni]]&lt;br /&gt;
# [[Media:02-LimitiProgrammazioneTradizionale.pdf|Limiti della programmazione tradizionale]]&lt;br /&gt;
# [[Media:03-IntroOOP.pdf|Introduzione alla programmazione ad oggetti]]&lt;br /&gt;
# [[Media:04-IntroJava.pdf|Introduzione al linguaggio Java]]&lt;br /&gt;
# [[Media:05-OOPJava.pdf|OOP in Java]]&lt;br /&gt;
# [[Media:06-ClassiAstratteIntefacceJava.pdf|Classi astratte e interfacce]]&lt;br /&gt;
# [[Media:07-IOJava.pdf|I/O in Java]]&lt;br /&gt;
# [[Media:08-JavaGUI.pdf|GUI in Java]]&lt;br /&gt;
# [[Media:09-CostruttiAvanzatiJava.pdf|Costrutti avanzati Java]]&lt;br /&gt;
# [[Media:10-GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:11-StruttureDatiJava.pdf|Strutture dati in Java]]&lt;br /&gt;
# [[Media:12-ThreadJava.pdf|Thread in Java]]&lt;br /&gt;
&lt;br /&gt;
==C++==&lt;br /&gt;
&lt;br /&gt;
# [[Media:01_intro_da_java_a_cpp_.pdf | Introduzione da Java a C++]]&lt;br /&gt;
# [[Media:02_Strings&amp;amp;Templates.pdf | Strings e Templates]]&lt;br /&gt;
# [[Media:03__CppClasses.pdf | Classi in C++]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Vecchie slide&lt;br /&gt;
* [[index.php?title=Media:09-Applet.pdf|Applet in Java]] (fatte fino all&#039;AA 2015/16)&lt;br /&gt;
* [[index.php?title=Media:UML01-LinguaggioUML 1.pdf|UML (prima parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
* [[index.php?title=Media:UML02-LinguaggioUML 2.pdf|UML (seconda parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Media:Classi.pdf|Classi di memorizzazione in C]]&lt;br /&gt;
# [[Media:TabelleMenuLayout.pdf|Tabelle, menu e layout in Java]]&lt;br /&gt;
# [[Media:GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:NovitaJ2SE5.pdf|Novit&amp;amp;agrave; di Java 2 SE 5]]&lt;br /&gt;
&lt;br /&gt;
# [[Media:JavaClassAsInterfacce.pdf| Classi Astratte e Interfacce in Java]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seminari==&lt;br /&gt;
[[index.php?title=Media:SeminarioJavaInfolog2015.pdf|Seminario]] sull&#039;uso di Java in azienda (Infolog, 9/12/2015)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2017.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2017)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2018.pdf|Seminario]] su C# (Paolo Burgio, 3/12/2018)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2015.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2019) - [[index.php?title=Media:ConsoleApp4.zip|Codice]] presentato durante il seminario&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Esempi presentati a lezione =&lt;br /&gt;
[[Image:eserciziLezione.png|right]]&lt;br /&gt;
Gli esempi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma [http://www.adobe.com/it/ Adobe Acrobat], di pubblico domino, altri in semplice formato testo.&lt;br /&gt;
Tutti gli esercizi sono stati realizzati in collaborazione con la Prof. Letizia Leonardi.&lt;br /&gt;
&lt;br /&gt;
*[[index.php?title=Media:ContoCorrente.pdf|Conto corrente in C]]&lt;br /&gt;
*[[index.php?title=Media:IOBinario.pdf|I/O Binario]]&lt;br /&gt;
*[[index.php?title=Media:Calcolatrice.zip|Calcolatrice]]&lt;br /&gt;
*[[index.php?title=Media:GraficoFunzioni.zip|Grafico di funzioni]]&lt;br /&gt;
*[[index.php?title=Media:CampoStellare.zip|Campo stellare]]&lt;br /&gt;
&lt;br /&gt;
===Programmazione ad Oggetti e Java===&lt;br /&gt;
Gli esercizi sono gli stessi contenuti nei lucidi della parte teorica, ma da qui e&#039; possibile salvare su un file (facendo &amp;quot;salva link con nome&amp;quot;) il sorgente della gran parte degli esercizi.&lt;br /&gt;
&lt;br /&gt;
====Java: Le Classi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Classi&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=13|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:Counter.java|Counter.java]], [[index.php?title=Media:Esempio0.java|Esempio0.java]], [[index.php?title=Media:Esempio1.java|Esempio1.java]], [[index.php?title=Media:Esempio2.java|Esempio2.java]], [[index.php?title=Media:Esempio2bis.java|Esempio2bis.java]], [[index.php?title=Media:Esempio3.java|Esempio3.java]], [[index.php?title=Media:Esempio4.java|Esempio4.java]], [[index.php?title=Media:Esempio5.java|Esempio5.java]], [[index.php?title=Media:Esempio5bis.java|Esempio5bis.java]], [[index.php?title=Media:Esempio6.java|Esempio6.java]], [[index.php?title=Media:Esempio7.java|Esempio7.java]], [[index.php?title=Media:Point.java|Point.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Java: Classi Astratte e Interfacce====&lt;br /&gt;
====Java: Ereditarietà====&lt;br /&gt;
====Java: Le Eccezioni====&lt;br /&gt;
====Java: Input e Output====&lt;br /&gt;
====Java: Programmazione Grafica e ad Eventi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Grafica&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=36|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:CalcButton.java|CalcButton.java]], [[index.php?title=Media:CalcPanel.java|CalcPanel.java]], [[index.php?title=Media:Calculator.java|Calculator.java]], [[index.php?title=Media:Es10Panel.java|Es10Panel.java]], [[index.php?title=Media:Es11Panel.java|Es11Panel.java]], [[index.php?title=Media:Es12Panel.java|Es12Panel.java]], [[index.php?title=Media:Es13Panel.java|Es13Panel.java]], [[index.php?title=Media:Es14Panel.java|Es14Panel.java]], [[index.php?title=Media:Es15Panel.java|Es15Panel.java]], [[index.php?title=Media:Es16Panel.java|Es16Panel.java]], [[index.php?title=Media:Es7Panel.java|Es7Panel.java]], [[index.php?title=Media:Es8Panel.java|Es8Panel.java]], [[index.php?title=Media:Es9Panel.java|Es9Panel.java]], [[index.php?title=Media:EsSwing1.java|EsSwing1.java]], [[index.php?title=Media:EsSwing10.java|EsSwing10.java]], [[index.php?title=Media:EsSwing11.java|EsSwing11.java]], [[index.php?title=Media:EsSwing12.java|EsSwing12.java]], [[index.php?title=Media:EsSwing13.java|EsSwing13.java]], [[index.php?title=Media:EsSwing14.java|EsSwing14.java]], [[index.php?title=Media:EsSwing15.java|EsSwing15.java]], [[index.php?title=Media:EsSwing16.java|EsSwing16.java]], [[index.php?title=Media:EsSwing2.java|EsSwing2.java]], [[index.php?title=Media:EsSwing3.java|EsSwing3.java]], [[index.php?title=Media:EsSwing4.java|EsSwing4.java]], [[index.php?title=Media:EsSwing5.java|EsSwing5.java]], [[index.php?title=Media:EsSwing6.java|EsSwing6.java]], [[index.php?title=Media:EsSwing7.java|EsSwing7.java]], [[index.php?title=Media:EsSwing8.java|EsSwing8.java]], [[index.php?title=Media:EsSwing9.java|EsSwing9.java]], [[index.php?title=Media:EsSwingCalculator.java|EsSwingCalculator.java]], [[index.php?title=Media:FunctionPanel.java|FunctionPanel.java]], [[index.php?title=Media:ImgPanel.java|ImgPanel.java]], [[index.php?title=Media:MyFrame.java|MyFrame.java]], [[index.php?title=Media:MyPanel.java|MyPanel.java]], [[index.php?title=Media:Terminator.java|Terminator.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Java: Le Applet====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Applet&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=9|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Applet1.java|Applet1.java]], [[Media:Applet2.java|Applet2.java]], [[Media:Applet2Listener.java|Applet2Listener.java]], [[Media:Applet3.java|Applet3.java]], [[Media:Applet3Listener.java|Applet3Listener.java]], &lt;br /&gt;
[[Media:Applet4.java|Applet4.java]], [[Media:Applet5.java|Applet5.java]], [[Media:Application2.java|Application2.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Strumenti Software=&lt;br /&gt;
[[Image:strumenti.png|right]]&lt;br /&gt;
Si indicano di seguito gli strumenti software che si utilizzano durante l&#039;insegnamento e si indica dove e&#039; possibile reperirli.&lt;br /&gt;
&lt;br /&gt;
* Per sviluppare programmi in Java si utilizza il JDK (Java Development Kit). Si può scaricare:&lt;br /&gt;
**dal sito [https://www.oracle.com/java/technologies/downloads/ Java at Oracle]&lt;br /&gt;
**dal sito [https://openjdk.java.net OpenJDK]&lt;br /&gt;
* &#039;&#039;&#039;NOTA:&#039;&#039;&#039; &amp;amp;Egrave; necessario utilizzare una versione del JDK maggiore o uguale alla 1.5 (Java J2SE 5). Si consiglia almeno la versione 11.&lt;br /&gt;
&amp;lt;!--* Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio--&amp;gt;&lt;br /&gt;
* Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è [http://www.eclipse.org/ Eclipse].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
*È possibile, per la parte C soltanto, usare un ambiente di programmazione integrato per il C disponibile qui: [http://www.delorie.com/djgpp/ Il compilatore DJGPP]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Esercitazioni di laboratorio=&lt;br /&gt;
 &lt;br /&gt;
Gli esercizi di laboratorio si possono trovare nella seguente pagina: [[EserciziPO|Esercizi di Programmazione ad Oggetti]].&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1078</id>
		<title>Programmazione ad Oggetti</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1078"/>
		<updated>2026-04-29T15:48:30Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Orario delle Lezioni */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&lt;br /&gt;
{{/box-testata|News|}}&lt;br /&gt;
{{/Evidenza}}&lt;br /&gt;
{{/box-fondo|[[Europa|Leggi la voce...]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{Userboxtop&lt;br /&gt;
| align = right&lt;br /&gt;
| backgroundcolor = lightyellow&lt;br /&gt;
| bordercolor = black&lt;br /&gt;
| extra-css =&lt;br /&gt;
| textcolor = &lt;br /&gt;
| toptext = NEWS&lt;br /&gt;
&amp;lt;!-- All of the parameters are optional. --&amp;gt;&lt;br /&gt;
&amp;lt;!--}}&lt;br /&gt;
La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
([[Wikipedia:Userboxes|Userboxes]] inserted here)&lt;br /&gt;
{{userboxbottom}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Questa pagina fornisce il materiale didattico e le informazioni relative all&#039;insegnamento di &#039;&#039;&#039;Programmazione ad Oggetti (9 CFU)&#039;&#039;&#039; per il Corso di Laurea in &#039;&#039;&#039;Informatica&#039;&#039;&#039;  e per l&#039;insegnamento di &#039;&#039;&#039;Introduzione alla Programmazione ad Oggetti (6 CFU)&#039;&#039;&#039; a partire dall&#039;AA 2008/2009.&lt;br /&gt;
&lt;br /&gt;
Si veda [http://{{SERVERNAME}}/didattica/lpo/ questa pagina] per informazioni su:&lt;br /&gt;
*Programmazione ad Oggetti (6 CFU - 2007/08)&lt;br /&gt;
*Linguaggi per la Programmazione ad Oggetti (6 CFU - fino al 2006/2007)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
&lt;br /&gt;
==Ultime news==&lt;br /&gt;
   È disponibile la traccia per il progetto da presentare all&#039;esame 2025/26.&lt;br /&gt;
   Nel 2025/26 l&#039;insegnamento si terr&amp;amp;agrave; nel secondo semestre.&lt;br /&gt;
&lt;br /&gt;
==Vecchie news==&lt;br /&gt;
&lt;br /&gt;
=== 2024/25 ===&lt;br /&gt;
   Le lezioni dell&#039;AA 2024/25 si svolgeranno in presenza a partire dal 25/9/2024.&lt;br /&gt;
&lt;br /&gt;
=== 2023/24 ===&lt;br /&gt;
 &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2023/24.&lt;br /&gt;
&lt;br /&gt;
 Le lezioni dell&#039;AA 2023/24 si svolgeranno in presenza a partire dal 27/9/2023.&lt;br /&gt;
&lt;br /&gt;
===2022/23===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2022/23.&lt;br /&gt;
  Le lezioni dell&#039;AA 2022/23 si svolgeranno in presenza a partire dal 28/9/2022.&lt;br /&gt;
&lt;br /&gt;
===2021/22===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2021/22&lt;br /&gt;
  Le lezioni dell&#039;AA 2021/22 si svolgeranno in presenza.&lt;br /&gt;
&lt;br /&gt;
===2020/21===&lt;br /&gt;
  Per l&#039;AA 2020/21 l&#039;esame scritto è sostituito dalla consegna anticipata del progetto.&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni dell&#039;AA 2020/21 si svolgeranno in modalità a distanza tramite la piattaforma Dolly (https://dolly.fim.unimore.it/2020)&lt;br /&gt;
&lt;br /&gt;
===2019/20===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 19/11/2019 si terr&amp;amp;agrave; alle 14 in aula L1.3.&lt;br /&gt;
  La lezione di venerd&amp;amp;igrave; 15/11/2019 non si terr&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
===2017/18===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Sono aperte le iscrizioni tramite ESSE3 al preppello scritto che si svolger&amp;amp;agrave; il 18 dicembre 2017 alle ore 8.45 in Aula M1.4.&lt;br /&gt;
&lt;br /&gt;
===2016/17===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
&lt;br /&gt;
===2015/16===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 29 settembre 2015 si terr&amp;amp;agrave; in aula M1.3 (Aula III) dalle 14 alle 17 invece che in laboratorio&lt;br /&gt;
  Il 21/12/15 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2014/15===&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; in aula M2.5 (ex aula X matematica) dalle 14 alle 17&lt;br /&gt;
  La mattina di luned&amp;amp;igrave; 1 dicembre 2014 sono sospese le lezioni per l&#039;inaugurazione dell&#039;anno accademico&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 24 novembre e mercoled&amp;amp;igrave; 26 novembre 2014 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 30 settembre 2014 si terr&amp;amp;agrave; in aula M1.5 (ex aula IV)&lt;br /&gt;
&lt;br /&gt;
===2013/14===&lt;br /&gt;
  Il 9/12/13 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 2/12/13 &amp;amp;egrave; spostata a marted&amp;amp;igrave; 2/12/13 al posto dell&#039;esercitazione&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 25/11/13 e mercoled&amp;amp;igrave; 27/11/13 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 24/9/13 si terr&amp;amp;agrave; in laboratorio BASE alle ore 14&lt;br /&gt;
&lt;br /&gt;
===2012/13===&lt;br /&gt;
  Il 12/12/12 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3, ma chi ha problemi puo&#039; mandare una email al docente entro il 9/12&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 21 novembre sar&amp;amp;agrave; sostituita da Linguaggi Formali e Compilatori del prof. Leoncini.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 2 ottobre si terr&amp;amp;agrave; in aula V.&lt;br /&gt;
  Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 a causa di un impegno all&#039;estero del docente.&lt;br /&gt;
&lt;br /&gt;
===2011/12===&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 7 dicembre si terr&amp;amp;agrave; regolarmente alle 11, l&#039;ing. Elton Domnori terr&amp;amp;agrave; un seminario sulla programmazione dei dispositivi mobili&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2011/12&lt;br /&gt;
  Luned&amp;amp;igrave; 5 dicembre si terr&amp;amp;agrave; il preappello scritto; &amp;amp;egrave; necessario iscriversi tramite ESSE3.&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 16 novembre &amp;amp;egrave; anticipata alle ore 9.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 7 novembre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 5 ottobre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 27 settembre si terr&amp;amp;agrave; in aula V e NON in laboratorio.&lt;br /&gt;
  &amp;amp;Egrave; stato definito l&#039;orario delle lezioni.&lt;br /&gt;
  Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011.&lt;br /&gt;
&lt;br /&gt;
===2010/11===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2010/11&lt;br /&gt;
  Le lezioni del mercoled&amp;amp;igrave; si tengono in aula V.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 21/12/10 si tiene in aula V&lt;br /&gt;
  Luned&amp;amp;igrave; 20 dicembre 2010 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto;&lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare, deve mandare una email al docente &lt;br /&gt;
  ENTRO venerd&amp;amp;igrave; 17/12 con nome, cognome e numero di matricola&lt;br /&gt;
  Le lezioni inizieranno l&#039;11 ottobre 2010.&lt;br /&gt;
&lt;br /&gt;
===2009/10===&lt;br /&gt;
  L&#039;esame scritto del 15 febbraio 2010 non si terr&amp;amp;agrave; per mancanza di iscritti&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 14/12/09&lt;br /&gt;
  &amp;amp;Egrave; disponibile una traccia del progetto da portare all&#039;esame&lt;br /&gt;
  L&#039;ultima lezione dell&#039;AA 2009/10 si terr&amp;amp;agrave; il 15 dicembre 2009&lt;br /&gt;
  Mercoled&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; una esercitazione sull&#039;esame scritto&lt;br /&gt;
  Luned&amp;amp;igrave; &#039;&#039;&#039;14 dicembre&#039;&#039;&#039; 2009 alle ore &#039;&#039;&#039;11&#039;&#039;&#039; in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto; &lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre 2009;&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 7 dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 1° dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;esercitazione del 30 settembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;appello scritto del 15 luglio 2009 non si terr&amp;amp;agrave; in quanto non c&#039;&amp;amp;egrave; nessun iscritto&lt;br /&gt;
  Venerd&amp;amp;igrave; 12 e sabato 13 giugno 2009 il sistema ESSE3 non sar&amp;amp;agrave; disponibile per iscriversi agli esami e neanche per compilare il questionario di valutazione&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 15/12/08&lt;br /&gt;
  Sono state pubblicate le date degli appelli della sessione straordinaria 2008/2009&lt;br /&gt;
  Sono disponibili alcuni esercizi per l&#039;appello scritto&lt;br /&gt;
  Luned&amp;amp;igrave; 15 dicembre 2008 si terr&amp;amp;agrave; un pre-appello scritto alle ore 11 in aula V a Matematica; per iscriversi contattare il docente&lt;br /&gt;
  I giorni 18 e 19 novembre 2008 non si svolgeranno le lezioni&lt;br /&gt;
  La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
  Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
&lt;br /&gt;
=Informazioni sul docente=&lt;br /&gt;
[[Image:docente.png|left|100px]]&lt;br /&gt;
&#039;&#039;&#039;[[Utente:Giacomo Cabri| Prof. Giacomo Cabri]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Università di Modena e Reggio Emilia, Via Campi 213/B - 41125 Modena&lt;br /&gt;
&lt;br /&gt;
Telefono 0592058320 - Fax 0592055216&lt;br /&gt;
&lt;br /&gt;
[mailto:giacomo.cabri@unimore.it giacomo.cabri@unimore.it]&lt;br /&gt;
&lt;br /&gt;
=Orario delle Lezioni=&lt;br /&gt;
&lt;br /&gt;
L&#039;orario ufficiale è riportato qui: [https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html]&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2025/26==&lt;br /&gt;
Le lezioni dell&#039;AA 2025/26 inizieranno il 25 febbraio 2026 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11  in aula M1.4 presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 9 alle 11 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2023/24==&lt;br /&gt;
Le lezioni dell&#039;AA 2023/24 inizieranno il 25 settembre 2023 con il seguente orario:&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2022/23==&lt;br /&gt;
Le lezioni dell&#039;AA 2022/23 inizieranno il 28 settembre 2022 con il seguente orario:&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2021/22==&lt;br /&gt;
Le lezioni dell&#039;AA 2021/22 inizieranno il 20 settembre 2021 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula L1.3 presso Fisica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2020/21==&lt;br /&gt;
Le lezioni dell&#039;AA 2020/21 inizieranno il 21 settembre 2020 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;grave; dalle 14 alle 17 a distanza&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2019/20==&lt;br /&gt;
Le lezioni dell&#039;AA 2019/20 inizieranno il 23 settembre 2019 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 10 alle 12 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 13 alle 16 in laboratorio BASE presso Matematica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 12 alle 14 in aula L1.3 presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2018/19==&lt;br /&gt;
Le lezioni dell&#039;AA 2018/19 inizieranno il 24 settembre 2018 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in laboratorio BASE presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.3 (ex aula III) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2017/18==&lt;br /&gt;
Le lezioni dell&#039;AA 2017/18 inizieranno il 25 settembre 2017 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2016/17==&lt;br /&gt;
Le lezioni dell&#039;AA 2016/17 inizieranno il 26 settembre 2016 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2015/16==&lt;br /&gt;
Le lezioni dell&#039;AA 2015/16 inizieranno il 28 settembre 2015 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2014/15==&lt;br /&gt;
Le lezioni dell&#039;AA 2014/15 avranno il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2013/14==&lt;br /&gt;
Le lezioni dell&#039;AA 2013/14 avranno  il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2012/13==&lt;br /&gt;
Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2011/12==&lt;br /&gt;
Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2010/11==&lt;br /&gt;
Le lezioni dell&#039;AA 2010/11 dovrebbero iniziare il 27 settembre 2010 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 9 alle 11 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2009/10==&lt;br /&gt;
Le lezioni dell&#039;AA 2009/10 inizieranno il 28 settembre 2009 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2008/09==&lt;br /&gt;
Le lezioni si tengono dal 29 settembre al 19 dicembre 2008 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
=Finalità Dell&#039;Insegnamento e Consigli Utili=&lt;br /&gt;
&lt;br /&gt;
L&#039;informatica odierna non consiste solo nel definire algoritmi e programmi che realizzano tali algoritmi, ma anche nel comporre architetture software e hardware sulla base di componenti software o hardware. Partendo da questo motivo dominante, l&#039;insegnamento affronta i seguenti argomenti:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;: verranno illustrati i concetti generali, quali incapsulamento, ereditarietà e polimorfismo; verranno accennati i concetti di riusabilità e di composizione dei componenti software, illustrando il passaggio dalla programmazione modulare alla programmazione ad oggetti.&lt;br /&gt;
* &#039;&#039;&#039;Il linguaggio Java&#039;&#039;&#039;: verrà utilizzato come esempio di linguaggio ad oggetti, spiegando come i concetti generali sono implementati in Java; verrà inoltre spiegato come Java può essere sfruttato per lo sviluppo di interfacce grafiche.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per superare agevolmente l&#039;esame si consiglia agli studenti di seguire con continuità le lezioni e le esercitazioni dell&#039;insegnamento. Inoltre, si consiglia di non focalizzare la preparazione dell&#039;esame esclusivamente sullo studio dei libri e degli appunti, ma piuttosto di preparare l&#039;esame sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l&#039;esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ambienti di Programmazione Utilizzati&#039;&#039;: Compilatore C, Java 1.5 di pubblico dominio (disponibili in laboratorio).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Programma dell&#039;insegnamento=&lt;br /&gt;
&#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;&lt;br /&gt;
*Concetti generali&lt;br /&gt;
*Il Linguaggio Java&lt;br /&gt;
*Classi ed ereditarietà in Java&lt;br /&gt;
*I/O in Java&lt;br /&gt;
*Interfacce grafiche in Java&lt;br /&gt;
*Programmazione basata sugli eventi&lt;br /&gt;
*Strutture dati in Java&lt;br /&gt;
*Thread in Java&lt;br /&gt;
&lt;br /&gt;
=Modalità D&#039;Esame=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21, a causa della situazione pandemica, la prova scritta è &#039;&#039;sostituita&#039;&#039; dalla consegna anticipata del progetto. Le conoscenze che precedentemente erano verificate tramite lo scritto, per il 2020/21 verranno verificate sul progetto realizzato.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame si compone di uno scritto e di una discussione di un programma in Java che lo studente deve presentare all&#039;esame (e la cui proposta di progetto deve essere stata preventivamente approvata dal docente). Per maggiori dettagli, vedere il seguito di questa pagina.&lt;br /&gt;
&lt;br /&gt;
==Esame scritto==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;:  nell&#039;AA 2020/21 non è prevista la prova scritta.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame scritto serve a verificare che lo studente abbia acquisito le nozioni di astrazione, classificazione, ereditarietà e polimorfismo.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame consiste nella modellazione di alcune entità e la relativa implementazione in Java.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; possibile vedere il testo di alcuni esercizi: &lt;br /&gt;
*[[Media:EserJava1.pdf|EserJava1]] (Calcolatrice)&lt;br /&gt;
*[[Media:EserJava2.pdf|EserJava2]] (Rettangolo)&lt;br /&gt;
*[[Media:EserJava3.pdf|EserJava3]] (Termometro)&lt;br /&gt;
*[[Media:EserJava4.pdf|EserJava4]] (Lettore da dispositivo) [[Media:SoluzioneEserJava4.pdf|SoluzioneEserJava4]]&lt;br /&gt;
*[[Media:EserJava5.pdf|EserJava5]] (Navigatore)&lt;br /&gt;
*[[Media:EserJava6.pdf|EserJava6]] (Particella)&lt;br /&gt;
*[[Media:EserJava7.pdf|EserJava7]] (Conto)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#per l&#039;iscrizione all&#039;esame scritto è necessario utilizzare &#039;&#039;&#039;ESSE3&#039;&#039;&#039; e iscriversi entro la scadenza (di norma 2-3 giorni prima dell&#039;appello scritto stesso, me &amp;amp;egrave; bene controllare su ESSE3); &lt;br /&gt;
#&amp;amp;egrave; necessario aver superato lo scritto per presentare il progetto;&lt;br /&gt;
#la presentazione del progetto pu&amp;amp;ograve; avvenire anche in un appello diverso da quello dello scritto;&lt;br /&gt;
#la consegna di uno scritto cancella il voto precedente; la partecipazione ad uno scritto &#039;&#039;senza&#039;&#039; consegnare non cancella il voto precedente;&lt;br /&gt;
#il voto dello scritto vale orientativamente 1 anno; contattare il docente entro l&#039;anno se non si riesce a presentare il progetto e si richiede una proroga della validit&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
==Modalità di Sviluppo del Progetto Java==&lt;br /&gt;
All&#039;esame si deve presentare e discutere un programma realizzato in Java e che presenti le seguenti caratteristiche:&lt;br /&gt;
&lt;br /&gt;
* Sia dotato di &#039;&#039;&#039;interfaccia grafica&#039;&#039;&#039; tramite cui interagire con il programma stesso.&lt;br /&gt;
* Sfrutti i meccanismi della programmazione ad oggetti: &lt;br /&gt;
**&#039;&#039;&#039;incapsulamento&#039;&#039;&#039;; &lt;br /&gt;
**&#039;&#039;&#039;ereditarietà&#039;&#039;&#039; e, se necessario, le classi astratte e le interfacce (si considerano &#039;&#039;&#039;escluse&#039;&#039;&#039; le relazioni di ereditarietà diretta da classi di libreria Java); &lt;br /&gt;
**&#039;&#039;&#039;polimorfismo&#039;&#039;&#039;.&lt;br /&gt;
* Sfrutti le classi di sistema Java per la gestione dell&#039;&#039;&#039;&#039;input/output&#039;&#039;&#039; (&amp;lt;tt&amp;gt;Reader&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Writer&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;InputStream&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;OutputStream&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Utilizzi le &#039;&#039;&#039;strutture dati&#039;&#039;&#039; di libreria e i &#039;&#039;&#039;generics&#039;&#039;&#039;, motivando le scelte fatte. &lt;br /&gt;
* Sia diviso coerente in &#039;&#039;&#039;package&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Gli studenti sono invitati a seguire la traccia fornita dal docente.&lt;br /&gt;
In casi particolari, uno studente pu&amp;amp;ograve; proporre una proporia traccia, che &#039;&#039;&#039;deve&#039;&#039;&#039; essere approvata dal docente (anche via email).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Il programma deve essere una applicazione Java e &#039;&#039;&#039;NON&#039;&#039;&#039; una applet. --&amp;gt;&lt;br /&gt;
Il programma deve essere eseguito da &#039;&#039;&#039;linea di comando&#039;&#039;&#039;; non devono essere usate librerie proprietarie (ad es. quelle degli ambienti integrati) a meno di averlo concordato con il docente.&lt;br /&gt;
È opportuno &#039;&#039;&#039;provare&#039;&#039;&#039; il proprio programma su un altro computer (ad es. in laboratorio) prima di presentarlo in sede d&#039;esame, per verificare la portabilità.&lt;br /&gt;
&lt;br /&gt;
Il software deve essere accompagnato da pagine di &#039;&#039;&#039;documentazione&#039;&#039;&#039; HTML (tipicamente le pagine generate tramite Javadoc o altri strumenti come Doxygen) che descrivano le scelte di progetto effettuate e la struttura del sistema software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- A progetto realizzato, si valuterà il progetto (e il voto conseguente), ferma restando la possibilità del docente (e dello studente) di richiedere l&#039;integrazione nel progetto di ulteriori funzionalità/caratteristiche. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il progetto va portato il giorno dell&#039;esame, su un supporto tipo chiavetta USB; portare anche il proprio PC per sicurezza. (&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21 il progetto va consegnato in anticipo).&lt;br /&gt;
&lt;br /&gt;
In casi eccezionali &amp;amp;egrave; possibile presentare progetti di gruppo (2 persone), posto che l&#039;ampiezza del progetto sia tale da giustificare il suo sviluppo cooperativo. In tale caso, comunque, la discussione sarà esplicitamente volta a valutare, per ciascuno dei componenti del gruppo, l&#039;effettiva padronanza d&#039;uso dei concetti di base della programmazione ad oggetti, del linguaggio Java e delle sue librerie Java, oltre naturalmente all&#039;apporto individuale dato al progetto globale da ogni singolo membro del gruppo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Problemi &#039;&#039;&#039;DA EVITARE&#039;&#039;&#039; in sede di esame:&lt;br /&gt;
*Il programma non funziona&lt;br /&gt;
*Manca qualcosa (di solito, la documentazione)&lt;br /&gt;
*Il progetto è diviso su pi&amp;amp;ugrave; programmi (eventualmente da concordare con il docente)&lt;br /&gt;
*L’ereditariet&amp;amp;agrave; &amp;amp;egrave; usata male&lt;br /&gt;
*&amp;quot;Non mi ricordo come funziona perch&amp;amp;eacute; ho fatto il programma tempo fa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Traccia ==&lt;br /&gt;
[[Image:tesina.png|right|90px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; disponibile il [[Media:Tesina2025-26.pdf| testo della traccia]] da svolgere per l&#039;anno accademico 2025/26.&lt;br /&gt;
Chi decide di svolgere il progetto proposto dalla traccia, non ha bisogno di approvazione.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2025-26.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2025/26.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2425.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2324.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2223.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2022/23.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2122.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2021/22.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2021.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2020/21.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1920.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2019/20.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1819.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2018/19.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1718.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2017/18.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1617.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2016/17.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1516.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2015/16.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1415.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2014/15.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1314.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2013/14.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1213.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2012/13.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1112.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2011/12.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1011.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2010/11.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina0910.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2009/10.&lt;br /&gt;
&lt;br /&gt;
=Appelli=&lt;br /&gt;
[[Image:iscrizione.png|90px|right]]&lt;br /&gt;
Le date degli appelli sono disponibili sul sito ESSE3 (http://www.esse3.unimore.it).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
del corso di laurea&lt;br /&gt;
all&#039;indirizzo&lt;br /&gt;
&lt;br /&gt;
http://informatica.scienze.unimo.it/lt/Esami.php&lt;br /&gt;
&lt;br /&gt;
Dall&#039;AA 2006/07 viene usata la verbalizzazione elettronica; chi vuole sostenere l&#039;esame DEVE quindi iscriversi tramite il [http://www.esse3.unimore.it sito di ESSE3].&lt;br /&gt;
&lt;br /&gt;
NOTA: sul sito di ESSE3 sono presenti le date degli appelli &#039;&#039;&#039;orali&#039;&#039;&#039;, per la presentazione dei progetto.&lt;br /&gt;
Per l&#039;iscrizione agli appelli &#039;&#039;&#039;scritti&#039;&#039;&#039; &amp;amp;egrave; necessario inviare una email al docente entro 2 giorni prima dell&#039;appello scritto stesso, usando l&#039;indirizzo email &#039;&#039;&#039;universitario&#039;&#039;&#039; e specificando &#039;&#039;&#039;nome&#039;&#039;&#039;, &#039;&#039;&#039;cognome&#039;&#039;&#039; e &#039;&#039;&#039;matricola&#039;&#039;&#039;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Preappello==&lt;br /&gt;
Luned&amp;amp;igrave; 14 dicembre 2009 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un preappello valido per l&#039;esame scritto.&lt;br /&gt;
&lt;br /&gt;
Chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre con nome, cognome e matricola.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Risultati=&lt;br /&gt;
&lt;br /&gt;
Da settembre 2011 i risultati vengono comunicati tramite ESSE3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[RisultatiPO|Risultati]] degli appelli scritti precedenti:&lt;br /&gt;
*16 febbraio 2011&lt;br /&gt;
*20 gennaio 2011&lt;br /&gt;
*20 dicembre 2010&lt;br /&gt;
*18 gennaio 2010&lt;br /&gt;
*14 dicembre 2009&lt;br /&gt;
*22 giugno 2009&lt;br /&gt;
*10 giugno 2009&lt;br /&gt;
*19 febbraio 2009&lt;br /&gt;
*14 gennaio 2009&lt;br /&gt;
*15 dicembre 2008&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Testi Consigliati=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testo Dell&#039;Insegnamento&#039;&#039;&#039;&lt;br /&gt;
[[Image:textbook.png|100px|right]]&lt;br /&gt;
*G. Cabri, F. Zambonelli, &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Altri Testi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* C.S. Horstmann, &amp;quot;Concetti di informatica e fondamenti di Java&amp;quot;, Apogeo.&lt;br /&gt;
* B. Eckel, &amp;quot;Thinking in Java&amp;quot;, 4 edizione italiana, Pearson, (scaricabile gratuitamente da Internet la versione inglese http://www.BruceEckel.com).&lt;br /&gt;
* Arnold, Gosling, Holmes, &amp;quot;Il linguaggio Java. Manuale ufficiale&amp;quot;, Pearson.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per chi vuole approfondire:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mazzanti, Milanese, &amp;quot;Programmazione di applicazioni grafiche in Java&amp;quot;, Apogeo.&lt;br /&gt;
* Gamma, Helm, Johnson, Vlissides, &amp;quot;Design Patterns&amp;quot;, Addison-Wesley.&lt;br /&gt;
* J.R. Hubbard, &amp;quot;Strutture dati in Java&amp;quot;, McGraw-Hill.&lt;br /&gt;
* M.A. Weiss, &amp;quot;Data Structures And Problem Solving Using Java&amp;quot;, 2nd Edition, Addison Wesley.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Slide Dell&#039;Insegnamento=&lt;br /&gt;
&lt;br /&gt;
Il materiale degli insegnamenti di Programmazione ad Oggetti e Introduzione alla Programmazione ad Oggetti &amp;amp;egrave; contenuto nel libro &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
In questa pagina sono riportate le slide usate a lezione.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IntroduzioneInsegnamentoPO.pdf| Introduzione all&#039;insegnamento]]&lt;br /&gt;
# [[Media:01-Motivazioni.pdf | Motivazioni]]&lt;br /&gt;
# [[Media:02-LimitiProgrammazioneTradizionale.pdf|Limiti della programmazione tradizionale]]&lt;br /&gt;
# [[Media:03-IntroOOP.pdf|Introduzione alla programmazione ad oggetti]]&lt;br /&gt;
# [[Media:04-IntroJava.pdf|Introduzione al linguaggio Java]]&lt;br /&gt;
# [[Media:05-OOPJava.pdf|OOP in Java]]&lt;br /&gt;
# [[Media:06-ClassiAstratteIntefacceJava.pdf|Classi astratte e interfacce]]&lt;br /&gt;
# [[Media:07-IOJava.pdf|I/O in Java]]&lt;br /&gt;
# [[Media:08-JavaGUI.pdf|GUI in Java]]&lt;br /&gt;
# [[Media:09-CostruttiAvanzatiJava.pdf|Costrutti avanzati Java]]&lt;br /&gt;
# [[Media:10-GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:11-StruttureDatiJava.pdf|Strutture dati in Java]]&lt;br /&gt;
# [[Media:12-ThreadJava.pdf|Thread in Java]]&lt;br /&gt;
&lt;br /&gt;
==C++==&lt;br /&gt;
&lt;br /&gt;
# [[Media:01_intro_da_java_a_cpp_.pdf | Introduzione da Java a C++]]&lt;br /&gt;
# [[Media:02_Strings&amp;amp;Templates.pdf | Strings e Templates]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Vecchie slide&lt;br /&gt;
* [[index.php?title=Media:09-Applet.pdf|Applet in Java]] (fatte fino all&#039;AA 2015/16)&lt;br /&gt;
* [[index.php?title=Media:UML01-LinguaggioUML 1.pdf|UML (prima parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
* [[index.php?title=Media:UML02-LinguaggioUML 2.pdf|UML (seconda parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Media:Classi.pdf|Classi di memorizzazione in C]]&lt;br /&gt;
# [[Media:TabelleMenuLayout.pdf|Tabelle, menu e layout in Java]]&lt;br /&gt;
# [[Media:GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:NovitaJ2SE5.pdf|Novit&amp;amp;agrave; di Java 2 SE 5]]&lt;br /&gt;
&lt;br /&gt;
# [[Media:JavaClassAsInterfacce.pdf| Classi Astratte e Interfacce in Java]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seminari==&lt;br /&gt;
[[index.php?title=Media:SeminarioJavaInfolog2015.pdf|Seminario]] sull&#039;uso di Java in azienda (Infolog, 9/12/2015)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2017.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2017)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2018.pdf|Seminario]] su C# (Paolo Burgio, 3/12/2018)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2015.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2019) - [[index.php?title=Media:ConsoleApp4.zip|Codice]] presentato durante il seminario&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Esempi presentati a lezione =&lt;br /&gt;
[[Image:eserciziLezione.png|right]]&lt;br /&gt;
Gli esempi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma [http://www.adobe.com/it/ Adobe Acrobat], di pubblico domino, altri in semplice formato testo.&lt;br /&gt;
Tutti gli esercizi sono stati realizzati in collaborazione con la Prof. Letizia Leonardi.&lt;br /&gt;
&lt;br /&gt;
*[[index.php?title=Media:ContoCorrente.pdf|Conto corrente in C]]&lt;br /&gt;
*[[index.php?title=Media:IOBinario.pdf|I/O Binario]]&lt;br /&gt;
*[[index.php?title=Media:Calcolatrice.zip|Calcolatrice]]&lt;br /&gt;
*[[index.php?title=Media:GraficoFunzioni.zip|Grafico di funzioni]]&lt;br /&gt;
*[[index.php?title=Media:CampoStellare.zip|Campo stellare]]&lt;br /&gt;
&lt;br /&gt;
===Programmazione ad Oggetti e Java===&lt;br /&gt;
Gli esercizi sono gli stessi contenuti nei lucidi della parte teorica, ma da qui e&#039; possibile salvare su un file (facendo &amp;quot;salva link con nome&amp;quot;) il sorgente della gran parte degli esercizi.&lt;br /&gt;
&lt;br /&gt;
====Java: Le Classi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Classi&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=13|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:Counter.java|Counter.java]], [[index.php?title=Media:Esempio0.java|Esempio0.java]], [[index.php?title=Media:Esempio1.java|Esempio1.java]], [[index.php?title=Media:Esempio2.java|Esempio2.java]], [[index.php?title=Media:Esempio2bis.java|Esempio2bis.java]], [[index.php?title=Media:Esempio3.java|Esempio3.java]], [[index.php?title=Media:Esempio4.java|Esempio4.java]], [[index.php?title=Media:Esempio5.java|Esempio5.java]], [[index.php?title=Media:Esempio5bis.java|Esempio5bis.java]], [[index.php?title=Media:Esempio6.java|Esempio6.java]], [[index.php?title=Media:Esempio7.java|Esempio7.java]], [[index.php?title=Media:Point.java|Point.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Java: Classi Astratte e Interfacce====&lt;br /&gt;
====Java: Ereditarietà====&lt;br /&gt;
====Java: Le Eccezioni====&lt;br /&gt;
====Java: Input e Output====&lt;br /&gt;
====Java: Programmazione Grafica e ad Eventi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Grafica&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=36|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:CalcButton.java|CalcButton.java]], [[index.php?title=Media:CalcPanel.java|CalcPanel.java]], [[index.php?title=Media:Calculator.java|Calculator.java]], [[index.php?title=Media:Es10Panel.java|Es10Panel.java]], [[index.php?title=Media:Es11Panel.java|Es11Panel.java]], [[index.php?title=Media:Es12Panel.java|Es12Panel.java]], [[index.php?title=Media:Es13Panel.java|Es13Panel.java]], [[index.php?title=Media:Es14Panel.java|Es14Panel.java]], [[index.php?title=Media:Es15Panel.java|Es15Panel.java]], [[index.php?title=Media:Es16Panel.java|Es16Panel.java]], [[index.php?title=Media:Es7Panel.java|Es7Panel.java]], [[index.php?title=Media:Es8Panel.java|Es8Panel.java]], [[index.php?title=Media:Es9Panel.java|Es9Panel.java]], [[index.php?title=Media:EsSwing1.java|EsSwing1.java]], [[index.php?title=Media:EsSwing10.java|EsSwing10.java]], [[index.php?title=Media:EsSwing11.java|EsSwing11.java]], [[index.php?title=Media:EsSwing12.java|EsSwing12.java]], [[index.php?title=Media:EsSwing13.java|EsSwing13.java]], [[index.php?title=Media:EsSwing14.java|EsSwing14.java]], [[index.php?title=Media:EsSwing15.java|EsSwing15.java]], [[index.php?title=Media:EsSwing16.java|EsSwing16.java]], [[index.php?title=Media:EsSwing2.java|EsSwing2.java]], [[index.php?title=Media:EsSwing3.java|EsSwing3.java]], [[index.php?title=Media:EsSwing4.java|EsSwing4.java]], [[index.php?title=Media:EsSwing5.java|EsSwing5.java]], [[index.php?title=Media:EsSwing6.java|EsSwing6.java]], [[index.php?title=Media:EsSwing7.java|EsSwing7.java]], [[index.php?title=Media:EsSwing8.java|EsSwing8.java]], [[index.php?title=Media:EsSwing9.java|EsSwing9.java]], [[index.php?title=Media:EsSwingCalculator.java|EsSwingCalculator.java]], [[index.php?title=Media:FunctionPanel.java|FunctionPanel.java]], [[index.php?title=Media:ImgPanel.java|ImgPanel.java]], [[index.php?title=Media:MyFrame.java|MyFrame.java]], [[index.php?title=Media:MyPanel.java|MyPanel.java]], [[index.php?title=Media:Terminator.java|Terminator.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Java: Le Applet====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Applet&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=9|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Applet1.java|Applet1.java]], [[Media:Applet2.java|Applet2.java]], [[Media:Applet2Listener.java|Applet2Listener.java]], [[Media:Applet3.java|Applet3.java]], [[Media:Applet3Listener.java|Applet3Listener.java]], &lt;br /&gt;
[[Media:Applet4.java|Applet4.java]], [[Media:Applet5.java|Applet5.java]], [[Media:Application2.java|Application2.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Strumenti Software=&lt;br /&gt;
[[Image:strumenti.png|right]]&lt;br /&gt;
Si indicano di seguito gli strumenti software che si utilizzano durante l&#039;insegnamento e si indica dove e&#039; possibile reperirli.&lt;br /&gt;
&lt;br /&gt;
* Per sviluppare programmi in Java si utilizza il JDK (Java Development Kit). Si può scaricare:&lt;br /&gt;
**dal sito [https://www.oracle.com/java/technologies/downloads/ Java at Oracle]&lt;br /&gt;
**dal sito [https://openjdk.java.net OpenJDK]&lt;br /&gt;
* &#039;&#039;&#039;NOTA:&#039;&#039;&#039; &amp;amp;Egrave; necessario utilizzare una versione del JDK maggiore o uguale alla 1.5 (Java J2SE 5). Si consiglia almeno la versione 11.&lt;br /&gt;
&amp;lt;!--* Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio--&amp;gt;&lt;br /&gt;
* Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è [http://www.eclipse.org/ Eclipse].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
*È possibile, per la parte C soltanto, usare un ambiente di programmazione integrato per il C disponibile qui: [http://www.delorie.com/djgpp/ Il compilatore DJGPP]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Esercitazioni di laboratorio=&lt;br /&gt;
 &lt;br /&gt;
Gli esercizi di laboratorio si possono trovare nella seguente pagina: [[EserciziPO|Esercizi di Programmazione ad Oggetti]].&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1077</id>
		<title>Programmazione ad Oggetti</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1077"/>
		<updated>2026-04-29T15:45:11Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Ultime news */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&lt;br /&gt;
{{/box-testata|News|}}&lt;br /&gt;
{{/Evidenza}}&lt;br /&gt;
{{/box-fondo|[[Europa|Leggi la voce...]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{Userboxtop&lt;br /&gt;
| align = right&lt;br /&gt;
| backgroundcolor = lightyellow&lt;br /&gt;
| bordercolor = black&lt;br /&gt;
| extra-css =&lt;br /&gt;
| textcolor = &lt;br /&gt;
| toptext = NEWS&lt;br /&gt;
&amp;lt;!-- All of the parameters are optional. --&amp;gt;&lt;br /&gt;
&amp;lt;!--}}&lt;br /&gt;
La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
([[Wikipedia:Userboxes|Userboxes]] inserted here)&lt;br /&gt;
{{userboxbottom}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Questa pagina fornisce il materiale didattico e le informazioni relative all&#039;insegnamento di &#039;&#039;&#039;Programmazione ad Oggetti (9 CFU)&#039;&#039;&#039; per il Corso di Laurea in &#039;&#039;&#039;Informatica&#039;&#039;&#039;  e per l&#039;insegnamento di &#039;&#039;&#039;Introduzione alla Programmazione ad Oggetti (6 CFU)&#039;&#039;&#039; a partire dall&#039;AA 2008/2009.&lt;br /&gt;
&lt;br /&gt;
Si veda [http://{{SERVERNAME}}/didattica/lpo/ questa pagina] per informazioni su:&lt;br /&gt;
*Programmazione ad Oggetti (6 CFU - 2007/08)&lt;br /&gt;
*Linguaggi per la Programmazione ad Oggetti (6 CFU - fino al 2006/2007)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
&lt;br /&gt;
==Ultime news==&lt;br /&gt;
   È disponibile la traccia per il progetto da presentare all&#039;esame 2025/26.&lt;br /&gt;
   Nel 2025/26 l&#039;insegnamento si terr&amp;amp;agrave; nel secondo semestre.&lt;br /&gt;
&lt;br /&gt;
==Vecchie news==&lt;br /&gt;
&lt;br /&gt;
=== 2024/25 ===&lt;br /&gt;
   Le lezioni dell&#039;AA 2024/25 si svolgeranno in presenza a partire dal 25/9/2024.&lt;br /&gt;
&lt;br /&gt;
=== 2023/24 ===&lt;br /&gt;
 &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2023/24.&lt;br /&gt;
&lt;br /&gt;
 Le lezioni dell&#039;AA 2023/24 si svolgeranno in presenza a partire dal 27/9/2023.&lt;br /&gt;
&lt;br /&gt;
===2022/23===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2022/23.&lt;br /&gt;
  Le lezioni dell&#039;AA 2022/23 si svolgeranno in presenza a partire dal 28/9/2022.&lt;br /&gt;
&lt;br /&gt;
===2021/22===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2021/22&lt;br /&gt;
  Le lezioni dell&#039;AA 2021/22 si svolgeranno in presenza.&lt;br /&gt;
&lt;br /&gt;
===2020/21===&lt;br /&gt;
  Per l&#039;AA 2020/21 l&#039;esame scritto è sostituito dalla consegna anticipata del progetto.&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni dell&#039;AA 2020/21 si svolgeranno in modalità a distanza tramite la piattaforma Dolly (https://dolly.fim.unimore.it/2020)&lt;br /&gt;
&lt;br /&gt;
===2019/20===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 19/11/2019 si terr&amp;amp;agrave; alle 14 in aula L1.3.&lt;br /&gt;
  La lezione di venerd&amp;amp;igrave; 15/11/2019 non si terr&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
===2017/18===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Sono aperte le iscrizioni tramite ESSE3 al preppello scritto che si svolger&amp;amp;agrave; il 18 dicembre 2017 alle ore 8.45 in Aula M1.4.&lt;br /&gt;
&lt;br /&gt;
===2016/17===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
&lt;br /&gt;
===2015/16===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 29 settembre 2015 si terr&amp;amp;agrave; in aula M1.3 (Aula III) dalle 14 alle 17 invece che in laboratorio&lt;br /&gt;
  Il 21/12/15 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2014/15===&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; in aula M2.5 (ex aula X matematica) dalle 14 alle 17&lt;br /&gt;
  La mattina di luned&amp;amp;igrave; 1 dicembre 2014 sono sospese le lezioni per l&#039;inaugurazione dell&#039;anno accademico&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 24 novembre e mercoled&amp;amp;igrave; 26 novembre 2014 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 30 settembre 2014 si terr&amp;amp;agrave; in aula M1.5 (ex aula IV)&lt;br /&gt;
&lt;br /&gt;
===2013/14===&lt;br /&gt;
  Il 9/12/13 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 2/12/13 &amp;amp;egrave; spostata a marted&amp;amp;igrave; 2/12/13 al posto dell&#039;esercitazione&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 25/11/13 e mercoled&amp;amp;igrave; 27/11/13 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 24/9/13 si terr&amp;amp;agrave; in laboratorio BASE alle ore 14&lt;br /&gt;
&lt;br /&gt;
===2012/13===&lt;br /&gt;
  Il 12/12/12 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3, ma chi ha problemi puo&#039; mandare una email al docente entro il 9/12&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 21 novembre sar&amp;amp;agrave; sostituita da Linguaggi Formali e Compilatori del prof. Leoncini.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 2 ottobre si terr&amp;amp;agrave; in aula V.&lt;br /&gt;
  Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 a causa di un impegno all&#039;estero del docente.&lt;br /&gt;
&lt;br /&gt;
===2011/12===&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 7 dicembre si terr&amp;amp;agrave; regolarmente alle 11, l&#039;ing. Elton Domnori terr&amp;amp;agrave; un seminario sulla programmazione dei dispositivi mobili&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2011/12&lt;br /&gt;
  Luned&amp;amp;igrave; 5 dicembre si terr&amp;amp;agrave; il preappello scritto; &amp;amp;egrave; necessario iscriversi tramite ESSE3.&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 16 novembre &amp;amp;egrave; anticipata alle ore 9.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 7 novembre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 5 ottobre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 27 settembre si terr&amp;amp;agrave; in aula V e NON in laboratorio.&lt;br /&gt;
  &amp;amp;Egrave; stato definito l&#039;orario delle lezioni.&lt;br /&gt;
  Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011.&lt;br /&gt;
&lt;br /&gt;
===2010/11===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2010/11&lt;br /&gt;
  Le lezioni del mercoled&amp;amp;igrave; si tengono in aula V.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 21/12/10 si tiene in aula V&lt;br /&gt;
  Luned&amp;amp;igrave; 20 dicembre 2010 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto;&lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare, deve mandare una email al docente &lt;br /&gt;
  ENTRO venerd&amp;amp;igrave; 17/12 con nome, cognome e numero di matricola&lt;br /&gt;
  Le lezioni inizieranno l&#039;11 ottobre 2010.&lt;br /&gt;
&lt;br /&gt;
===2009/10===&lt;br /&gt;
  L&#039;esame scritto del 15 febbraio 2010 non si terr&amp;amp;agrave; per mancanza di iscritti&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 14/12/09&lt;br /&gt;
  &amp;amp;Egrave; disponibile una traccia del progetto da portare all&#039;esame&lt;br /&gt;
  L&#039;ultima lezione dell&#039;AA 2009/10 si terr&amp;amp;agrave; il 15 dicembre 2009&lt;br /&gt;
  Mercoled&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; una esercitazione sull&#039;esame scritto&lt;br /&gt;
  Luned&amp;amp;igrave; &#039;&#039;&#039;14 dicembre&#039;&#039;&#039; 2009 alle ore &#039;&#039;&#039;11&#039;&#039;&#039; in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto; &lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre 2009;&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 7 dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 1° dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;esercitazione del 30 settembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;appello scritto del 15 luglio 2009 non si terr&amp;amp;agrave; in quanto non c&#039;&amp;amp;egrave; nessun iscritto&lt;br /&gt;
  Venerd&amp;amp;igrave; 12 e sabato 13 giugno 2009 il sistema ESSE3 non sar&amp;amp;agrave; disponibile per iscriversi agli esami e neanche per compilare il questionario di valutazione&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 15/12/08&lt;br /&gt;
  Sono state pubblicate le date degli appelli della sessione straordinaria 2008/2009&lt;br /&gt;
  Sono disponibili alcuni esercizi per l&#039;appello scritto&lt;br /&gt;
  Luned&amp;amp;igrave; 15 dicembre 2008 si terr&amp;amp;agrave; un pre-appello scritto alle ore 11 in aula V a Matematica; per iscriversi contattare il docente&lt;br /&gt;
  I giorni 18 e 19 novembre 2008 non si svolgeranno le lezioni&lt;br /&gt;
  La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
  Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
&lt;br /&gt;
=Informazioni sul docente=&lt;br /&gt;
[[Image:docente.png|left|100px]]&lt;br /&gt;
&#039;&#039;&#039;[[Utente:Giacomo Cabri| Prof. Giacomo Cabri]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Università di Modena e Reggio Emilia, Via Campi 213/B - 41125 Modena&lt;br /&gt;
&lt;br /&gt;
Telefono 0592058320 - Fax 0592055216&lt;br /&gt;
&lt;br /&gt;
[mailto:giacomo.cabri@unimore.it giacomo.cabri@unimore.it]&lt;br /&gt;
&lt;br /&gt;
=Orario delle Lezioni=&lt;br /&gt;
&lt;br /&gt;
L&#039;orario ufficiale è riportato qui: [https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html]&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2023/24==&lt;br /&gt;
Le lezioni dell&#039;AA 2023/24 inizieranno il 25 settembre 2023 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2022/23==&lt;br /&gt;
Le lezioni dell&#039;AA 2022/23 inizieranno il 28 settembre 2022 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2021/22==&lt;br /&gt;
Le lezioni dell&#039;AA 2021/22 inizieranno il 20 settembre 2021 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula L1.3 presso Fisica&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2020/21==&lt;br /&gt;
Le lezioni dell&#039;AA 2020/21 inizieranno il 21 settembre 2020 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;grave; dalle 14 alle 17 a distanza&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2019/20==&lt;br /&gt;
Le lezioni dell&#039;AA 2019/20 inizieranno il 23 settembre 2019 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 10 alle 12 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 13 alle 16 in laboratorio BASE presso Matematica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 12 alle 14 in aula L1.3 presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2018/19==&lt;br /&gt;
Le lezioni dell&#039;AA 2018/19 inizieranno il 24 settembre 2018 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in laboratorio BASE presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.3 (ex aula III) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2017/18==&lt;br /&gt;
Le lezioni dell&#039;AA 2017/18 inizieranno il 25 settembre 2017 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2016/17==&lt;br /&gt;
Le lezioni dell&#039;AA 2016/17 inizieranno il 26 settembre 2016 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2015/16==&lt;br /&gt;
Le lezioni dell&#039;AA 2015/16 inizieranno il 28 settembre 2015 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2014/15==&lt;br /&gt;
Le lezioni dell&#039;AA 2014/15 avranno il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2013/14==&lt;br /&gt;
Le lezioni dell&#039;AA 2013/14 avranno  il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2012/13==&lt;br /&gt;
Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2011/12==&lt;br /&gt;
Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2010/11==&lt;br /&gt;
Le lezioni dell&#039;AA 2010/11 dovrebbero iniziare il 27 settembre 2010 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 9 alle 11 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2009/10==&lt;br /&gt;
Le lezioni dell&#039;AA 2009/10 inizieranno il 28 settembre 2009 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2008/09==&lt;br /&gt;
Le lezioni si tengono dal 29 settembre al 19 dicembre 2008 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
=Finalità Dell&#039;Insegnamento e Consigli Utili=&lt;br /&gt;
&lt;br /&gt;
L&#039;informatica odierna non consiste solo nel definire algoritmi e programmi che realizzano tali algoritmi, ma anche nel comporre architetture software e hardware sulla base di componenti software o hardware. Partendo da questo motivo dominante, l&#039;insegnamento affronta i seguenti argomenti:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;: verranno illustrati i concetti generali, quali incapsulamento, ereditarietà e polimorfismo; verranno accennati i concetti di riusabilità e di composizione dei componenti software, illustrando il passaggio dalla programmazione modulare alla programmazione ad oggetti.&lt;br /&gt;
* &#039;&#039;&#039;Il linguaggio Java&#039;&#039;&#039;: verrà utilizzato come esempio di linguaggio ad oggetti, spiegando come i concetti generali sono implementati in Java; verrà inoltre spiegato come Java può essere sfruttato per lo sviluppo di interfacce grafiche.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per superare agevolmente l&#039;esame si consiglia agli studenti di seguire con continuità le lezioni e le esercitazioni dell&#039;insegnamento. Inoltre, si consiglia di non focalizzare la preparazione dell&#039;esame esclusivamente sullo studio dei libri e degli appunti, ma piuttosto di preparare l&#039;esame sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l&#039;esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ambienti di Programmazione Utilizzati&#039;&#039;: Compilatore C, Java 1.5 di pubblico dominio (disponibili in laboratorio).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Programma dell&#039;insegnamento=&lt;br /&gt;
&#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;&lt;br /&gt;
*Concetti generali&lt;br /&gt;
*Il Linguaggio Java&lt;br /&gt;
*Classi ed ereditarietà in Java&lt;br /&gt;
*I/O in Java&lt;br /&gt;
*Interfacce grafiche in Java&lt;br /&gt;
*Programmazione basata sugli eventi&lt;br /&gt;
*Strutture dati in Java&lt;br /&gt;
*Thread in Java&lt;br /&gt;
&lt;br /&gt;
=Modalità D&#039;Esame=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21, a causa della situazione pandemica, la prova scritta è &#039;&#039;sostituita&#039;&#039; dalla consegna anticipata del progetto. Le conoscenze che precedentemente erano verificate tramite lo scritto, per il 2020/21 verranno verificate sul progetto realizzato.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame si compone di uno scritto e di una discussione di un programma in Java che lo studente deve presentare all&#039;esame (e la cui proposta di progetto deve essere stata preventivamente approvata dal docente). Per maggiori dettagli, vedere il seguito di questa pagina.&lt;br /&gt;
&lt;br /&gt;
==Esame scritto==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;:  nell&#039;AA 2020/21 non è prevista la prova scritta.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame scritto serve a verificare che lo studente abbia acquisito le nozioni di astrazione, classificazione, ereditarietà e polimorfismo.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame consiste nella modellazione di alcune entità e la relativa implementazione in Java.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; possibile vedere il testo di alcuni esercizi: &lt;br /&gt;
*[[Media:EserJava1.pdf|EserJava1]] (Calcolatrice)&lt;br /&gt;
*[[Media:EserJava2.pdf|EserJava2]] (Rettangolo)&lt;br /&gt;
*[[Media:EserJava3.pdf|EserJava3]] (Termometro)&lt;br /&gt;
*[[Media:EserJava4.pdf|EserJava4]] (Lettore da dispositivo) [[Media:SoluzioneEserJava4.pdf|SoluzioneEserJava4]]&lt;br /&gt;
*[[Media:EserJava5.pdf|EserJava5]] (Navigatore)&lt;br /&gt;
*[[Media:EserJava6.pdf|EserJava6]] (Particella)&lt;br /&gt;
*[[Media:EserJava7.pdf|EserJava7]] (Conto)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#per l&#039;iscrizione all&#039;esame scritto è necessario utilizzare &#039;&#039;&#039;ESSE3&#039;&#039;&#039; e iscriversi entro la scadenza (di norma 2-3 giorni prima dell&#039;appello scritto stesso, me &amp;amp;egrave; bene controllare su ESSE3); &lt;br /&gt;
#&amp;amp;egrave; necessario aver superato lo scritto per presentare il progetto;&lt;br /&gt;
#la presentazione del progetto pu&amp;amp;ograve; avvenire anche in un appello diverso da quello dello scritto;&lt;br /&gt;
#la consegna di uno scritto cancella il voto precedente; la partecipazione ad uno scritto &#039;&#039;senza&#039;&#039; consegnare non cancella il voto precedente;&lt;br /&gt;
#il voto dello scritto vale orientativamente 1 anno; contattare il docente entro l&#039;anno se non si riesce a presentare il progetto e si richiede una proroga della validit&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
==Modalità di Sviluppo del Progetto Java==&lt;br /&gt;
All&#039;esame si deve presentare e discutere un programma realizzato in Java e che presenti le seguenti caratteristiche:&lt;br /&gt;
&lt;br /&gt;
* Sia dotato di &#039;&#039;&#039;interfaccia grafica&#039;&#039;&#039; tramite cui interagire con il programma stesso.&lt;br /&gt;
* Sfrutti i meccanismi della programmazione ad oggetti: &lt;br /&gt;
**&#039;&#039;&#039;incapsulamento&#039;&#039;&#039;; &lt;br /&gt;
**&#039;&#039;&#039;ereditarietà&#039;&#039;&#039; e, se necessario, le classi astratte e le interfacce (si considerano &#039;&#039;&#039;escluse&#039;&#039;&#039; le relazioni di ereditarietà diretta da classi di libreria Java); &lt;br /&gt;
**&#039;&#039;&#039;polimorfismo&#039;&#039;&#039;.&lt;br /&gt;
* Sfrutti le classi di sistema Java per la gestione dell&#039;&#039;&#039;&#039;input/output&#039;&#039;&#039; (&amp;lt;tt&amp;gt;Reader&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Writer&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;InputStream&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;OutputStream&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Utilizzi le &#039;&#039;&#039;strutture dati&#039;&#039;&#039; di libreria e i &#039;&#039;&#039;generics&#039;&#039;&#039;, motivando le scelte fatte. &lt;br /&gt;
* Sia diviso coerente in &#039;&#039;&#039;package&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Gli studenti sono invitati a seguire la traccia fornita dal docente.&lt;br /&gt;
In casi particolari, uno studente pu&amp;amp;ograve; proporre una proporia traccia, che &#039;&#039;&#039;deve&#039;&#039;&#039; essere approvata dal docente (anche via email).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Il programma deve essere una applicazione Java e &#039;&#039;&#039;NON&#039;&#039;&#039; una applet. --&amp;gt;&lt;br /&gt;
Il programma deve essere eseguito da &#039;&#039;&#039;linea di comando&#039;&#039;&#039;; non devono essere usate librerie proprietarie (ad es. quelle degli ambienti integrati) a meno di averlo concordato con il docente.&lt;br /&gt;
È opportuno &#039;&#039;&#039;provare&#039;&#039;&#039; il proprio programma su un altro computer (ad es. in laboratorio) prima di presentarlo in sede d&#039;esame, per verificare la portabilità.&lt;br /&gt;
&lt;br /&gt;
Il software deve essere accompagnato da pagine di &#039;&#039;&#039;documentazione&#039;&#039;&#039; HTML (tipicamente le pagine generate tramite Javadoc o altri strumenti come Doxygen) che descrivano le scelte di progetto effettuate e la struttura del sistema software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- A progetto realizzato, si valuterà il progetto (e il voto conseguente), ferma restando la possibilità del docente (e dello studente) di richiedere l&#039;integrazione nel progetto di ulteriori funzionalità/caratteristiche. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il progetto va portato il giorno dell&#039;esame, su un supporto tipo chiavetta USB; portare anche il proprio PC per sicurezza. (&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21 il progetto va consegnato in anticipo).&lt;br /&gt;
&lt;br /&gt;
In casi eccezionali &amp;amp;egrave; possibile presentare progetti di gruppo (2 persone), posto che l&#039;ampiezza del progetto sia tale da giustificare il suo sviluppo cooperativo. In tale caso, comunque, la discussione sarà esplicitamente volta a valutare, per ciascuno dei componenti del gruppo, l&#039;effettiva padronanza d&#039;uso dei concetti di base della programmazione ad oggetti, del linguaggio Java e delle sue librerie Java, oltre naturalmente all&#039;apporto individuale dato al progetto globale da ogni singolo membro del gruppo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Problemi &#039;&#039;&#039;DA EVITARE&#039;&#039;&#039; in sede di esame:&lt;br /&gt;
*Il programma non funziona&lt;br /&gt;
*Manca qualcosa (di solito, la documentazione)&lt;br /&gt;
*Il progetto è diviso su pi&amp;amp;ugrave; programmi (eventualmente da concordare con il docente)&lt;br /&gt;
*L’ereditariet&amp;amp;agrave; &amp;amp;egrave; usata male&lt;br /&gt;
*&amp;quot;Non mi ricordo come funziona perch&amp;amp;eacute; ho fatto il programma tempo fa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Traccia ==&lt;br /&gt;
[[Image:tesina.png|right|90px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; disponibile il [[Media:Tesina2025-26.pdf| testo della traccia]] da svolgere per l&#039;anno accademico 2025/26.&lt;br /&gt;
Chi decide di svolgere il progetto proposto dalla traccia, non ha bisogno di approvazione.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2025-26.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2025/26.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2425.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2324.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2223.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2022/23.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2122.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2021/22.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2021.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2020/21.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1920.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2019/20.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1819.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2018/19.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1718.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2017/18.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1617.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2016/17.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1516.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2015/16.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1415.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2014/15.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1314.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2013/14.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1213.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2012/13.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1112.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2011/12.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1011.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2010/11.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina0910.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2009/10.&lt;br /&gt;
&lt;br /&gt;
=Appelli=&lt;br /&gt;
[[Image:iscrizione.png|90px|right]]&lt;br /&gt;
Le date degli appelli sono disponibili sul sito ESSE3 (http://www.esse3.unimore.it).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
del corso di laurea&lt;br /&gt;
all&#039;indirizzo&lt;br /&gt;
&lt;br /&gt;
http://informatica.scienze.unimo.it/lt/Esami.php&lt;br /&gt;
&lt;br /&gt;
Dall&#039;AA 2006/07 viene usata la verbalizzazione elettronica; chi vuole sostenere l&#039;esame DEVE quindi iscriversi tramite il [http://www.esse3.unimore.it sito di ESSE3].&lt;br /&gt;
&lt;br /&gt;
NOTA: sul sito di ESSE3 sono presenti le date degli appelli &#039;&#039;&#039;orali&#039;&#039;&#039;, per la presentazione dei progetto.&lt;br /&gt;
Per l&#039;iscrizione agli appelli &#039;&#039;&#039;scritti&#039;&#039;&#039; &amp;amp;egrave; necessario inviare una email al docente entro 2 giorni prima dell&#039;appello scritto stesso, usando l&#039;indirizzo email &#039;&#039;&#039;universitario&#039;&#039;&#039; e specificando &#039;&#039;&#039;nome&#039;&#039;&#039;, &#039;&#039;&#039;cognome&#039;&#039;&#039; e &#039;&#039;&#039;matricola&#039;&#039;&#039;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Preappello==&lt;br /&gt;
Luned&amp;amp;igrave; 14 dicembre 2009 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un preappello valido per l&#039;esame scritto.&lt;br /&gt;
&lt;br /&gt;
Chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre con nome, cognome e matricola.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Risultati=&lt;br /&gt;
&lt;br /&gt;
Da settembre 2011 i risultati vengono comunicati tramite ESSE3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[RisultatiPO|Risultati]] degli appelli scritti precedenti:&lt;br /&gt;
*16 febbraio 2011&lt;br /&gt;
*20 gennaio 2011&lt;br /&gt;
*20 dicembre 2010&lt;br /&gt;
*18 gennaio 2010&lt;br /&gt;
*14 dicembre 2009&lt;br /&gt;
*22 giugno 2009&lt;br /&gt;
*10 giugno 2009&lt;br /&gt;
*19 febbraio 2009&lt;br /&gt;
*14 gennaio 2009&lt;br /&gt;
*15 dicembre 2008&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Testi Consigliati=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testo Dell&#039;Insegnamento&#039;&#039;&#039;&lt;br /&gt;
[[Image:textbook.png|100px|right]]&lt;br /&gt;
*G. Cabri, F. Zambonelli, &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Altri Testi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* C.S. Horstmann, &amp;quot;Concetti di informatica e fondamenti di Java&amp;quot;, Apogeo.&lt;br /&gt;
* B. Eckel, &amp;quot;Thinking in Java&amp;quot;, 4 edizione italiana, Pearson, (scaricabile gratuitamente da Internet la versione inglese http://www.BruceEckel.com).&lt;br /&gt;
* Arnold, Gosling, Holmes, &amp;quot;Il linguaggio Java. Manuale ufficiale&amp;quot;, Pearson.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per chi vuole approfondire:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mazzanti, Milanese, &amp;quot;Programmazione di applicazioni grafiche in Java&amp;quot;, Apogeo.&lt;br /&gt;
* Gamma, Helm, Johnson, Vlissides, &amp;quot;Design Patterns&amp;quot;, Addison-Wesley.&lt;br /&gt;
* J.R. Hubbard, &amp;quot;Strutture dati in Java&amp;quot;, McGraw-Hill.&lt;br /&gt;
* M.A. Weiss, &amp;quot;Data Structures And Problem Solving Using Java&amp;quot;, 2nd Edition, Addison Wesley.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Slide Dell&#039;Insegnamento=&lt;br /&gt;
&lt;br /&gt;
Il materiale degli insegnamenti di Programmazione ad Oggetti e Introduzione alla Programmazione ad Oggetti &amp;amp;egrave; contenuto nel libro &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
In questa pagina sono riportate le slide usate a lezione.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IntroduzioneInsegnamentoPO.pdf| Introduzione all&#039;insegnamento]]&lt;br /&gt;
# [[Media:01-Motivazioni.pdf | Motivazioni]]&lt;br /&gt;
# [[Media:02-LimitiProgrammazioneTradizionale.pdf|Limiti della programmazione tradizionale]]&lt;br /&gt;
# [[Media:03-IntroOOP.pdf|Introduzione alla programmazione ad oggetti]]&lt;br /&gt;
# [[Media:04-IntroJava.pdf|Introduzione al linguaggio Java]]&lt;br /&gt;
# [[Media:05-OOPJava.pdf|OOP in Java]]&lt;br /&gt;
# [[Media:06-ClassiAstratteIntefacceJava.pdf|Classi astratte e interfacce]]&lt;br /&gt;
# [[Media:07-IOJava.pdf|I/O in Java]]&lt;br /&gt;
# [[Media:08-JavaGUI.pdf|GUI in Java]]&lt;br /&gt;
# [[Media:09-CostruttiAvanzatiJava.pdf|Costrutti avanzati Java]]&lt;br /&gt;
# [[Media:10-GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:11-StruttureDatiJava.pdf|Strutture dati in Java]]&lt;br /&gt;
# [[Media:12-ThreadJava.pdf|Thread in Java]]&lt;br /&gt;
&lt;br /&gt;
==C++==&lt;br /&gt;
&lt;br /&gt;
# [[Media:01_intro_da_java_a_cpp_.pdf | Introduzione da Java a C++]]&lt;br /&gt;
# [[Media:02_Strings&amp;amp;Templates.pdf | Strings e Templates]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Vecchie slide&lt;br /&gt;
* [[index.php?title=Media:09-Applet.pdf|Applet in Java]] (fatte fino all&#039;AA 2015/16)&lt;br /&gt;
* [[index.php?title=Media:UML01-LinguaggioUML 1.pdf|UML (prima parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
* [[index.php?title=Media:UML02-LinguaggioUML 2.pdf|UML (seconda parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Media:Classi.pdf|Classi di memorizzazione in C]]&lt;br /&gt;
# [[Media:TabelleMenuLayout.pdf|Tabelle, menu e layout in Java]]&lt;br /&gt;
# [[Media:GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:NovitaJ2SE5.pdf|Novit&amp;amp;agrave; di Java 2 SE 5]]&lt;br /&gt;
&lt;br /&gt;
# [[Media:JavaClassAsInterfacce.pdf| Classi Astratte e Interfacce in Java]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seminari==&lt;br /&gt;
[[index.php?title=Media:SeminarioJavaInfolog2015.pdf|Seminario]] sull&#039;uso di Java in azienda (Infolog, 9/12/2015)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2017.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2017)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2018.pdf|Seminario]] su C# (Paolo Burgio, 3/12/2018)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2015.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2019) - [[index.php?title=Media:ConsoleApp4.zip|Codice]] presentato durante il seminario&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Esempi presentati a lezione =&lt;br /&gt;
[[Image:eserciziLezione.png|right]]&lt;br /&gt;
Gli esempi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma [http://www.adobe.com/it/ Adobe Acrobat], di pubblico domino, altri in semplice formato testo.&lt;br /&gt;
Tutti gli esercizi sono stati realizzati in collaborazione con la Prof. Letizia Leonardi.&lt;br /&gt;
&lt;br /&gt;
*[[index.php?title=Media:ContoCorrente.pdf|Conto corrente in C]]&lt;br /&gt;
*[[index.php?title=Media:IOBinario.pdf|I/O Binario]]&lt;br /&gt;
*[[index.php?title=Media:Calcolatrice.zip|Calcolatrice]]&lt;br /&gt;
*[[index.php?title=Media:GraficoFunzioni.zip|Grafico di funzioni]]&lt;br /&gt;
*[[index.php?title=Media:CampoStellare.zip|Campo stellare]]&lt;br /&gt;
&lt;br /&gt;
===Programmazione ad Oggetti e Java===&lt;br /&gt;
Gli esercizi sono gli stessi contenuti nei lucidi della parte teorica, ma da qui e&#039; possibile salvare su un file (facendo &amp;quot;salva link con nome&amp;quot;) il sorgente della gran parte degli esercizi.&lt;br /&gt;
&lt;br /&gt;
====Java: Le Classi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Classi&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=13|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:Counter.java|Counter.java]], [[index.php?title=Media:Esempio0.java|Esempio0.java]], [[index.php?title=Media:Esempio1.java|Esempio1.java]], [[index.php?title=Media:Esempio2.java|Esempio2.java]], [[index.php?title=Media:Esempio2bis.java|Esempio2bis.java]], [[index.php?title=Media:Esempio3.java|Esempio3.java]], [[index.php?title=Media:Esempio4.java|Esempio4.java]], [[index.php?title=Media:Esempio5.java|Esempio5.java]], [[index.php?title=Media:Esempio5bis.java|Esempio5bis.java]], [[index.php?title=Media:Esempio6.java|Esempio6.java]], [[index.php?title=Media:Esempio7.java|Esempio7.java]], [[index.php?title=Media:Point.java|Point.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Java: Classi Astratte e Interfacce====&lt;br /&gt;
====Java: Ereditarietà====&lt;br /&gt;
====Java: Le Eccezioni====&lt;br /&gt;
====Java: Input e Output====&lt;br /&gt;
====Java: Programmazione Grafica e ad Eventi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Grafica&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=36|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:CalcButton.java|CalcButton.java]], [[index.php?title=Media:CalcPanel.java|CalcPanel.java]], [[index.php?title=Media:Calculator.java|Calculator.java]], [[index.php?title=Media:Es10Panel.java|Es10Panel.java]], [[index.php?title=Media:Es11Panel.java|Es11Panel.java]], [[index.php?title=Media:Es12Panel.java|Es12Panel.java]], [[index.php?title=Media:Es13Panel.java|Es13Panel.java]], [[index.php?title=Media:Es14Panel.java|Es14Panel.java]], [[index.php?title=Media:Es15Panel.java|Es15Panel.java]], [[index.php?title=Media:Es16Panel.java|Es16Panel.java]], [[index.php?title=Media:Es7Panel.java|Es7Panel.java]], [[index.php?title=Media:Es8Panel.java|Es8Panel.java]], [[index.php?title=Media:Es9Panel.java|Es9Panel.java]], [[index.php?title=Media:EsSwing1.java|EsSwing1.java]], [[index.php?title=Media:EsSwing10.java|EsSwing10.java]], [[index.php?title=Media:EsSwing11.java|EsSwing11.java]], [[index.php?title=Media:EsSwing12.java|EsSwing12.java]], [[index.php?title=Media:EsSwing13.java|EsSwing13.java]], [[index.php?title=Media:EsSwing14.java|EsSwing14.java]], [[index.php?title=Media:EsSwing15.java|EsSwing15.java]], [[index.php?title=Media:EsSwing16.java|EsSwing16.java]], [[index.php?title=Media:EsSwing2.java|EsSwing2.java]], [[index.php?title=Media:EsSwing3.java|EsSwing3.java]], [[index.php?title=Media:EsSwing4.java|EsSwing4.java]], [[index.php?title=Media:EsSwing5.java|EsSwing5.java]], [[index.php?title=Media:EsSwing6.java|EsSwing6.java]], [[index.php?title=Media:EsSwing7.java|EsSwing7.java]], [[index.php?title=Media:EsSwing8.java|EsSwing8.java]], [[index.php?title=Media:EsSwing9.java|EsSwing9.java]], [[index.php?title=Media:EsSwingCalculator.java|EsSwingCalculator.java]], [[index.php?title=Media:FunctionPanel.java|FunctionPanel.java]], [[index.php?title=Media:ImgPanel.java|ImgPanel.java]], [[index.php?title=Media:MyFrame.java|MyFrame.java]], [[index.php?title=Media:MyPanel.java|MyPanel.java]], [[index.php?title=Media:Terminator.java|Terminator.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Java: Le Applet====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Applet&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=9|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Applet1.java|Applet1.java]], [[Media:Applet2.java|Applet2.java]], [[Media:Applet2Listener.java|Applet2Listener.java]], [[Media:Applet3.java|Applet3.java]], [[Media:Applet3Listener.java|Applet3Listener.java]], &lt;br /&gt;
[[Media:Applet4.java|Applet4.java]], [[Media:Applet5.java|Applet5.java]], [[Media:Application2.java|Application2.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Strumenti Software=&lt;br /&gt;
[[Image:strumenti.png|right]]&lt;br /&gt;
Si indicano di seguito gli strumenti software che si utilizzano durante l&#039;insegnamento e si indica dove e&#039; possibile reperirli.&lt;br /&gt;
&lt;br /&gt;
* Per sviluppare programmi in Java si utilizza il JDK (Java Development Kit). Si può scaricare:&lt;br /&gt;
**dal sito [https://www.oracle.com/java/technologies/downloads/ Java at Oracle]&lt;br /&gt;
**dal sito [https://openjdk.java.net OpenJDK]&lt;br /&gt;
* &#039;&#039;&#039;NOTA:&#039;&#039;&#039; &amp;amp;Egrave; necessario utilizzare una versione del JDK maggiore o uguale alla 1.5 (Java J2SE 5). Si consiglia almeno la versione 11.&lt;br /&gt;
&amp;lt;!--* Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio--&amp;gt;&lt;br /&gt;
* Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è [http://www.eclipse.org/ Eclipse].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
*È possibile, per la parte C soltanto, usare un ambiente di programmazione integrato per il C disponibile qui: [http://www.delorie.com/djgpp/ Il compilatore DJGPP]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Esercitazioni di laboratorio=&lt;br /&gt;
 &lt;br /&gt;
Gli esercizi di laboratorio si possono trovare nella seguente pagina: [[EserciziPO|Esercizi di Programmazione ad Oggetti]].&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina2025-26.pdf&amp;diff=1076</id>
		<title>File:Tesina2025-26.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina2025-26.pdf&amp;diff=1076"/>
		<updated>2026-04-29T15:44:26Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1075</id>
		<title>Programmazione ad Oggetti</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1075"/>
		<updated>2026-04-29T15:43:59Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Traccia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&lt;br /&gt;
{{/box-testata|News|}}&lt;br /&gt;
{{/Evidenza}}&lt;br /&gt;
{{/box-fondo|[[Europa|Leggi la voce...]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{Userboxtop&lt;br /&gt;
| align = right&lt;br /&gt;
| backgroundcolor = lightyellow&lt;br /&gt;
| bordercolor = black&lt;br /&gt;
| extra-css =&lt;br /&gt;
| textcolor = &lt;br /&gt;
| toptext = NEWS&lt;br /&gt;
&amp;lt;!-- All of the parameters are optional. --&amp;gt;&lt;br /&gt;
&amp;lt;!--}}&lt;br /&gt;
La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
([[Wikipedia:Userboxes|Userboxes]] inserted here)&lt;br /&gt;
{{userboxbottom}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Questa pagina fornisce il materiale didattico e le informazioni relative all&#039;insegnamento di &#039;&#039;&#039;Programmazione ad Oggetti (9 CFU)&#039;&#039;&#039; per il Corso di Laurea in &#039;&#039;&#039;Informatica&#039;&#039;&#039;  e per l&#039;insegnamento di &#039;&#039;&#039;Introduzione alla Programmazione ad Oggetti (6 CFU)&#039;&#039;&#039; a partire dall&#039;AA 2008/2009.&lt;br /&gt;
&lt;br /&gt;
Si veda [http://{{SERVERNAME}}/didattica/lpo/ questa pagina] per informazioni su:&lt;br /&gt;
*Programmazione ad Oggetti (6 CFU - 2007/08)&lt;br /&gt;
*Linguaggi per la Programmazione ad Oggetti (6 CFU - fino al 2006/2007)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
&lt;br /&gt;
==Ultime news==&lt;br /&gt;
   Nel 2025/26 l&#039;insegnamento si terr&amp;amp;agrave; nel secondo semestre.&lt;br /&gt;
&lt;br /&gt;
==Vecchie news==&lt;br /&gt;
&lt;br /&gt;
=== 2024/25 ===&lt;br /&gt;
   Le lezioni dell&#039;AA 2024/25 si svolgeranno in presenza a partire dal 25/9/2024.&lt;br /&gt;
&lt;br /&gt;
=== 2023/24 ===&lt;br /&gt;
 &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2023/24.&lt;br /&gt;
&lt;br /&gt;
 Le lezioni dell&#039;AA 2023/24 si svolgeranno in presenza a partire dal 27/9/2023.&lt;br /&gt;
&lt;br /&gt;
===2022/23===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2022/23.&lt;br /&gt;
  Le lezioni dell&#039;AA 2022/23 si svolgeranno in presenza a partire dal 28/9/2022.&lt;br /&gt;
&lt;br /&gt;
===2021/22===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2021/22&lt;br /&gt;
  Le lezioni dell&#039;AA 2021/22 si svolgeranno in presenza.&lt;br /&gt;
&lt;br /&gt;
===2020/21===&lt;br /&gt;
  Per l&#039;AA 2020/21 l&#039;esame scritto è sostituito dalla consegna anticipata del progetto.&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni dell&#039;AA 2020/21 si svolgeranno in modalità a distanza tramite la piattaforma Dolly (https://dolly.fim.unimore.it/2020)&lt;br /&gt;
&lt;br /&gt;
===2019/20===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 19/11/2019 si terr&amp;amp;agrave; alle 14 in aula L1.3.&lt;br /&gt;
  La lezione di venerd&amp;amp;igrave; 15/11/2019 non si terr&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
===2017/18===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Sono aperte le iscrizioni tramite ESSE3 al preppello scritto che si svolger&amp;amp;agrave; il 18 dicembre 2017 alle ore 8.45 in Aula M1.4.&lt;br /&gt;
&lt;br /&gt;
===2016/17===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
&lt;br /&gt;
===2015/16===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 29 settembre 2015 si terr&amp;amp;agrave; in aula M1.3 (Aula III) dalle 14 alle 17 invece che in laboratorio&lt;br /&gt;
  Il 21/12/15 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2014/15===&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; in aula M2.5 (ex aula X matematica) dalle 14 alle 17&lt;br /&gt;
  La mattina di luned&amp;amp;igrave; 1 dicembre 2014 sono sospese le lezioni per l&#039;inaugurazione dell&#039;anno accademico&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 24 novembre e mercoled&amp;amp;igrave; 26 novembre 2014 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 30 settembre 2014 si terr&amp;amp;agrave; in aula M1.5 (ex aula IV)&lt;br /&gt;
&lt;br /&gt;
===2013/14===&lt;br /&gt;
  Il 9/12/13 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 2/12/13 &amp;amp;egrave; spostata a marted&amp;amp;igrave; 2/12/13 al posto dell&#039;esercitazione&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 25/11/13 e mercoled&amp;amp;igrave; 27/11/13 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 24/9/13 si terr&amp;amp;agrave; in laboratorio BASE alle ore 14&lt;br /&gt;
&lt;br /&gt;
===2012/13===&lt;br /&gt;
  Il 12/12/12 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3, ma chi ha problemi puo&#039; mandare una email al docente entro il 9/12&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 21 novembre sar&amp;amp;agrave; sostituita da Linguaggi Formali e Compilatori del prof. Leoncini.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 2 ottobre si terr&amp;amp;agrave; in aula V.&lt;br /&gt;
  Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 a causa di un impegno all&#039;estero del docente.&lt;br /&gt;
&lt;br /&gt;
===2011/12===&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 7 dicembre si terr&amp;amp;agrave; regolarmente alle 11, l&#039;ing. Elton Domnori terr&amp;amp;agrave; un seminario sulla programmazione dei dispositivi mobili&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2011/12&lt;br /&gt;
  Luned&amp;amp;igrave; 5 dicembre si terr&amp;amp;agrave; il preappello scritto; &amp;amp;egrave; necessario iscriversi tramite ESSE3.&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 16 novembre &amp;amp;egrave; anticipata alle ore 9.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 7 novembre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 5 ottobre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 27 settembre si terr&amp;amp;agrave; in aula V e NON in laboratorio.&lt;br /&gt;
  &amp;amp;Egrave; stato definito l&#039;orario delle lezioni.&lt;br /&gt;
  Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011.&lt;br /&gt;
&lt;br /&gt;
===2010/11===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2010/11&lt;br /&gt;
  Le lezioni del mercoled&amp;amp;igrave; si tengono in aula V.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 21/12/10 si tiene in aula V&lt;br /&gt;
  Luned&amp;amp;igrave; 20 dicembre 2010 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto;&lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare, deve mandare una email al docente &lt;br /&gt;
  ENTRO venerd&amp;amp;igrave; 17/12 con nome, cognome e numero di matricola&lt;br /&gt;
  Le lezioni inizieranno l&#039;11 ottobre 2010.&lt;br /&gt;
&lt;br /&gt;
===2009/10===&lt;br /&gt;
  L&#039;esame scritto del 15 febbraio 2010 non si terr&amp;amp;agrave; per mancanza di iscritti&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 14/12/09&lt;br /&gt;
  &amp;amp;Egrave; disponibile una traccia del progetto da portare all&#039;esame&lt;br /&gt;
  L&#039;ultima lezione dell&#039;AA 2009/10 si terr&amp;amp;agrave; il 15 dicembre 2009&lt;br /&gt;
  Mercoled&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; una esercitazione sull&#039;esame scritto&lt;br /&gt;
  Luned&amp;amp;igrave; &#039;&#039;&#039;14 dicembre&#039;&#039;&#039; 2009 alle ore &#039;&#039;&#039;11&#039;&#039;&#039; in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto; &lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre 2009;&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 7 dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 1° dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;esercitazione del 30 settembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;appello scritto del 15 luglio 2009 non si terr&amp;amp;agrave; in quanto non c&#039;&amp;amp;egrave; nessun iscritto&lt;br /&gt;
  Venerd&amp;amp;igrave; 12 e sabato 13 giugno 2009 il sistema ESSE3 non sar&amp;amp;agrave; disponibile per iscriversi agli esami e neanche per compilare il questionario di valutazione&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 15/12/08&lt;br /&gt;
  Sono state pubblicate le date degli appelli della sessione straordinaria 2008/2009&lt;br /&gt;
  Sono disponibili alcuni esercizi per l&#039;appello scritto&lt;br /&gt;
  Luned&amp;amp;igrave; 15 dicembre 2008 si terr&amp;amp;agrave; un pre-appello scritto alle ore 11 in aula V a Matematica; per iscriversi contattare il docente&lt;br /&gt;
  I giorni 18 e 19 novembre 2008 non si svolgeranno le lezioni&lt;br /&gt;
  La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
  Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
&lt;br /&gt;
=Informazioni sul docente=&lt;br /&gt;
[[Image:docente.png|left|100px]]&lt;br /&gt;
&#039;&#039;&#039;[[Utente:Giacomo Cabri| Prof. Giacomo Cabri]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Università di Modena e Reggio Emilia, Via Campi 213/B - 41125 Modena&lt;br /&gt;
&lt;br /&gt;
Telefono 0592058320 - Fax 0592055216&lt;br /&gt;
&lt;br /&gt;
[mailto:giacomo.cabri@unimore.it giacomo.cabri@unimore.it]&lt;br /&gt;
&lt;br /&gt;
=Orario delle Lezioni=&lt;br /&gt;
&lt;br /&gt;
L&#039;orario ufficiale è riportato qui: [https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html]&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2023/24==&lt;br /&gt;
Le lezioni dell&#039;AA 2023/24 inizieranno il 25 settembre 2023 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2022/23==&lt;br /&gt;
Le lezioni dell&#039;AA 2022/23 inizieranno il 28 settembre 2022 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2021/22==&lt;br /&gt;
Le lezioni dell&#039;AA 2021/22 inizieranno il 20 settembre 2021 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula L1.3 presso Fisica&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2020/21==&lt;br /&gt;
Le lezioni dell&#039;AA 2020/21 inizieranno il 21 settembre 2020 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;grave; dalle 14 alle 17 a distanza&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2019/20==&lt;br /&gt;
Le lezioni dell&#039;AA 2019/20 inizieranno il 23 settembre 2019 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 10 alle 12 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 13 alle 16 in laboratorio BASE presso Matematica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 12 alle 14 in aula L1.3 presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2018/19==&lt;br /&gt;
Le lezioni dell&#039;AA 2018/19 inizieranno il 24 settembre 2018 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in laboratorio BASE presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.3 (ex aula III) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2017/18==&lt;br /&gt;
Le lezioni dell&#039;AA 2017/18 inizieranno il 25 settembre 2017 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2016/17==&lt;br /&gt;
Le lezioni dell&#039;AA 2016/17 inizieranno il 26 settembre 2016 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2015/16==&lt;br /&gt;
Le lezioni dell&#039;AA 2015/16 inizieranno il 28 settembre 2015 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2014/15==&lt;br /&gt;
Le lezioni dell&#039;AA 2014/15 avranno il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2013/14==&lt;br /&gt;
Le lezioni dell&#039;AA 2013/14 avranno  il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2012/13==&lt;br /&gt;
Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2011/12==&lt;br /&gt;
Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2010/11==&lt;br /&gt;
Le lezioni dell&#039;AA 2010/11 dovrebbero iniziare il 27 settembre 2010 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 9 alle 11 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2009/10==&lt;br /&gt;
Le lezioni dell&#039;AA 2009/10 inizieranno il 28 settembre 2009 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2008/09==&lt;br /&gt;
Le lezioni si tengono dal 29 settembre al 19 dicembre 2008 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
=Finalità Dell&#039;Insegnamento e Consigli Utili=&lt;br /&gt;
&lt;br /&gt;
L&#039;informatica odierna non consiste solo nel definire algoritmi e programmi che realizzano tali algoritmi, ma anche nel comporre architetture software e hardware sulla base di componenti software o hardware. Partendo da questo motivo dominante, l&#039;insegnamento affronta i seguenti argomenti:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;: verranno illustrati i concetti generali, quali incapsulamento, ereditarietà e polimorfismo; verranno accennati i concetti di riusabilità e di composizione dei componenti software, illustrando il passaggio dalla programmazione modulare alla programmazione ad oggetti.&lt;br /&gt;
* &#039;&#039;&#039;Il linguaggio Java&#039;&#039;&#039;: verrà utilizzato come esempio di linguaggio ad oggetti, spiegando come i concetti generali sono implementati in Java; verrà inoltre spiegato come Java può essere sfruttato per lo sviluppo di interfacce grafiche.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per superare agevolmente l&#039;esame si consiglia agli studenti di seguire con continuità le lezioni e le esercitazioni dell&#039;insegnamento. Inoltre, si consiglia di non focalizzare la preparazione dell&#039;esame esclusivamente sullo studio dei libri e degli appunti, ma piuttosto di preparare l&#039;esame sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l&#039;esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ambienti di Programmazione Utilizzati&#039;&#039;: Compilatore C, Java 1.5 di pubblico dominio (disponibili in laboratorio).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Programma dell&#039;insegnamento=&lt;br /&gt;
&#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;&lt;br /&gt;
*Concetti generali&lt;br /&gt;
*Il Linguaggio Java&lt;br /&gt;
*Classi ed ereditarietà in Java&lt;br /&gt;
*I/O in Java&lt;br /&gt;
*Interfacce grafiche in Java&lt;br /&gt;
*Programmazione basata sugli eventi&lt;br /&gt;
*Strutture dati in Java&lt;br /&gt;
*Thread in Java&lt;br /&gt;
&lt;br /&gt;
=Modalità D&#039;Esame=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21, a causa della situazione pandemica, la prova scritta è &#039;&#039;sostituita&#039;&#039; dalla consegna anticipata del progetto. Le conoscenze che precedentemente erano verificate tramite lo scritto, per il 2020/21 verranno verificate sul progetto realizzato.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame si compone di uno scritto e di una discussione di un programma in Java che lo studente deve presentare all&#039;esame (e la cui proposta di progetto deve essere stata preventivamente approvata dal docente). Per maggiori dettagli, vedere il seguito di questa pagina.&lt;br /&gt;
&lt;br /&gt;
==Esame scritto==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;:  nell&#039;AA 2020/21 non è prevista la prova scritta.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame scritto serve a verificare che lo studente abbia acquisito le nozioni di astrazione, classificazione, ereditarietà e polimorfismo.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame consiste nella modellazione di alcune entità e la relativa implementazione in Java.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; possibile vedere il testo di alcuni esercizi: &lt;br /&gt;
*[[Media:EserJava1.pdf|EserJava1]] (Calcolatrice)&lt;br /&gt;
*[[Media:EserJava2.pdf|EserJava2]] (Rettangolo)&lt;br /&gt;
*[[Media:EserJava3.pdf|EserJava3]] (Termometro)&lt;br /&gt;
*[[Media:EserJava4.pdf|EserJava4]] (Lettore da dispositivo) [[Media:SoluzioneEserJava4.pdf|SoluzioneEserJava4]]&lt;br /&gt;
*[[Media:EserJava5.pdf|EserJava5]] (Navigatore)&lt;br /&gt;
*[[Media:EserJava6.pdf|EserJava6]] (Particella)&lt;br /&gt;
*[[Media:EserJava7.pdf|EserJava7]] (Conto)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#per l&#039;iscrizione all&#039;esame scritto è necessario utilizzare &#039;&#039;&#039;ESSE3&#039;&#039;&#039; e iscriversi entro la scadenza (di norma 2-3 giorni prima dell&#039;appello scritto stesso, me &amp;amp;egrave; bene controllare su ESSE3); &lt;br /&gt;
#&amp;amp;egrave; necessario aver superato lo scritto per presentare il progetto;&lt;br /&gt;
#la presentazione del progetto pu&amp;amp;ograve; avvenire anche in un appello diverso da quello dello scritto;&lt;br /&gt;
#la consegna di uno scritto cancella il voto precedente; la partecipazione ad uno scritto &#039;&#039;senza&#039;&#039; consegnare non cancella il voto precedente;&lt;br /&gt;
#il voto dello scritto vale orientativamente 1 anno; contattare il docente entro l&#039;anno se non si riesce a presentare il progetto e si richiede una proroga della validit&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
==Modalità di Sviluppo del Progetto Java==&lt;br /&gt;
All&#039;esame si deve presentare e discutere un programma realizzato in Java e che presenti le seguenti caratteristiche:&lt;br /&gt;
&lt;br /&gt;
* Sia dotato di &#039;&#039;&#039;interfaccia grafica&#039;&#039;&#039; tramite cui interagire con il programma stesso.&lt;br /&gt;
* Sfrutti i meccanismi della programmazione ad oggetti: &lt;br /&gt;
**&#039;&#039;&#039;incapsulamento&#039;&#039;&#039;; &lt;br /&gt;
**&#039;&#039;&#039;ereditarietà&#039;&#039;&#039; e, se necessario, le classi astratte e le interfacce (si considerano &#039;&#039;&#039;escluse&#039;&#039;&#039; le relazioni di ereditarietà diretta da classi di libreria Java); &lt;br /&gt;
**&#039;&#039;&#039;polimorfismo&#039;&#039;&#039;.&lt;br /&gt;
* Sfrutti le classi di sistema Java per la gestione dell&#039;&#039;&#039;&#039;input/output&#039;&#039;&#039; (&amp;lt;tt&amp;gt;Reader&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Writer&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;InputStream&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;OutputStream&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Utilizzi le &#039;&#039;&#039;strutture dati&#039;&#039;&#039; di libreria e i &#039;&#039;&#039;generics&#039;&#039;&#039;, motivando le scelte fatte. &lt;br /&gt;
* Sia diviso coerente in &#039;&#039;&#039;package&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Gli studenti sono invitati a seguire la traccia fornita dal docente.&lt;br /&gt;
In casi particolari, uno studente pu&amp;amp;ograve; proporre una proporia traccia, che &#039;&#039;&#039;deve&#039;&#039;&#039; essere approvata dal docente (anche via email).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Il programma deve essere una applicazione Java e &#039;&#039;&#039;NON&#039;&#039;&#039; una applet. --&amp;gt;&lt;br /&gt;
Il programma deve essere eseguito da &#039;&#039;&#039;linea di comando&#039;&#039;&#039;; non devono essere usate librerie proprietarie (ad es. quelle degli ambienti integrati) a meno di averlo concordato con il docente.&lt;br /&gt;
È opportuno &#039;&#039;&#039;provare&#039;&#039;&#039; il proprio programma su un altro computer (ad es. in laboratorio) prima di presentarlo in sede d&#039;esame, per verificare la portabilità.&lt;br /&gt;
&lt;br /&gt;
Il software deve essere accompagnato da pagine di &#039;&#039;&#039;documentazione&#039;&#039;&#039; HTML (tipicamente le pagine generate tramite Javadoc o altri strumenti come Doxygen) che descrivano le scelte di progetto effettuate e la struttura del sistema software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- A progetto realizzato, si valuterà il progetto (e il voto conseguente), ferma restando la possibilità del docente (e dello studente) di richiedere l&#039;integrazione nel progetto di ulteriori funzionalità/caratteristiche. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il progetto va portato il giorno dell&#039;esame, su un supporto tipo chiavetta USB; portare anche il proprio PC per sicurezza. (&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21 il progetto va consegnato in anticipo).&lt;br /&gt;
&lt;br /&gt;
In casi eccezionali &amp;amp;egrave; possibile presentare progetti di gruppo (2 persone), posto che l&#039;ampiezza del progetto sia tale da giustificare il suo sviluppo cooperativo. In tale caso, comunque, la discussione sarà esplicitamente volta a valutare, per ciascuno dei componenti del gruppo, l&#039;effettiva padronanza d&#039;uso dei concetti di base della programmazione ad oggetti, del linguaggio Java e delle sue librerie Java, oltre naturalmente all&#039;apporto individuale dato al progetto globale da ogni singolo membro del gruppo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Problemi &#039;&#039;&#039;DA EVITARE&#039;&#039;&#039; in sede di esame:&lt;br /&gt;
*Il programma non funziona&lt;br /&gt;
*Manca qualcosa (di solito, la documentazione)&lt;br /&gt;
*Il progetto è diviso su pi&amp;amp;ugrave; programmi (eventualmente da concordare con il docente)&lt;br /&gt;
*L’ereditariet&amp;amp;agrave; &amp;amp;egrave; usata male&lt;br /&gt;
*&amp;quot;Non mi ricordo come funziona perch&amp;amp;eacute; ho fatto il programma tempo fa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Traccia ==&lt;br /&gt;
[[Image:tesina.png|right|90px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; disponibile il [[Media:Tesina2025-26.pdf| testo della traccia]] da svolgere per l&#039;anno accademico 2025/26.&lt;br /&gt;
Chi decide di svolgere il progetto proposto dalla traccia, non ha bisogno di approvazione.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2025-26.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2025/26.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2425.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2324.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2223.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2022/23.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2122.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2021/22.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2021.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2020/21.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1920.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2019/20.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1819.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2018/19.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1718.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2017/18.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1617.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2016/17.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1516.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2015/16.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1415.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2014/15.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1314.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2013/14.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1213.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2012/13.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1112.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2011/12.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1011.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2010/11.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina0910.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2009/10.&lt;br /&gt;
&lt;br /&gt;
=Appelli=&lt;br /&gt;
[[Image:iscrizione.png|90px|right]]&lt;br /&gt;
Le date degli appelli sono disponibili sul sito ESSE3 (http://www.esse3.unimore.it).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
del corso di laurea&lt;br /&gt;
all&#039;indirizzo&lt;br /&gt;
&lt;br /&gt;
http://informatica.scienze.unimo.it/lt/Esami.php&lt;br /&gt;
&lt;br /&gt;
Dall&#039;AA 2006/07 viene usata la verbalizzazione elettronica; chi vuole sostenere l&#039;esame DEVE quindi iscriversi tramite il [http://www.esse3.unimore.it sito di ESSE3].&lt;br /&gt;
&lt;br /&gt;
NOTA: sul sito di ESSE3 sono presenti le date degli appelli &#039;&#039;&#039;orali&#039;&#039;&#039;, per la presentazione dei progetto.&lt;br /&gt;
Per l&#039;iscrizione agli appelli &#039;&#039;&#039;scritti&#039;&#039;&#039; &amp;amp;egrave; necessario inviare una email al docente entro 2 giorni prima dell&#039;appello scritto stesso, usando l&#039;indirizzo email &#039;&#039;&#039;universitario&#039;&#039;&#039; e specificando &#039;&#039;&#039;nome&#039;&#039;&#039;, &#039;&#039;&#039;cognome&#039;&#039;&#039; e &#039;&#039;&#039;matricola&#039;&#039;&#039;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Preappello==&lt;br /&gt;
Luned&amp;amp;igrave; 14 dicembre 2009 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un preappello valido per l&#039;esame scritto.&lt;br /&gt;
&lt;br /&gt;
Chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre con nome, cognome e matricola.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Risultati=&lt;br /&gt;
&lt;br /&gt;
Da settembre 2011 i risultati vengono comunicati tramite ESSE3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[RisultatiPO|Risultati]] degli appelli scritti precedenti:&lt;br /&gt;
*16 febbraio 2011&lt;br /&gt;
*20 gennaio 2011&lt;br /&gt;
*20 dicembre 2010&lt;br /&gt;
*18 gennaio 2010&lt;br /&gt;
*14 dicembre 2009&lt;br /&gt;
*22 giugno 2009&lt;br /&gt;
*10 giugno 2009&lt;br /&gt;
*19 febbraio 2009&lt;br /&gt;
*14 gennaio 2009&lt;br /&gt;
*15 dicembre 2008&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Testi Consigliati=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testo Dell&#039;Insegnamento&#039;&#039;&#039;&lt;br /&gt;
[[Image:textbook.png|100px|right]]&lt;br /&gt;
*G. Cabri, F. Zambonelli, &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Altri Testi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* C.S. Horstmann, &amp;quot;Concetti di informatica e fondamenti di Java&amp;quot;, Apogeo.&lt;br /&gt;
* B. Eckel, &amp;quot;Thinking in Java&amp;quot;, 4 edizione italiana, Pearson, (scaricabile gratuitamente da Internet la versione inglese http://www.BruceEckel.com).&lt;br /&gt;
* Arnold, Gosling, Holmes, &amp;quot;Il linguaggio Java. Manuale ufficiale&amp;quot;, Pearson.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per chi vuole approfondire:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mazzanti, Milanese, &amp;quot;Programmazione di applicazioni grafiche in Java&amp;quot;, Apogeo.&lt;br /&gt;
* Gamma, Helm, Johnson, Vlissides, &amp;quot;Design Patterns&amp;quot;, Addison-Wesley.&lt;br /&gt;
* J.R. Hubbard, &amp;quot;Strutture dati in Java&amp;quot;, McGraw-Hill.&lt;br /&gt;
* M.A. Weiss, &amp;quot;Data Structures And Problem Solving Using Java&amp;quot;, 2nd Edition, Addison Wesley.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Slide Dell&#039;Insegnamento=&lt;br /&gt;
&lt;br /&gt;
Il materiale degli insegnamenti di Programmazione ad Oggetti e Introduzione alla Programmazione ad Oggetti &amp;amp;egrave; contenuto nel libro &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
In questa pagina sono riportate le slide usate a lezione.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IntroduzioneInsegnamentoPO.pdf| Introduzione all&#039;insegnamento]]&lt;br /&gt;
# [[Media:01-Motivazioni.pdf | Motivazioni]]&lt;br /&gt;
# [[Media:02-LimitiProgrammazioneTradizionale.pdf|Limiti della programmazione tradizionale]]&lt;br /&gt;
# [[Media:03-IntroOOP.pdf|Introduzione alla programmazione ad oggetti]]&lt;br /&gt;
# [[Media:04-IntroJava.pdf|Introduzione al linguaggio Java]]&lt;br /&gt;
# [[Media:05-OOPJava.pdf|OOP in Java]]&lt;br /&gt;
# [[Media:06-ClassiAstratteIntefacceJava.pdf|Classi astratte e interfacce]]&lt;br /&gt;
# [[Media:07-IOJava.pdf|I/O in Java]]&lt;br /&gt;
# [[Media:08-JavaGUI.pdf|GUI in Java]]&lt;br /&gt;
# [[Media:09-CostruttiAvanzatiJava.pdf|Costrutti avanzati Java]]&lt;br /&gt;
# [[Media:10-GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:11-StruttureDatiJava.pdf|Strutture dati in Java]]&lt;br /&gt;
# [[Media:12-ThreadJava.pdf|Thread in Java]]&lt;br /&gt;
&lt;br /&gt;
==C++==&lt;br /&gt;
&lt;br /&gt;
# [[Media:01_intro_da_java_a_cpp_.pdf | Introduzione da Java a C++]]&lt;br /&gt;
# [[Media:02_Strings&amp;amp;Templates.pdf | Strings e Templates]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Vecchie slide&lt;br /&gt;
* [[index.php?title=Media:09-Applet.pdf|Applet in Java]] (fatte fino all&#039;AA 2015/16)&lt;br /&gt;
* [[index.php?title=Media:UML01-LinguaggioUML 1.pdf|UML (prima parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
* [[index.php?title=Media:UML02-LinguaggioUML 2.pdf|UML (seconda parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Media:Classi.pdf|Classi di memorizzazione in C]]&lt;br /&gt;
# [[Media:TabelleMenuLayout.pdf|Tabelle, menu e layout in Java]]&lt;br /&gt;
# [[Media:GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:NovitaJ2SE5.pdf|Novit&amp;amp;agrave; di Java 2 SE 5]]&lt;br /&gt;
&lt;br /&gt;
# [[Media:JavaClassAsInterfacce.pdf| Classi Astratte e Interfacce in Java]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seminari==&lt;br /&gt;
[[index.php?title=Media:SeminarioJavaInfolog2015.pdf|Seminario]] sull&#039;uso di Java in azienda (Infolog, 9/12/2015)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2017.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2017)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2018.pdf|Seminario]] su C# (Paolo Burgio, 3/12/2018)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2015.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2019) - [[index.php?title=Media:ConsoleApp4.zip|Codice]] presentato durante il seminario&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Esempi presentati a lezione =&lt;br /&gt;
[[Image:eserciziLezione.png|right]]&lt;br /&gt;
Gli esempi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma [http://www.adobe.com/it/ Adobe Acrobat], di pubblico domino, altri in semplice formato testo.&lt;br /&gt;
Tutti gli esercizi sono stati realizzati in collaborazione con la Prof. Letizia Leonardi.&lt;br /&gt;
&lt;br /&gt;
*[[index.php?title=Media:ContoCorrente.pdf|Conto corrente in C]]&lt;br /&gt;
*[[index.php?title=Media:IOBinario.pdf|I/O Binario]]&lt;br /&gt;
*[[index.php?title=Media:Calcolatrice.zip|Calcolatrice]]&lt;br /&gt;
*[[index.php?title=Media:GraficoFunzioni.zip|Grafico di funzioni]]&lt;br /&gt;
*[[index.php?title=Media:CampoStellare.zip|Campo stellare]]&lt;br /&gt;
&lt;br /&gt;
===Programmazione ad Oggetti e Java===&lt;br /&gt;
Gli esercizi sono gli stessi contenuti nei lucidi della parte teorica, ma da qui e&#039; possibile salvare su un file (facendo &amp;quot;salva link con nome&amp;quot;) il sorgente della gran parte degli esercizi.&lt;br /&gt;
&lt;br /&gt;
====Java: Le Classi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Classi&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=13|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:Counter.java|Counter.java]], [[index.php?title=Media:Esempio0.java|Esempio0.java]], [[index.php?title=Media:Esempio1.java|Esempio1.java]], [[index.php?title=Media:Esempio2.java|Esempio2.java]], [[index.php?title=Media:Esempio2bis.java|Esempio2bis.java]], [[index.php?title=Media:Esempio3.java|Esempio3.java]], [[index.php?title=Media:Esempio4.java|Esempio4.java]], [[index.php?title=Media:Esempio5.java|Esempio5.java]], [[index.php?title=Media:Esempio5bis.java|Esempio5bis.java]], [[index.php?title=Media:Esempio6.java|Esempio6.java]], [[index.php?title=Media:Esempio7.java|Esempio7.java]], [[index.php?title=Media:Point.java|Point.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Java: Classi Astratte e Interfacce====&lt;br /&gt;
====Java: Ereditarietà====&lt;br /&gt;
====Java: Le Eccezioni====&lt;br /&gt;
====Java: Input e Output====&lt;br /&gt;
====Java: Programmazione Grafica e ad Eventi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Grafica&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=36|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:CalcButton.java|CalcButton.java]], [[index.php?title=Media:CalcPanel.java|CalcPanel.java]], [[index.php?title=Media:Calculator.java|Calculator.java]], [[index.php?title=Media:Es10Panel.java|Es10Panel.java]], [[index.php?title=Media:Es11Panel.java|Es11Panel.java]], [[index.php?title=Media:Es12Panel.java|Es12Panel.java]], [[index.php?title=Media:Es13Panel.java|Es13Panel.java]], [[index.php?title=Media:Es14Panel.java|Es14Panel.java]], [[index.php?title=Media:Es15Panel.java|Es15Panel.java]], [[index.php?title=Media:Es16Panel.java|Es16Panel.java]], [[index.php?title=Media:Es7Panel.java|Es7Panel.java]], [[index.php?title=Media:Es8Panel.java|Es8Panel.java]], [[index.php?title=Media:Es9Panel.java|Es9Panel.java]], [[index.php?title=Media:EsSwing1.java|EsSwing1.java]], [[index.php?title=Media:EsSwing10.java|EsSwing10.java]], [[index.php?title=Media:EsSwing11.java|EsSwing11.java]], [[index.php?title=Media:EsSwing12.java|EsSwing12.java]], [[index.php?title=Media:EsSwing13.java|EsSwing13.java]], [[index.php?title=Media:EsSwing14.java|EsSwing14.java]], [[index.php?title=Media:EsSwing15.java|EsSwing15.java]], [[index.php?title=Media:EsSwing16.java|EsSwing16.java]], [[index.php?title=Media:EsSwing2.java|EsSwing2.java]], [[index.php?title=Media:EsSwing3.java|EsSwing3.java]], [[index.php?title=Media:EsSwing4.java|EsSwing4.java]], [[index.php?title=Media:EsSwing5.java|EsSwing5.java]], [[index.php?title=Media:EsSwing6.java|EsSwing6.java]], [[index.php?title=Media:EsSwing7.java|EsSwing7.java]], [[index.php?title=Media:EsSwing8.java|EsSwing8.java]], [[index.php?title=Media:EsSwing9.java|EsSwing9.java]], [[index.php?title=Media:EsSwingCalculator.java|EsSwingCalculator.java]], [[index.php?title=Media:FunctionPanel.java|FunctionPanel.java]], [[index.php?title=Media:ImgPanel.java|ImgPanel.java]], [[index.php?title=Media:MyFrame.java|MyFrame.java]], [[index.php?title=Media:MyPanel.java|MyPanel.java]], [[index.php?title=Media:Terminator.java|Terminator.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Java: Le Applet====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Applet&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=9|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Applet1.java|Applet1.java]], [[Media:Applet2.java|Applet2.java]], [[Media:Applet2Listener.java|Applet2Listener.java]], [[Media:Applet3.java|Applet3.java]], [[Media:Applet3Listener.java|Applet3Listener.java]], &lt;br /&gt;
[[Media:Applet4.java|Applet4.java]], [[Media:Applet5.java|Applet5.java]], [[Media:Application2.java|Application2.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Strumenti Software=&lt;br /&gt;
[[Image:strumenti.png|right]]&lt;br /&gt;
Si indicano di seguito gli strumenti software che si utilizzano durante l&#039;insegnamento e si indica dove e&#039; possibile reperirli.&lt;br /&gt;
&lt;br /&gt;
* Per sviluppare programmi in Java si utilizza il JDK (Java Development Kit). Si può scaricare:&lt;br /&gt;
**dal sito [https://www.oracle.com/java/technologies/downloads/ Java at Oracle]&lt;br /&gt;
**dal sito [https://openjdk.java.net OpenJDK]&lt;br /&gt;
* &#039;&#039;&#039;NOTA:&#039;&#039;&#039; &amp;amp;Egrave; necessario utilizzare una versione del JDK maggiore o uguale alla 1.5 (Java J2SE 5). Si consiglia almeno la versione 11.&lt;br /&gt;
&amp;lt;!--* Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio--&amp;gt;&lt;br /&gt;
* Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è [http://www.eclipse.org/ Eclipse].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
*È possibile, per la parte C soltanto, usare un ambiente di programmazione integrato per il C disponibile qui: [http://www.delorie.com/djgpp/ Il compilatore DJGPP]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Esercitazioni di laboratorio=&lt;br /&gt;
 &lt;br /&gt;
Gli esercizi di laboratorio si possono trovare nella seguente pagina: [[EserciziPO|Esercizi di Programmazione ad Oggetti]].&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:02_Strings%26Templates.pdf&amp;diff=1074</id>
		<title>File:02 Strings&amp;Templates.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:02_Strings%26Templates.pdf&amp;diff=1074"/>
		<updated>2026-04-29T15:42:43Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1073</id>
		<title>Programmazione ad Oggetti</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1073"/>
		<updated>2026-04-29T15:42:17Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* C++ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&lt;br /&gt;
{{/box-testata|News|}}&lt;br /&gt;
{{/Evidenza}}&lt;br /&gt;
{{/box-fondo|[[Europa|Leggi la voce...]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{Userboxtop&lt;br /&gt;
| align = right&lt;br /&gt;
| backgroundcolor = lightyellow&lt;br /&gt;
| bordercolor = black&lt;br /&gt;
| extra-css =&lt;br /&gt;
| textcolor = &lt;br /&gt;
| toptext = NEWS&lt;br /&gt;
&amp;lt;!-- All of the parameters are optional. --&amp;gt;&lt;br /&gt;
&amp;lt;!--}}&lt;br /&gt;
La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
([[Wikipedia:Userboxes|Userboxes]] inserted here)&lt;br /&gt;
{{userboxbottom}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Questa pagina fornisce il materiale didattico e le informazioni relative all&#039;insegnamento di &#039;&#039;&#039;Programmazione ad Oggetti (9 CFU)&#039;&#039;&#039; per il Corso di Laurea in &#039;&#039;&#039;Informatica&#039;&#039;&#039;  e per l&#039;insegnamento di &#039;&#039;&#039;Introduzione alla Programmazione ad Oggetti (6 CFU)&#039;&#039;&#039; a partire dall&#039;AA 2008/2009.&lt;br /&gt;
&lt;br /&gt;
Si veda [http://{{SERVERNAME}}/didattica/lpo/ questa pagina] per informazioni su:&lt;br /&gt;
*Programmazione ad Oggetti (6 CFU - 2007/08)&lt;br /&gt;
*Linguaggi per la Programmazione ad Oggetti (6 CFU - fino al 2006/2007)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
&lt;br /&gt;
==Ultime news==&lt;br /&gt;
   Nel 2025/26 l&#039;insegnamento si terr&amp;amp;agrave; nel secondo semestre.&lt;br /&gt;
&lt;br /&gt;
==Vecchie news==&lt;br /&gt;
&lt;br /&gt;
=== 2024/25 ===&lt;br /&gt;
   Le lezioni dell&#039;AA 2024/25 si svolgeranno in presenza a partire dal 25/9/2024.&lt;br /&gt;
&lt;br /&gt;
=== 2023/24 ===&lt;br /&gt;
 &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2023/24.&lt;br /&gt;
&lt;br /&gt;
 Le lezioni dell&#039;AA 2023/24 si svolgeranno in presenza a partire dal 27/9/2023.&lt;br /&gt;
&lt;br /&gt;
===2022/23===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2022/23.&lt;br /&gt;
  Le lezioni dell&#039;AA 2022/23 si svolgeranno in presenza a partire dal 28/9/2022.&lt;br /&gt;
&lt;br /&gt;
===2021/22===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2021/22&lt;br /&gt;
  Le lezioni dell&#039;AA 2021/22 si svolgeranno in presenza.&lt;br /&gt;
&lt;br /&gt;
===2020/21===&lt;br /&gt;
  Per l&#039;AA 2020/21 l&#039;esame scritto è sostituito dalla consegna anticipata del progetto.&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni dell&#039;AA 2020/21 si svolgeranno in modalità a distanza tramite la piattaforma Dolly (https://dolly.fim.unimore.it/2020)&lt;br /&gt;
&lt;br /&gt;
===2019/20===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 19/11/2019 si terr&amp;amp;agrave; alle 14 in aula L1.3.&lt;br /&gt;
  La lezione di venerd&amp;amp;igrave; 15/11/2019 non si terr&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
===2017/18===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Sono aperte le iscrizioni tramite ESSE3 al preppello scritto che si svolger&amp;amp;agrave; il 18 dicembre 2017 alle ore 8.45 in Aula M1.4.&lt;br /&gt;
&lt;br /&gt;
===2016/17===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
&lt;br /&gt;
===2015/16===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 29 settembre 2015 si terr&amp;amp;agrave; in aula M1.3 (Aula III) dalle 14 alle 17 invece che in laboratorio&lt;br /&gt;
  Il 21/12/15 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2014/15===&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; in aula M2.5 (ex aula X matematica) dalle 14 alle 17&lt;br /&gt;
  La mattina di luned&amp;amp;igrave; 1 dicembre 2014 sono sospese le lezioni per l&#039;inaugurazione dell&#039;anno accademico&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 24 novembre e mercoled&amp;amp;igrave; 26 novembre 2014 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 30 settembre 2014 si terr&amp;amp;agrave; in aula M1.5 (ex aula IV)&lt;br /&gt;
&lt;br /&gt;
===2013/14===&lt;br /&gt;
  Il 9/12/13 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 2/12/13 &amp;amp;egrave; spostata a marted&amp;amp;igrave; 2/12/13 al posto dell&#039;esercitazione&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 25/11/13 e mercoled&amp;amp;igrave; 27/11/13 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 24/9/13 si terr&amp;amp;agrave; in laboratorio BASE alle ore 14&lt;br /&gt;
&lt;br /&gt;
===2012/13===&lt;br /&gt;
  Il 12/12/12 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3, ma chi ha problemi puo&#039; mandare una email al docente entro il 9/12&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 21 novembre sar&amp;amp;agrave; sostituita da Linguaggi Formali e Compilatori del prof. Leoncini.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 2 ottobre si terr&amp;amp;agrave; in aula V.&lt;br /&gt;
  Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 a causa di un impegno all&#039;estero del docente.&lt;br /&gt;
&lt;br /&gt;
===2011/12===&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 7 dicembre si terr&amp;amp;agrave; regolarmente alle 11, l&#039;ing. Elton Domnori terr&amp;amp;agrave; un seminario sulla programmazione dei dispositivi mobili&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2011/12&lt;br /&gt;
  Luned&amp;amp;igrave; 5 dicembre si terr&amp;amp;agrave; il preappello scritto; &amp;amp;egrave; necessario iscriversi tramite ESSE3.&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 16 novembre &amp;amp;egrave; anticipata alle ore 9.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 7 novembre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 5 ottobre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 27 settembre si terr&amp;amp;agrave; in aula V e NON in laboratorio.&lt;br /&gt;
  &amp;amp;Egrave; stato definito l&#039;orario delle lezioni.&lt;br /&gt;
  Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011.&lt;br /&gt;
&lt;br /&gt;
===2010/11===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2010/11&lt;br /&gt;
  Le lezioni del mercoled&amp;amp;igrave; si tengono in aula V.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 21/12/10 si tiene in aula V&lt;br /&gt;
  Luned&amp;amp;igrave; 20 dicembre 2010 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto;&lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare, deve mandare una email al docente &lt;br /&gt;
  ENTRO venerd&amp;amp;igrave; 17/12 con nome, cognome e numero di matricola&lt;br /&gt;
  Le lezioni inizieranno l&#039;11 ottobre 2010.&lt;br /&gt;
&lt;br /&gt;
===2009/10===&lt;br /&gt;
  L&#039;esame scritto del 15 febbraio 2010 non si terr&amp;amp;agrave; per mancanza di iscritti&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 14/12/09&lt;br /&gt;
  &amp;amp;Egrave; disponibile una traccia del progetto da portare all&#039;esame&lt;br /&gt;
  L&#039;ultima lezione dell&#039;AA 2009/10 si terr&amp;amp;agrave; il 15 dicembre 2009&lt;br /&gt;
  Mercoled&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; una esercitazione sull&#039;esame scritto&lt;br /&gt;
  Luned&amp;amp;igrave; &#039;&#039;&#039;14 dicembre&#039;&#039;&#039; 2009 alle ore &#039;&#039;&#039;11&#039;&#039;&#039; in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto; &lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre 2009;&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 7 dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 1° dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;esercitazione del 30 settembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;appello scritto del 15 luglio 2009 non si terr&amp;amp;agrave; in quanto non c&#039;&amp;amp;egrave; nessun iscritto&lt;br /&gt;
  Venerd&amp;amp;igrave; 12 e sabato 13 giugno 2009 il sistema ESSE3 non sar&amp;amp;agrave; disponibile per iscriversi agli esami e neanche per compilare il questionario di valutazione&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 15/12/08&lt;br /&gt;
  Sono state pubblicate le date degli appelli della sessione straordinaria 2008/2009&lt;br /&gt;
  Sono disponibili alcuni esercizi per l&#039;appello scritto&lt;br /&gt;
  Luned&amp;amp;igrave; 15 dicembre 2008 si terr&amp;amp;agrave; un pre-appello scritto alle ore 11 in aula V a Matematica; per iscriversi contattare il docente&lt;br /&gt;
  I giorni 18 e 19 novembre 2008 non si svolgeranno le lezioni&lt;br /&gt;
  La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
  Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
&lt;br /&gt;
=Informazioni sul docente=&lt;br /&gt;
[[Image:docente.png|left|100px]]&lt;br /&gt;
&#039;&#039;&#039;[[Utente:Giacomo Cabri| Prof. Giacomo Cabri]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Università di Modena e Reggio Emilia, Via Campi 213/B - 41125 Modena&lt;br /&gt;
&lt;br /&gt;
Telefono 0592058320 - Fax 0592055216&lt;br /&gt;
&lt;br /&gt;
[mailto:giacomo.cabri@unimore.it giacomo.cabri@unimore.it]&lt;br /&gt;
&lt;br /&gt;
=Orario delle Lezioni=&lt;br /&gt;
&lt;br /&gt;
L&#039;orario ufficiale è riportato qui: [https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html]&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2023/24==&lt;br /&gt;
Le lezioni dell&#039;AA 2023/24 inizieranno il 25 settembre 2023 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2022/23==&lt;br /&gt;
Le lezioni dell&#039;AA 2022/23 inizieranno il 28 settembre 2022 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2021/22==&lt;br /&gt;
Le lezioni dell&#039;AA 2021/22 inizieranno il 20 settembre 2021 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula L1.3 presso Fisica&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2020/21==&lt;br /&gt;
Le lezioni dell&#039;AA 2020/21 inizieranno il 21 settembre 2020 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;grave; dalle 14 alle 17 a distanza&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2019/20==&lt;br /&gt;
Le lezioni dell&#039;AA 2019/20 inizieranno il 23 settembre 2019 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 10 alle 12 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 13 alle 16 in laboratorio BASE presso Matematica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 12 alle 14 in aula L1.3 presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2018/19==&lt;br /&gt;
Le lezioni dell&#039;AA 2018/19 inizieranno il 24 settembre 2018 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in laboratorio BASE presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.3 (ex aula III) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2017/18==&lt;br /&gt;
Le lezioni dell&#039;AA 2017/18 inizieranno il 25 settembre 2017 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2016/17==&lt;br /&gt;
Le lezioni dell&#039;AA 2016/17 inizieranno il 26 settembre 2016 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2015/16==&lt;br /&gt;
Le lezioni dell&#039;AA 2015/16 inizieranno il 28 settembre 2015 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2014/15==&lt;br /&gt;
Le lezioni dell&#039;AA 2014/15 avranno il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2013/14==&lt;br /&gt;
Le lezioni dell&#039;AA 2013/14 avranno  il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2012/13==&lt;br /&gt;
Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2011/12==&lt;br /&gt;
Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2010/11==&lt;br /&gt;
Le lezioni dell&#039;AA 2010/11 dovrebbero iniziare il 27 settembre 2010 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 9 alle 11 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2009/10==&lt;br /&gt;
Le lezioni dell&#039;AA 2009/10 inizieranno il 28 settembre 2009 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2008/09==&lt;br /&gt;
Le lezioni si tengono dal 29 settembre al 19 dicembre 2008 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
=Finalità Dell&#039;Insegnamento e Consigli Utili=&lt;br /&gt;
&lt;br /&gt;
L&#039;informatica odierna non consiste solo nel definire algoritmi e programmi che realizzano tali algoritmi, ma anche nel comporre architetture software e hardware sulla base di componenti software o hardware. Partendo da questo motivo dominante, l&#039;insegnamento affronta i seguenti argomenti:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;: verranno illustrati i concetti generali, quali incapsulamento, ereditarietà e polimorfismo; verranno accennati i concetti di riusabilità e di composizione dei componenti software, illustrando il passaggio dalla programmazione modulare alla programmazione ad oggetti.&lt;br /&gt;
* &#039;&#039;&#039;Il linguaggio Java&#039;&#039;&#039;: verrà utilizzato come esempio di linguaggio ad oggetti, spiegando come i concetti generali sono implementati in Java; verrà inoltre spiegato come Java può essere sfruttato per lo sviluppo di interfacce grafiche.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per superare agevolmente l&#039;esame si consiglia agli studenti di seguire con continuità le lezioni e le esercitazioni dell&#039;insegnamento. Inoltre, si consiglia di non focalizzare la preparazione dell&#039;esame esclusivamente sullo studio dei libri e degli appunti, ma piuttosto di preparare l&#039;esame sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l&#039;esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ambienti di Programmazione Utilizzati&#039;&#039;: Compilatore C, Java 1.5 di pubblico dominio (disponibili in laboratorio).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Programma dell&#039;insegnamento=&lt;br /&gt;
&#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;&lt;br /&gt;
*Concetti generali&lt;br /&gt;
*Il Linguaggio Java&lt;br /&gt;
*Classi ed ereditarietà in Java&lt;br /&gt;
*I/O in Java&lt;br /&gt;
*Interfacce grafiche in Java&lt;br /&gt;
*Programmazione basata sugli eventi&lt;br /&gt;
*Strutture dati in Java&lt;br /&gt;
*Thread in Java&lt;br /&gt;
&lt;br /&gt;
=Modalità D&#039;Esame=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21, a causa della situazione pandemica, la prova scritta è &#039;&#039;sostituita&#039;&#039; dalla consegna anticipata del progetto. Le conoscenze che precedentemente erano verificate tramite lo scritto, per il 2020/21 verranno verificate sul progetto realizzato.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame si compone di uno scritto e di una discussione di un programma in Java che lo studente deve presentare all&#039;esame (e la cui proposta di progetto deve essere stata preventivamente approvata dal docente). Per maggiori dettagli, vedere il seguito di questa pagina.&lt;br /&gt;
&lt;br /&gt;
==Esame scritto==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;:  nell&#039;AA 2020/21 non è prevista la prova scritta.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame scritto serve a verificare che lo studente abbia acquisito le nozioni di astrazione, classificazione, ereditarietà e polimorfismo.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame consiste nella modellazione di alcune entità e la relativa implementazione in Java.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; possibile vedere il testo di alcuni esercizi: &lt;br /&gt;
*[[Media:EserJava1.pdf|EserJava1]] (Calcolatrice)&lt;br /&gt;
*[[Media:EserJava2.pdf|EserJava2]] (Rettangolo)&lt;br /&gt;
*[[Media:EserJava3.pdf|EserJava3]] (Termometro)&lt;br /&gt;
*[[Media:EserJava4.pdf|EserJava4]] (Lettore da dispositivo) [[Media:SoluzioneEserJava4.pdf|SoluzioneEserJava4]]&lt;br /&gt;
*[[Media:EserJava5.pdf|EserJava5]] (Navigatore)&lt;br /&gt;
*[[Media:EserJava6.pdf|EserJava6]] (Particella)&lt;br /&gt;
*[[Media:EserJava7.pdf|EserJava7]] (Conto)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#per l&#039;iscrizione all&#039;esame scritto è necessario utilizzare &#039;&#039;&#039;ESSE3&#039;&#039;&#039; e iscriversi entro la scadenza (di norma 2-3 giorni prima dell&#039;appello scritto stesso, me &amp;amp;egrave; bene controllare su ESSE3); &lt;br /&gt;
#&amp;amp;egrave; necessario aver superato lo scritto per presentare il progetto;&lt;br /&gt;
#la presentazione del progetto pu&amp;amp;ograve; avvenire anche in un appello diverso da quello dello scritto;&lt;br /&gt;
#la consegna di uno scritto cancella il voto precedente; la partecipazione ad uno scritto &#039;&#039;senza&#039;&#039; consegnare non cancella il voto precedente;&lt;br /&gt;
#il voto dello scritto vale orientativamente 1 anno; contattare il docente entro l&#039;anno se non si riesce a presentare il progetto e si richiede una proroga della validit&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
==Modalità di Sviluppo del Progetto Java==&lt;br /&gt;
All&#039;esame si deve presentare e discutere un programma realizzato in Java e che presenti le seguenti caratteristiche:&lt;br /&gt;
&lt;br /&gt;
* Sia dotato di &#039;&#039;&#039;interfaccia grafica&#039;&#039;&#039; tramite cui interagire con il programma stesso.&lt;br /&gt;
* Sfrutti i meccanismi della programmazione ad oggetti: &lt;br /&gt;
**&#039;&#039;&#039;incapsulamento&#039;&#039;&#039;; &lt;br /&gt;
**&#039;&#039;&#039;ereditarietà&#039;&#039;&#039; e, se necessario, le classi astratte e le interfacce (si considerano &#039;&#039;&#039;escluse&#039;&#039;&#039; le relazioni di ereditarietà diretta da classi di libreria Java); &lt;br /&gt;
**&#039;&#039;&#039;polimorfismo&#039;&#039;&#039;.&lt;br /&gt;
* Sfrutti le classi di sistema Java per la gestione dell&#039;&#039;&#039;&#039;input/output&#039;&#039;&#039; (&amp;lt;tt&amp;gt;Reader&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Writer&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;InputStream&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;OutputStream&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Utilizzi le &#039;&#039;&#039;strutture dati&#039;&#039;&#039; di libreria e i &#039;&#039;&#039;generics&#039;&#039;&#039;, motivando le scelte fatte. &lt;br /&gt;
* Sia diviso coerente in &#039;&#039;&#039;package&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Gli studenti sono invitati a seguire la traccia fornita dal docente.&lt;br /&gt;
In casi particolari, uno studente pu&amp;amp;ograve; proporre una proporia traccia, che &#039;&#039;&#039;deve&#039;&#039;&#039; essere approvata dal docente (anche via email).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Il programma deve essere una applicazione Java e &#039;&#039;&#039;NON&#039;&#039;&#039; una applet. --&amp;gt;&lt;br /&gt;
Il programma deve essere eseguito da &#039;&#039;&#039;linea di comando&#039;&#039;&#039;; non devono essere usate librerie proprietarie (ad es. quelle degli ambienti integrati) a meno di averlo concordato con il docente.&lt;br /&gt;
È opportuno &#039;&#039;&#039;provare&#039;&#039;&#039; il proprio programma su un altro computer (ad es. in laboratorio) prima di presentarlo in sede d&#039;esame, per verificare la portabilità.&lt;br /&gt;
&lt;br /&gt;
Il software deve essere accompagnato da pagine di &#039;&#039;&#039;documentazione&#039;&#039;&#039; HTML (tipicamente le pagine generate tramite Javadoc o altri strumenti come Doxygen) che descrivano le scelte di progetto effettuate e la struttura del sistema software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- A progetto realizzato, si valuterà il progetto (e il voto conseguente), ferma restando la possibilità del docente (e dello studente) di richiedere l&#039;integrazione nel progetto di ulteriori funzionalità/caratteristiche. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il progetto va portato il giorno dell&#039;esame, su un supporto tipo chiavetta USB; portare anche il proprio PC per sicurezza. (&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21 il progetto va consegnato in anticipo).&lt;br /&gt;
&lt;br /&gt;
In casi eccezionali &amp;amp;egrave; possibile presentare progetti di gruppo (2 persone), posto che l&#039;ampiezza del progetto sia tale da giustificare il suo sviluppo cooperativo. In tale caso, comunque, la discussione sarà esplicitamente volta a valutare, per ciascuno dei componenti del gruppo, l&#039;effettiva padronanza d&#039;uso dei concetti di base della programmazione ad oggetti, del linguaggio Java e delle sue librerie Java, oltre naturalmente all&#039;apporto individuale dato al progetto globale da ogni singolo membro del gruppo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Problemi &#039;&#039;&#039;DA EVITARE&#039;&#039;&#039; in sede di esame:&lt;br /&gt;
*Il programma non funziona&lt;br /&gt;
*Manca qualcosa (di solito, la documentazione)&lt;br /&gt;
*Il progetto è diviso su pi&amp;amp;ugrave; programmi (eventualmente da concordare con il docente)&lt;br /&gt;
*L’ereditariet&amp;amp;agrave; &amp;amp;egrave; usata male&lt;br /&gt;
*&amp;quot;Non mi ricordo come funziona perch&amp;amp;eacute; ho fatto il programma tempo fa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Traccia ==&lt;br /&gt;
[[Image:tesina.png|right|90px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; disponibile il [[Media:Tesina2425.pdf| testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
Chi decide di svolgere il progetto proposto dalla traccia, non ha bisogno di approvazione.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2425.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2324.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2223.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2022/23.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2122.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2021/22.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2021.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2020/21.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1920.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2019/20.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1819.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2018/19.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1718.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2017/18.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1617.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2016/17.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1516.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2015/16.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1415.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2014/15.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1314.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2013/14.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1213.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2012/13.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1112.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2011/12.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1011.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2010/11.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina0910.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2009/10.&lt;br /&gt;
&lt;br /&gt;
=Appelli=&lt;br /&gt;
[[Image:iscrizione.png|90px|right]]&lt;br /&gt;
Le date degli appelli sono disponibili sul sito ESSE3 (http://www.esse3.unimore.it).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
del corso di laurea&lt;br /&gt;
all&#039;indirizzo&lt;br /&gt;
&lt;br /&gt;
http://informatica.scienze.unimo.it/lt/Esami.php&lt;br /&gt;
&lt;br /&gt;
Dall&#039;AA 2006/07 viene usata la verbalizzazione elettronica; chi vuole sostenere l&#039;esame DEVE quindi iscriversi tramite il [http://www.esse3.unimore.it sito di ESSE3].&lt;br /&gt;
&lt;br /&gt;
NOTA: sul sito di ESSE3 sono presenti le date degli appelli &#039;&#039;&#039;orali&#039;&#039;&#039;, per la presentazione dei progetto.&lt;br /&gt;
Per l&#039;iscrizione agli appelli &#039;&#039;&#039;scritti&#039;&#039;&#039; &amp;amp;egrave; necessario inviare una email al docente entro 2 giorni prima dell&#039;appello scritto stesso, usando l&#039;indirizzo email &#039;&#039;&#039;universitario&#039;&#039;&#039; e specificando &#039;&#039;&#039;nome&#039;&#039;&#039;, &#039;&#039;&#039;cognome&#039;&#039;&#039; e &#039;&#039;&#039;matricola&#039;&#039;&#039;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Preappello==&lt;br /&gt;
Luned&amp;amp;igrave; 14 dicembre 2009 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un preappello valido per l&#039;esame scritto.&lt;br /&gt;
&lt;br /&gt;
Chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre con nome, cognome e matricola.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Risultati=&lt;br /&gt;
&lt;br /&gt;
Da settembre 2011 i risultati vengono comunicati tramite ESSE3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[RisultatiPO|Risultati]] degli appelli scritti precedenti:&lt;br /&gt;
*16 febbraio 2011&lt;br /&gt;
*20 gennaio 2011&lt;br /&gt;
*20 dicembre 2010&lt;br /&gt;
*18 gennaio 2010&lt;br /&gt;
*14 dicembre 2009&lt;br /&gt;
*22 giugno 2009&lt;br /&gt;
*10 giugno 2009&lt;br /&gt;
*19 febbraio 2009&lt;br /&gt;
*14 gennaio 2009&lt;br /&gt;
*15 dicembre 2008&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Testi Consigliati=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testo Dell&#039;Insegnamento&#039;&#039;&#039;&lt;br /&gt;
[[Image:textbook.png|100px|right]]&lt;br /&gt;
*G. Cabri, F. Zambonelli, &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Altri Testi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* C.S. Horstmann, &amp;quot;Concetti di informatica e fondamenti di Java&amp;quot;, Apogeo.&lt;br /&gt;
* B. Eckel, &amp;quot;Thinking in Java&amp;quot;, 4 edizione italiana, Pearson, (scaricabile gratuitamente da Internet la versione inglese http://www.BruceEckel.com).&lt;br /&gt;
* Arnold, Gosling, Holmes, &amp;quot;Il linguaggio Java. Manuale ufficiale&amp;quot;, Pearson.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per chi vuole approfondire:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mazzanti, Milanese, &amp;quot;Programmazione di applicazioni grafiche in Java&amp;quot;, Apogeo.&lt;br /&gt;
* Gamma, Helm, Johnson, Vlissides, &amp;quot;Design Patterns&amp;quot;, Addison-Wesley.&lt;br /&gt;
* J.R. Hubbard, &amp;quot;Strutture dati in Java&amp;quot;, McGraw-Hill.&lt;br /&gt;
* M.A. Weiss, &amp;quot;Data Structures And Problem Solving Using Java&amp;quot;, 2nd Edition, Addison Wesley.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Slide Dell&#039;Insegnamento=&lt;br /&gt;
&lt;br /&gt;
Il materiale degli insegnamenti di Programmazione ad Oggetti e Introduzione alla Programmazione ad Oggetti &amp;amp;egrave; contenuto nel libro &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
In questa pagina sono riportate le slide usate a lezione.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IntroduzioneInsegnamentoPO.pdf| Introduzione all&#039;insegnamento]]&lt;br /&gt;
# [[Media:01-Motivazioni.pdf | Motivazioni]]&lt;br /&gt;
# [[Media:02-LimitiProgrammazioneTradizionale.pdf|Limiti della programmazione tradizionale]]&lt;br /&gt;
# [[Media:03-IntroOOP.pdf|Introduzione alla programmazione ad oggetti]]&lt;br /&gt;
# [[Media:04-IntroJava.pdf|Introduzione al linguaggio Java]]&lt;br /&gt;
# [[Media:05-OOPJava.pdf|OOP in Java]]&lt;br /&gt;
# [[Media:06-ClassiAstratteIntefacceJava.pdf|Classi astratte e interfacce]]&lt;br /&gt;
# [[Media:07-IOJava.pdf|I/O in Java]]&lt;br /&gt;
# [[Media:08-JavaGUI.pdf|GUI in Java]]&lt;br /&gt;
# [[Media:09-CostruttiAvanzatiJava.pdf|Costrutti avanzati Java]]&lt;br /&gt;
# [[Media:10-GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:11-StruttureDatiJava.pdf|Strutture dati in Java]]&lt;br /&gt;
# [[Media:12-ThreadJava.pdf|Thread in Java]]&lt;br /&gt;
&lt;br /&gt;
==C++==&lt;br /&gt;
&lt;br /&gt;
# [[Media:01_intro_da_java_a_cpp_.pdf | Introduzione da Java a C++]]&lt;br /&gt;
# [[Media:02_Strings&amp;amp;Templates.pdf | Strings e Templates]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Vecchie slide&lt;br /&gt;
* [[index.php?title=Media:09-Applet.pdf|Applet in Java]] (fatte fino all&#039;AA 2015/16)&lt;br /&gt;
* [[index.php?title=Media:UML01-LinguaggioUML 1.pdf|UML (prima parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
* [[index.php?title=Media:UML02-LinguaggioUML 2.pdf|UML (seconda parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Media:Classi.pdf|Classi di memorizzazione in C]]&lt;br /&gt;
# [[Media:TabelleMenuLayout.pdf|Tabelle, menu e layout in Java]]&lt;br /&gt;
# [[Media:GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:NovitaJ2SE5.pdf|Novit&amp;amp;agrave; di Java 2 SE 5]]&lt;br /&gt;
&lt;br /&gt;
# [[Media:JavaClassAsInterfacce.pdf| Classi Astratte e Interfacce in Java]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seminari==&lt;br /&gt;
[[index.php?title=Media:SeminarioJavaInfolog2015.pdf|Seminario]] sull&#039;uso di Java in azienda (Infolog, 9/12/2015)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2017.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2017)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2018.pdf|Seminario]] su C# (Paolo Burgio, 3/12/2018)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2015.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2019) - [[index.php?title=Media:ConsoleApp4.zip|Codice]] presentato durante il seminario&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Esempi presentati a lezione =&lt;br /&gt;
[[Image:eserciziLezione.png|right]]&lt;br /&gt;
Gli esempi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma [http://www.adobe.com/it/ Adobe Acrobat], di pubblico domino, altri in semplice formato testo.&lt;br /&gt;
Tutti gli esercizi sono stati realizzati in collaborazione con la Prof. Letizia Leonardi.&lt;br /&gt;
&lt;br /&gt;
*[[index.php?title=Media:ContoCorrente.pdf|Conto corrente in C]]&lt;br /&gt;
*[[index.php?title=Media:IOBinario.pdf|I/O Binario]]&lt;br /&gt;
*[[index.php?title=Media:Calcolatrice.zip|Calcolatrice]]&lt;br /&gt;
*[[index.php?title=Media:GraficoFunzioni.zip|Grafico di funzioni]]&lt;br /&gt;
*[[index.php?title=Media:CampoStellare.zip|Campo stellare]]&lt;br /&gt;
&lt;br /&gt;
===Programmazione ad Oggetti e Java===&lt;br /&gt;
Gli esercizi sono gli stessi contenuti nei lucidi della parte teorica, ma da qui e&#039; possibile salvare su un file (facendo &amp;quot;salva link con nome&amp;quot;) il sorgente della gran parte degli esercizi.&lt;br /&gt;
&lt;br /&gt;
====Java: Le Classi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Classi&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=13|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:Counter.java|Counter.java]], [[index.php?title=Media:Esempio0.java|Esempio0.java]], [[index.php?title=Media:Esempio1.java|Esempio1.java]], [[index.php?title=Media:Esempio2.java|Esempio2.java]], [[index.php?title=Media:Esempio2bis.java|Esempio2bis.java]], [[index.php?title=Media:Esempio3.java|Esempio3.java]], [[index.php?title=Media:Esempio4.java|Esempio4.java]], [[index.php?title=Media:Esempio5.java|Esempio5.java]], [[index.php?title=Media:Esempio5bis.java|Esempio5bis.java]], [[index.php?title=Media:Esempio6.java|Esempio6.java]], [[index.php?title=Media:Esempio7.java|Esempio7.java]], [[index.php?title=Media:Point.java|Point.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Java: Classi Astratte e Interfacce====&lt;br /&gt;
====Java: Ereditarietà====&lt;br /&gt;
====Java: Le Eccezioni====&lt;br /&gt;
====Java: Input e Output====&lt;br /&gt;
====Java: Programmazione Grafica e ad Eventi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Grafica&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=36|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:CalcButton.java|CalcButton.java]], [[index.php?title=Media:CalcPanel.java|CalcPanel.java]], [[index.php?title=Media:Calculator.java|Calculator.java]], [[index.php?title=Media:Es10Panel.java|Es10Panel.java]], [[index.php?title=Media:Es11Panel.java|Es11Panel.java]], [[index.php?title=Media:Es12Panel.java|Es12Panel.java]], [[index.php?title=Media:Es13Panel.java|Es13Panel.java]], [[index.php?title=Media:Es14Panel.java|Es14Panel.java]], [[index.php?title=Media:Es15Panel.java|Es15Panel.java]], [[index.php?title=Media:Es16Panel.java|Es16Panel.java]], [[index.php?title=Media:Es7Panel.java|Es7Panel.java]], [[index.php?title=Media:Es8Panel.java|Es8Panel.java]], [[index.php?title=Media:Es9Panel.java|Es9Panel.java]], [[index.php?title=Media:EsSwing1.java|EsSwing1.java]], [[index.php?title=Media:EsSwing10.java|EsSwing10.java]], [[index.php?title=Media:EsSwing11.java|EsSwing11.java]], [[index.php?title=Media:EsSwing12.java|EsSwing12.java]], [[index.php?title=Media:EsSwing13.java|EsSwing13.java]], [[index.php?title=Media:EsSwing14.java|EsSwing14.java]], [[index.php?title=Media:EsSwing15.java|EsSwing15.java]], [[index.php?title=Media:EsSwing16.java|EsSwing16.java]], [[index.php?title=Media:EsSwing2.java|EsSwing2.java]], [[index.php?title=Media:EsSwing3.java|EsSwing3.java]], [[index.php?title=Media:EsSwing4.java|EsSwing4.java]], [[index.php?title=Media:EsSwing5.java|EsSwing5.java]], [[index.php?title=Media:EsSwing6.java|EsSwing6.java]], [[index.php?title=Media:EsSwing7.java|EsSwing7.java]], [[index.php?title=Media:EsSwing8.java|EsSwing8.java]], [[index.php?title=Media:EsSwing9.java|EsSwing9.java]], [[index.php?title=Media:EsSwingCalculator.java|EsSwingCalculator.java]], [[index.php?title=Media:FunctionPanel.java|FunctionPanel.java]], [[index.php?title=Media:ImgPanel.java|ImgPanel.java]], [[index.php?title=Media:MyFrame.java|MyFrame.java]], [[index.php?title=Media:MyPanel.java|MyPanel.java]], [[index.php?title=Media:Terminator.java|Terminator.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Java: Le Applet====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Applet&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=9|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Applet1.java|Applet1.java]], [[Media:Applet2.java|Applet2.java]], [[Media:Applet2Listener.java|Applet2Listener.java]], [[Media:Applet3.java|Applet3.java]], [[Media:Applet3Listener.java|Applet3Listener.java]], &lt;br /&gt;
[[Media:Applet4.java|Applet4.java]], [[Media:Applet5.java|Applet5.java]], [[Media:Application2.java|Application2.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Strumenti Software=&lt;br /&gt;
[[Image:strumenti.png|right]]&lt;br /&gt;
Si indicano di seguito gli strumenti software che si utilizzano durante l&#039;insegnamento e si indica dove e&#039; possibile reperirli.&lt;br /&gt;
&lt;br /&gt;
* Per sviluppare programmi in Java si utilizza il JDK (Java Development Kit). Si può scaricare:&lt;br /&gt;
**dal sito [https://www.oracle.com/java/technologies/downloads/ Java at Oracle]&lt;br /&gt;
**dal sito [https://openjdk.java.net OpenJDK]&lt;br /&gt;
* &#039;&#039;&#039;NOTA:&#039;&#039;&#039; &amp;amp;Egrave; necessario utilizzare una versione del JDK maggiore o uguale alla 1.5 (Java J2SE 5). Si consiglia almeno la versione 11.&lt;br /&gt;
&amp;lt;!--* Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio--&amp;gt;&lt;br /&gt;
* Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è [http://www.eclipse.org/ Eclipse].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
*È possibile, per la parte C soltanto, usare un ambiente di programmazione integrato per il C disponibile qui: [http://www.delorie.com/djgpp/ Il compilatore DJGPP]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Esercitazioni di laboratorio=&lt;br /&gt;
 &lt;br /&gt;
Gli esercizi di laboratorio si possono trovare nella seguente pagina: [[EserciziPO|Esercizi di Programmazione ad Oggetti]].&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:01_intro_da_java_a_cpp_.pdf&amp;diff=1072</id>
		<title>File:01 intro da java a cpp .pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:01_intro_da_java_a_cpp_.pdf&amp;diff=1072"/>
		<updated>2026-04-22T15:46:45Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1071</id>
		<title>Programmazione ad Oggetti</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1071"/>
		<updated>2026-04-22T15:45:48Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* C++ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&lt;br /&gt;
{{/box-testata|News|}}&lt;br /&gt;
{{/Evidenza}}&lt;br /&gt;
{{/box-fondo|[[Europa|Leggi la voce...]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{Userboxtop&lt;br /&gt;
| align = right&lt;br /&gt;
| backgroundcolor = lightyellow&lt;br /&gt;
| bordercolor = black&lt;br /&gt;
| extra-css =&lt;br /&gt;
| textcolor = &lt;br /&gt;
| toptext = NEWS&lt;br /&gt;
&amp;lt;!-- All of the parameters are optional. --&amp;gt;&lt;br /&gt;
&amp;lt;!--}}&lt;br /&gt;
La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
([[Wikipedia:Userboxes|Userboxes]] inserted here)&lt;br /&gt;
{{userboxbottom}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Questa pagina fornisce il materiale didattico e le informazioni relative all&#039;insegnamento di &#039;&#039;&#039;Programmazione ad Oggetti (9 CFU)&#039;&#039;&#039; per il Corso di Laurea in &#039;&#039;&#039;Informatica&#039;&#039;&#039;  e per l&#039;insegnamento di &#039;&#039;&#039;Introduzione alla Programmazione ad Oggetti (6 CFU)&#039;&#039;&#039; a partire dall&#039;AA 2008/2009.&lt;br /&gt;
&lt;br /&gt;
Si veda [http://{{SERVERNAME}}/didattica/lpo/ questa pagina] per informazioni su:&lt;br /&gt;
*Programmazione ad Oggetti (6 CFU - 2007/08)&lt;br /&gt;
*Linguaggi per la Programmazione ad Oggetti (6 CFU - fino al 2006/2007)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
&lt;br /&gt;
==Ultime news==&lt;br /&gt;
   Nel 2025/26 l&#039;insegnamento si terr&amp;amp;agrave; nel secondo semestre.&lt;br /&gt;
&lt;br /&gt;
==Vecchie news==&lt;br /&gt;
&lt;br /&gt;
=== 2024/25 ===&lt;br /&gt;
   Le lezioni dell&#039;AA 2024/25 si svolgeranno in presenza a partire dal 25/9/2024.&lt;br /&gt;
&lt;br /&gt;
=== 2023/24 ===&lt;br /&gt;
 &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2023/24.&lt;br /&gt;
&lt;br /&gt;
 Le lezioni dell&#039;AA 2023/24 si svolgeranno in presenza a partire dal 27/9/2023.&lt;br /&gt;
&lt;br /&gt;
===2022/23===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2022/23.&lt;br /&gt;
  Le lezioni dell&#039;AA 2022/23 si svolgeranno in presenza a partire dal 28/9/2022.&lt;br /&gt;
&lt;br /&gt;
===2021/22===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2021/22&lt;br /&gt;
  Le lezioni dell&#039;AA 2021/22 si svolgeranno in presenza.&lt;br /&gt;
&lt;br /&gt;
===2020/21===&lt;br /&gt;
  Per l&#039;AA 2020/21 l&#039;esame scritto è sostituito dalla consegna anticipata del progetto.&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni dell&#039;AA 2020/21 si svolgeranno in modalità a distanza tramite la piattaforma Dolly (https://dolly.fim.unimore.it/2020)&lt;br /&gt;
&lt;br /&gt;
===2019/20===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 19/11/2019 si terr&amp;amp;agrave; alle 14 in aula L1.3.&lt;br /&gt;
  La lezione di venerd&amp;amp;igrave; 15/11/2019 non si terr&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
===2017/18===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Sono aperte le iscrizioni tramite ESSE3 al preppello scritto che si svolger&amp;amp;agrave; il 18 dicembre 2017 alle ore 8.45 in Aula M1.4.&lt;br /&gt;
&lt;br /&gt;
===2016/17===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
&lt;br /&gt;
===2015/16===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 29 settembre 2015 si terr&amp;amp;agrave; in aula M1.3 (Aula III) dalle 14 alle 17 invece che in laboratorio&lt;br /&gt;
  Il 21/12/15 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2014/15===&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; in aula M2.5 (ex aula X matematica) dalle 14 alle 17&lt;br /&gt;
  La mattina di luned&amp;amp;igrave; 1 dicembre 2014 sono sospese le lezioni per l&#039;inaugurazione dell&#039;anno accademico&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 24 novembre e mercoled&amp;amp;igrave; 26 novembre 2014 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 30 settembre 2014 si terr&amp;amp;agrave; in aula M1.5 (ex aula IV)&lt;br /&gt;
&lt;br /&gt;
===2013/14===&lt;br /&gt;
  Il 9/12/13 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 2/12/13 &amp;amp;egrave; spostata a marted&amp;amp;igrave; 2/12/13 al posto dell&#039;esercitazione&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 25/11/13 e mercoled&amp;amp;igrave; 27/11/13 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 24/9/13 si terr&amp;amp;agrave; in laboratorio BASE alle ore 14&lt;br /&gt;
&lt;br /&gt;
===2012/13===&lt;br /&gt;
  Il 12/12/12 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3, ma chi ha problemi puo&#039; mandare una email al docente entro il 9/12&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 21 novembre sar&amp;amp;agrave; sostituita da Linguaggi Formali e Compilatori del prof. Leoncini.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 2 ottobre si terr&amp;amp;agrave; in aula V.&lt;br /&gt;
  Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 a causa di un impegno all&#039;estero del docente.&lt;br /&gt;
&lt;br /&gt;
===2011/12===&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 7 dicembre si terr&amp;amp;agrave; regolarmente alle 11, l&#039;ing. Elton Domnori terr&amp;amp;agrave; un seminario sulla programmazione dei dispositivi mobili&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2011/12&lt;br /&gt;
  Luned&amp;amp;igrave; 5 dicembre si terr&amp;amp;agrave; il preappello scritto; &amp;amp;egrave; necessario iscriversi tramite ESSE3.&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 16 novembre &amp;amp;egrave; anticipata alle ore 9.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 7 novembre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 5 ottobre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 27 settembre si terr&amp;amp;agrave; in aula V e NON in laboratorio.&lt;br /&gt;
  &amp;amp;Egrave; stato definito l&#039;orario delle lezioni.&lt;br /&gt;
  Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011.&lt;br /&gt;
&lt;br /&gt;
===2010/11===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2010/11&lt;br /&gt;
  Le lezioni del mercoled&amp;amp;igrave; si tengono in aula V.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 21/12/10 si tiene in aula V&lt;br /&gt;
  Luned&amp;amp;igrave; 20 dicembre 2010 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto;&lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare, deve mandare una email al docente &lt;br /&gt;
  ENTRO venerd&amp;amp;igrave; 17/12 con nome, cognome e numero di matricola&lt;br /&gt;
  Le lezioni inizieranno l&#039;11 ottobre 2010.&lt;br /&gt;
&lt;br /&gt;
===2009/10===&lt;br /&gt;
  L&#039;esame scritto del 15 febbraio 2010 non si terr&amp;amp;agrave; per mancanza di iscritti&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 14/12/09&lt;br /&gt;
  &amp;amp;Egrave; disponibile una traccia del progetto da portare all&#039;esame&lt;br /&gt;
  L&#039;ultima lezione dell&#039;AA 2009/10 si terr&amp;amp;agrave; il 15 dicembre 2009&lt;br /&gt;
  Mercoled&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; una esercitazione sull&#039;esame scritto&lt;br /&gt;
  Luned&amp;amp;igrave; &#039;&#039;&#039;14 dicembre&#039;&#039;&#039; 2009 alle ore &#039;&#039;&#039;11&#039;&#039;&#039; in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto; &lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre 2009;&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 7 dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 1° dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;esercitazione del 30 settembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;appello scritto del 15 luglio 2009 non si terr&amp;amp;agrave; in quanto non c&#039;&amp;amp;egrave; nessun iscritto&lt;br /&gt;
  Venerd&amp;amp;igrave; 12 e sabato 13 giugno 2009 il sistema ESSE3 non sar&amp;amp;agrave; disponibile per iscriversi agli esami e neanche per compilare il questionario di valutazione&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 15/12/08&lt;br /&gt;
  Sono state pubblicate le date degli appelli della sessione straordinaria 2008/2009&lt;br /&gt;
  Sono disponibili alcuni esercizi per l&#039;appello scritto&lt;br /&gt;
  Luned&amp;amp;igrave; 15 dicembre 2008 si terr&amp;amp;agrave; un pre-appello scritto alle ore 11 in aula V a Matematica; per iscriversi contattare il docente&lt;br /&gt;
  I giorni 18 e 19 novembre 2008 non si svolgeranno le lezioni&lt;br /&gt;
  La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
  Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
&lt;br /&gt;
=Informazioni sul docente=&lt;br /&gt;
[[Image:docente.png|left|100px]]&lt;br /&gt;
&#039;&#039;&#039;[[Utente:Giacomo Cabri| Prof. Giacomo Cabri]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Università di Modena e Reggio Emilia, Via Campi 213/B - 41125 Modena&lt;br /&gt;
&lt;br /&gt;
Telefono 0592058320 - Fax 0592055216&lt;br /&gt;
&lt;br /&gt;
[mailto:giacomo.cabri@unimore.it giacomo.cabri@unimore.it]&lt;br /&gt;
&lt;br /&gt;
=Orario delle Lezioni=&lt;br /&gt;
&lt;br /&gt;
L&#039;orario ufficiale è riportato qui: [https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html]&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2023/24==&lt;br /&gt;
Le lezioni dell&#039;AA 2023/24 inizieranno il 25 settembre 2023 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2022/23==&lt;br /&gt;
Le lezioni dell&#039;AA 2022/23 inizieranno il 28 settembre 2022 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2021/22==&lt;br /&gt;
Le lezioni dell&#039;AA 2021/22 inizieranno il 20 settembre 2021 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula L1.3 presso Fisica&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2020/21==&lt;br /&gt;
Le lezioni dell&#039;AA 2020/21 inizieranno il 21 settembre 2020 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;grave; dalle 14 alle 17 a distanza&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2019/20==&lt;br /&gt;
Le lezioni dell&#039;AA 2019/20 inizieranno il 23 settembre 2019 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 10 alle 12 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 13 alle 16 in laboratorio BASE presso Matematica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 12 alle 14 in aula L1.3 presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2018/19==&lt;br /&gt;
Le lezioni dell&#039;AA 2018/19 inizieranno il 24 settembre 2018 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in laboratorio BASE presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.3 (ex aula III) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2017/18==&lt;br /&gt;
Le lezioni dell&#039;AA 2017/18 inizieranno il 25 settembre 2017 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2016/17==&lt;br /&gt;
Le lezioni dell&#039;AA 2016/17 inizieranno il 26 settembre 2016 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2015/16==&lt;br /&gt;
Le lezioni dell&#039;AA 2015/16 inizieranno il 28 settembre 2015 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2014/15==&lt;br /&gt;
Le lezioni dell&#039;AA 2014/15 avranno il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2013/14==&lt;br /&gt;
Le lezioni dell&#039;AA 2013/14 avranno  il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2012/13==&lt;br /&gt;
Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2011/12==&lt;br /&gt;
Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2010/11==&lt;br /&gt;
Le lezioni dell&#039;AA 2010/11 dovrebbero iniziare il 27 settembre 2010 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 9 alle 11 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2009/10==&lt;br /&gt;
Le lezioni dell&#039;AA 2009/10 inizieranno il 28 settembre 2009 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2008/09==&lt;br /&gt;
Le lezioni si tengono dal 29 settembre al 19 dicembre 2008 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
=Finalità Dell&#039;Insegnamento e Consigli Utili=&lt;br /&gt;
&lt;br /&gt;
L&#039;informatica odierna non consiste solo nel definire algoritmi e programmi che realizzano tali algoritmi, ma anche nel comporre architetture software e hardware sulla base di componenti software o hardware. Partendo da questo motivo dominante, l&#039;insegnamento affronta i seguenti argomenti:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;: verranno illustrati i concetti generali, quali incapsulamento, ereditarietà e polimorfismo; verranno accennati i concetti di riusabilità e di composizione dei componenti software, illustrando il passaggio dalla programmazione modulare alla programmazione ad oggetti.&lt;br /&gt;
* &#039;&#039;&#039;Il linguaggio Java&#039;&#039;&#039;: verrà utilizzato come esempio di linguaggio ad oggetti, spiegando come i concetti generali sono implementati in Java; verrà inoltre spiegato come Java può essere sfruttato per lo sviluppo di interfacce grafiche.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per superare agevolmente l&#039;esame si consiglia agli studenti di seguire con continuità le lezioni e le esercitazioni dell&#039;insegnamento. Inoltre, si consiglia di non focalizzare la preparazione dell&#039;esame esclusivamente sullo studio dei libri e degli appunti, ma piuttosto di preparare l&#039;esame sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l&#039;esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ambienti di Programmazione Utilizzati&#039;&#039;: Compilatore C, Java 1.5 di pubblico dominio (disponibili in laboratorio).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Programma dell&#039;insegnamento=&lt;br /&gt;
&#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;&lt;br /&gt;
*Concetti generali&lt;br /&gt;
*Il Linguaggio Java&lt;br /&gt;
*Classi ed ereditarietà in Java&lt;br /&gt;
*I/O in Java&lt;br /&gt;
*Interfacce grafiche in Java&lt;br /&gt;
*Programmazione basata sugli eventi&lt;br /&gt;
*Strutture dati in Java&lt;br /&gt;
*Thread in Java&lt;br /&gt;
&lt;br /&gt;
=Modalità D&#039;Esame=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21, a causa della situazione pandemica, la prova scritta è &#039;&#039;sostituita&#039;&#039; dalla consegna anticipata del progetto. Le conoscenze che precedentemente erano verificate tramite lo scritto, per il 2020/21 verranno verificate sul progetto realizzato.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame si compone di uno scritto e di una discussione di un programma in Java che lo studente deve presentare all&#039;esame (e la cui proposta di progetto deve essere stata preventivamente approvata dal docente). Per maggiori dettagli, vedere il seguito di questa pagina.&lt;br /&gt;
&lt;br /&gt;
==Esame scritto==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;:  nell&#039;AA 2020/21 non è prevista la prova scritta.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame scritto serve a verificare che lo studente abbia acquisito le nozioni di astrazione, classificazione, ereditarietà e polimorfismo.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame consiste nella modellazione di alcune entità e la relativa implementazione in Java.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; possibile vedere il testo di alcuni esercizi: &lt;br /&gt;
*[[Media:EserJava1.pdf|EserJava1]] (Calcolatrice)&lt;br /&gt;
*[[Media:EserJava2.pdf|EserJava2]] (Rettangolo)&lt;br /&gt;
*[[Media:EserJava3.pdf|EserJava3]] (Termometro)&lt;br /&gt;
*[[Media:EserJava4.pdf|EserJava4]] (Lettore da dispositivo) [[Media:SoluzioneEserJava4.pdf|SoluzioneEserJava4]]&lt;br /&gt;
*[[Media:EserJava5.pdf|EserJava5]] (Navigatore)&lt;br /&gt;
*[[Media:EserJava6.pdf|EserJava6]] (Particella)&lt;br /&gt;
*[[Media:EserJava7.pdf|EserJava7]] (Conto)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#per l&#039;iscrizione all&#039;esame scritto è necessario utilizzare &#039;&#039;&#039;ESSE3&#039;&#039;&#039; e iscriversi entro la scadenza (di norma 2-3 giorni prima dell&#039;appello scritto stesso, me &amp;amp;egrave; bene controllare su ESSE3); &lt;br /&gt;
#&amp;amp;egrave; necessario aver superato lo scritto per presentare il progetto;&lt;br /&gt;
#la presentazione del progetto pu&amp;amp;ograve; avvenire anche in un appello diverso da quello dello scritto;&lt;br /&gt;
#la consegna di uno scritto cancella il voto precedente; la partecipazione ad uno scritto &#039;&#039;senza&#039;&#039; consegnare non cancella il voto precedente;&lt;br /&gt;
#il voto dello scritto vale orientativamente 1 anno; contattare il docente entro l&#039;anno se non si riesce a presentare il progetto e si richiede una proroga della validit&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
==Modalità di Sviluppo del Progetto Java==&lt;br /&gt;
All&#039;esame si deve presentare e discutere un programma realizzato in Java e che presenti le seguenti caratteristiche:&lt;br /&gt;
&lt;br /&gt;
* Sia dotato di &#039;&#039;&#039;interfaccia grafica&#039;&#039;&#039; tramite cui interagire con il programma stesso.&lt;br /&gt;
* Sfrutti i meccanismi della programmazione ad oggetti: &lt;br /&gt;
**&#039;&#039;&#039;incapsulamento&#039;&#039;&#039;; &lt;br /&gt;
**&#039;&#039;&#039;ereditarietà&#039;&#039;&#039; e, se necessario, le classi astratte e le interfacce (si considerano &#039;&#039;&#039;escluse&#039;&#039;&#039; le relazioni di ereditarietà diretta da classi di libreria Java); &lt;br /&gt;
**&#039;&#039;&#039;polimorfismo&#039;&#039;&#039;.&lt;br /&gt;
* Sfrutti le classi di sistema Java per la gestione dell&#039;&#039;&#039;&#039;input/output&#039;&#039;&#039; (&amp;lt;tt&amp;gt;Reader&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Writer&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;InputStream&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;OutputStream&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Utilizzi le &#039;&#039;&#039;strutture dati&#039;&#039;&#039; di libreria e i &#039;&#039;&#039;generics&#039;&#039;&#039;, motivando le scelte fatte. &lt;br /&gt;
* Sia diviso coerente in &#039;&#039;&#039;package&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Gli studenti sono invitati a seguire la traccia fornita dal docente.&lt;br /&gt;
In casi particolari, uno studente pu&amp;amp;ograve; proporre una proporia traccia, che &#039;&#039;&#039;deve&#039;&#039;&#039; essere approvata dal docente (anche via email).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Il programma deve essere una applicazione Java e &#039;&#039;&#039;NON&#039;&#039;&#039; una applet. --&amp;gt;&lt;br /&gt;
Il programma deve essere eseguito da &#039;&#039;&#039;linea di comando&#039;&#039;&#039;; non devono essere usate librerie proprietarie (ad es. quelle degli ambienti integrati) a meno di averlo concordato con il docente.&lt;br /&gt;
È opportuno &#039;&#039;&#039;provare&#039;&#039;&#039; il proprio programma su un altro computer (ad es. in laboratorio) prima di presentarlo in sede d&#039;esame, per verificare la portabilità.&lt;br /&gt;
&lt;br /&gt;
Il software deve essere accompagnato da pagine di &#039;&#039;&#039;documentazione&#039;&#039;&#039; HTML (tipicamente le pagine generate tramite Javadoc o altri strumenti come Doxygen) che descrivano le scelte di progetto effettuate e la struttura del sistema software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- A progetto realizzato, si valuterà il progetto (e il voto conseguente), ferma restando la possibilità del docente (e dello studente) di richiedere l&#039;integrazione nel progetto di ulteriori funzionalità/caratteristiche. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il progetto va portato il giorno dell&#039;esame, su un supporto tipo chiavetta USB; portare anche il proprio PC per sicurezza. (&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21 il progetto va consegnato in anticipo).&lt;br /&gt;
&lt;br /&gt;
In casi eccezionali &amp;amp;egrave; possibile presentare progetti di gruppo (2 persone), posto che l&#039;ampiezza del progetto sia tale da giustificare il suo sviluppo cooperativo. In tale caso, comunque, la discussione sarà esplicitamente volta a valutare, per ciascuno dei componenti del gruppo, l&#039;effettiva padronanza d&#039;uso dei concetti di base della programmazione ad oggetti, del linguaggio Java e delle sue librerie Java, oltre naturalmente all&#039;apporto individuale dato al progetto globale da ogni singolo membro del gruppo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Problemi &#039;&#039;&#039;DA EVITARE&#039;&#039;&#039; in sede di esame:&lt;br /&gt;
*Il programma non funziona&lt;br /&gt;
*Manca qualcosa (di solito, la documentazione)&lt;br /&gt;
*Il progetto è diviso su pi&amp;amp;ugrave; programmi (eventualmente da concordare con il docente)&lt;br /&gt;
*L’ereditariet&amp;amp;agrave; &amp;amp;egrave; usata male&lt;br /&gt;
*&amp;quot;Non mi ricordo come funziona perch&amp;amp;eacute; ho fatto il programma tempo fa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Traccia ==&lt;br /&gt;
[[Image:tesina.png|right|90px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; disponibile il [[Media:Tesina2425.pdf| testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
Chi decide di svolgere il progetto proposto dalla traccia, non ha bisogno di approvazione.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2425.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2324.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2223.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2022/23.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2122.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2021/22.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2021.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2020/21.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1920.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2019/20.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1819.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2018/19.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1718.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2017/18.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1617.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2016/17.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1516.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2015/16.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1415.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2014/15.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1314.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2013/14.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1213.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2012/13.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1112.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2011/12.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1011.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2010/11.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina0910.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2009/10.&lt;br /&gt;
&lt;br /&gt;
=Appelli=&lt;br /&gt;
[[Image:iscrizione.png|90px|right]]&lt;br /&gt;
Le date degli appelli sono disponibili sul sito ESSE3 (http://www.esse3.unimore.it).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
del corso di laurea&lt;br /&gt;
all&#039;indirizzo&lt;br /&gt;
&lt;br /&gt;
http://informatica.scienze.unimo.it/lt/Esami.php&lt;br /&gt;
&lt;br /&gt;
Dall&#039;AA 2006/07 viene usata la verbalizzazione elettronica; chi vuole sostenere l&#039;esame DEVE quindi iscriversi tramite il [http://www.esse3.unimore.it sito di ESSE3].&lt;br /&gt;
&lt;br /&gt;
NOTA: sul sito di ESSE3 sono presenti le date degli appelli &#039;&#039;&#039;orali&#039;&#039;&#039;, per la presentazione dei progetto.&lt;br /&gt;
Per l&#039;iscrizione agli appelli &#039;&#039;&#039;scritti&#039;&#039;&#039; &amp;amp;egrave; necessario inviare una email al docente entro 2 giorni prima dell&#039;appello scritto stesso, usando l&#039;indirizzo email &#039;&#039;&#039;universitario&#039;&#039;&#039; e specificando &#039;&#039;&#039;nome&#039;&#039;&#039;, &#039;&#039;&#039;cognome&#039;&#039;&#039; e &#039;&#039;&#039;matricola&#039;&#039;&#039;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Preappello==&lt;br /&gt;
Luned&amp;amp;igrave; 14 dicembre 2009 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un preappello valido per l&#039;esame scritto.&lt;br /&gt;
&lt;br /&gt;
Chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre con nome, cognome e matricola.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Risultati=&lt;br /&gt;
&lt;br /&gt;
Da settembre 2011 i risultati vengono comunicati tramite ESSE3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[RisultatiPO|Risultati]] degli appelli scritti precedenti:&lt;br /&gt;
*16 febbraio 2011&lt;br /&gt;
*20 gennaio 2011&lt;br /&gt;
*20 dicembre 2010&lt;br /&gt;
*18 gennaio 2010&lt;br /&gt;
*14 dicembre 2009&lt;br /&gt;
*22 giugno 2009&lt;br /&gt;
*10 giugno 2009&lt;br /&gt;
*19 febbraio 2009&lt;br /&gt;
*14 gennaio 2009&lt;br /&gt;
*15 dicembre 2008&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Testi Consigliati=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testo Dell&#039;Insegnamento&#039;&#039;&#039;&lt;br /&gt;
[[Image:textbook.png|100px|right]]&lt;br /&gt;
*G. Cabri, F. Zambonelli, &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Altri Testi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* C.S. Horstmann, &amp;quot;Concetti di informatica e fondamenti di Java&amp;quot;, Apogeo.&lt;br /&gt;
* B. Eckel, &amp;quot;Thinking in Java&amp;quot;, 4 edizione italiana, Pearson, (scaricabile gratuitamente da Internet la versione inglese http://www.BruceEckel.com).&lt;br /&gt;
* Arnold, Gosling, Holmes, &amp;quot;Il linguaggio Java. Manuale ufficiale&amp;quot;, Pearson.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per chi vuole approfondire:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mazzanti, Milanese, &amp;quot;Programmazione di applicazioni grafiche in Java&amp;quot;, Apogeo.&lt;br /&gt;
* Gamma, Helm, Johnson, Vlissides, &amp;quot;Design Patterns&amp;quot;, Addison-Wesley.&lt;br /&gt;
* J.R. Hubbard, &amp;quot;Strutture dati in Java&amp;quot;, McGraw-Hill.&lt;br /&gt;
* M.A. Weiss, &amp;quot;Data Structures And Problem Solving Using Java&amp;quot;, 2nd Edition, Addison Wesley.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Slide Dell&#039;Insegnamento=&lt;br /&gt;
&lt;br /&gt;
Il materiale degli insegnamenti di Programmazione ad Oggetti e Introduzione alla Programmazione ad Oggetti &amp;amp;egrave; contenuto nel libro &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
In questa pagina sono riportate le slide usate a lezione.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IntroduzioneInsegnamentoPO.pdf| Introduzione all&#039;insegnamento]]&lt;br /&gt;
# [[Media:01-Motivazioni.pdf | Motivazioni]]&lt;br /&gt;
# [[Media:02-LimitiProgrammazioneTradizionale.pdf|Limiti della programmazione tradizionale]]&lt;br /&gt;
# [[Media:03-IntroOOP.pdf|Introduzione alla programmazione ad oggetti]]&lt;br /&gt;
# [[Media:04-IntroJava.pdf|Introduzione al linguaggio Java]]&lt;br /&gt;
# [[Media:05-OOPJava.pdf|OOP in Java]]&lt;br /&gt;
# [[Media:06-ClassiAstratteIntefacceJava.pdf|Classi astratte e interfacce]]&lt;br /&gt;
# [[Media:07-IOJava.pdf|I/O in Java]]&lt;br /&gt;
# [[Media:08-JavaGUI.pdf|GUI in Java]]&lt;br /&gt;
# [[Media:09-CostruttiAvanzatiJava.pdf|Costrutti avanzati Java]]&lt;br /&gt;
# [[Media:10-GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:11-StruttureDatiJava.pdf|Strutture dati in Java]]&lt;br /&gt;
# [[Media:12-ThreadJava.pdf|Thread in Java]]&lt;br /&gt;
&lt;br /&gt;
==C++==&lt;br /&gt;
&lt;br /&gt;
# [[Media:01_intro_da_java_a_cpp_.pdf | Introduzione da Java a C++]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Vecchie slide&lt;br /&gt;
* [[index.php?title=Media:09-Applet.pdf|Applet in Java]] (fatte fino all&#039;AA 2015/16)&lt;br /&gt;
* [[index.php?title=Media:UML01-LinguaggioUML 1.pdf|UML (prima parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
* [[index.php?title=Media:UML02-LinguaggioUML 2.pdf|UML (seconda parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Media:Classi.pdf|Classi di memorizzazione in C]]&lt;br /&gt;
# [[Media:TabelleMenuLayout.pdf|Tabelle, menu e layout in Java]]&lt;br /&gt;
# [[Media:GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:NovitaJ2SE5.pdf|Novit&amp;amp;agrave; di Java 2 SE 5]]&lt;br /&gt;
&lt;br /&gt;
# [[Media:JavaClassAsInterfacce.pdf| Classi Astratte e Interfacce in Java]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seminari==&lt;br /&gt;
[[index.php?title=Media:SeminarioJavaInfolog2015.pdf|Seminario]] sull&#039;uso di Java in azienda (Infolog, 9/12/2015)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2017.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2017)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2018.pdf|Seminario]] su C# (Paolo Burgio, 3/12/2018)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2015.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2019) - [[index.php?title=Media:ConsoleApp4.zip|Codice]] presentato durante il seminario&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Esempi presentati a lezione =&lt;br /&gt;
[[Image:eserciziLezione.png|right]]&lt;br /&gt;
Gli esempi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma [http://www.adobe.com/it/ Adobe Acrobat], di pubblico domino, altri in semplice formato testo.&lt;br /&gt;
Tutti gli esercizi sono stati realizzati in collaborazione con la Prof. Letizia Leonardi.&lt;br /&gt;
&lt;br /&gt;
*[[index.php?title=Media:ContoCorrente.pdf|Conto corrente in C]]&lt;br /&gt;
*[[index.php?title=Media:IOBinario.pdf|I/O Binario]]&lt;br /&gt;
*[[index.php?title=Media:Calcolatrice.zip|Calcolatrice]]&lt;br /&gt;
*[[index.php?title=Media:GraficoFunzioni.zip|Grafico di funzioni]]&lt;br /&gt;
*[[index.php?title=Media:CampoStellare.zip|Campo stellare]]&lt;br /&gt;
&lt;br /&gt;
===Programmazione ad Oggetti e Java===&lt;br /&gt;
Gli esercizi sono gli stessi contenuti nei lucidi della parte teorica, ma da qui e&#039; possibile salvare su un file (facendo &amp;quot;salva link con nome&amp;quot;) il sorgente della gran parte degli esercizi.&lt;br /&gt;
&lt;br /&gt;
====Java: Le Classi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Classi&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=13|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:Counter.java|Counter.java]], [[index.php?title=Media:Esempio0.java|Esempio0.java]], [[index.php?title=Media:Esempio1.java|Esempio1.java]], [[index.php?title=Media:Esempio2.java|Esempio2.java]], [[index.php?title=Media:Esempio2bis.java|Esempio2bis.java]], [[index.php?title=Media:Esempio3.java|Esempio3.java]], [[index.php?title=Media:Esempio4.java|Esempio4.java]], [[index.php?title=Media:Esempio5.java|Esempio5.java]], [[index.php?title=Media:Esempio5bis.java|Esempio5bis.java]], [[index.php?title=Media:Esempio6.java|Esempio6.java]], [[index.php?title=Media:Esempio7.java|Esempio7.java]], [[index.php?title=Media:Point.java|Point.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Java: Classi Astratte e Interfacce====&lt;br /&gt;
====Java: Ereditarietà====&lt;br /&gt;
====Java: Le Eccezioni====&lt;br /&gt;
====Java: Input e Output====&lt;br /&gt;
====Java: Programmazione Grafica e ad Eventi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Grafica&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=36|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:CalcButton.java|CalcButton.java]], [[index.php?title=Media:CalcPanel.java|CalcPanel.java]], [[index.php?title=Media:Calculator.java|Calculator.java]], [[index.php?title=Media:Es10Panel.java|Es10Panel.java]], [[index.php?title=Media:Es11Panel.java|Es11Panel.java]], [[index.php?title=Media:Es12Panel.java|Es12Panel.java]], [[index.php?title=Media:Es13Panel.java|Es13Panel.java]], [[index.php?title=Media:Es14Panel.java|Es14Panel.java]], [[index.php?title=Media:Es15Panel.java|Es15Panel.java]], [[index.php?title=Media:Es16Panel.java|Es16Panel.java]], [[index.php?title=Media:Es7Panel.java|Es7Panel.java]], [[index.php?title=Media:Es8Panel.java|Es8Panel.java]], [[index.php?title=Media:Es9Panel.java|Es9Panel.java]], [[index.php?title=Media:EsSwing1.java|EsSwing1.java]], [[index.php?title=Media:EsSwing10.java|EsSwing10.java]], [[index.php?title=Media:EsSwing11.java|EsSwing11.java]], [[index.php?title=Media:EsSwing12.java|EsSwing12.java]], [[index.php?title=Media:EsSwing13.java|EsSwing13.java]], [[index.php?title=Media:EsSwing14.java|EsSwing14.java]], [[index.php?title=Media:EsSwing15.java|EsSwing15.java]], [[index.php?title=Media:EsSwing16.java|EsSwing16.java]], [[index.php?title=Media:EsSwing2.java|EsSwing2.java]], [[index.php?title=Media:EsSwing3.java|EsSwing3.java]], [[index.php?title=Media:EsSwing4.java|EsSwing4.java]], [[index.php?title=Media:EsSwing5.java|EsSwing5.java]], [[index.php?title=Media:EsSwing6.java|EsSwing6.java]], [[index.php?title=Media:EsSwing7.java|EsSwing7.java]], [[index.php?title=Media:EsSwing8.java|EsSwing8.java]], [[index.php?title=Media:EsSwing9.java|EsSwing9.java]], [[index.php?title=Media:EsSwingCalculator.java|EsSwingCalculator.java]], [[index.php?title=Media:FunctionPanel.java|FunctionPanel.java]], [[index.php?title=Media:ImgPanel.java|ImgPanel.java]], [[index.php?title=Media:MyFrame.java|MyFrame.java]], [[index.php?title=Media:MyPanel.java|MyPanel.java]], [[index.php?title=Media:Terminator.java|Terminator.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Java: Le Applet====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Applet&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=9|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Applet1.java|Applet1.java]], [[Media:Applet2.java|Applet2.java]], [[Media:Applet2Listener.java|Applet2Listener.java]], [[Media:Applet3.java|Applet3.java]], [[Media:Applet3Listener.java|Applet3Listener.java]], &lt;br /&gt;
[[Media:Applet4.java|Applet4.java]], [[Media:Applet5.java|Applet5.java]], [[Media:Application2.java|Application2.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Strumenti Software=&lt;br /&gt;
[[Image:strumenti.png|right]]&lt;br /&gt;
Si indicano di seguito gli strumenti software che si utilizzano durante l&#039;insegnamento e si indica dove e&#039; possibile reperirli.&lt;br /&gt;
&lt;br /&gt;
* Per sviluppare programmi in Java si utilizza il JDK (Java Development Kit). Si può scaricare:&lt;br /&gt;
**dal sito [https://www.oracle.com/java/technologies/downloads/ Java at Oracle]&lt;br /&gt;
**dal sito [https://openjdk.java.net OpenJDK]&lt;br /&gt;
* &#039;&#039;&#039;NOTA:&#039;&#039;&#039; &amp;amp;Egrave; necessario utilizzare una versione del JDK maggiore o uguale alla 1.5 (Java J2SE 5). Si consiglia almeno la versione 11.&lt;br /&gt;
&amp;lt;!--* Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio--&amp;gt;&lt;br /&gt;
* Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è [http://www.eclipse.org/ Eclipse].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
*È possibile, per la parte C soltanto, usare un ambiente di programmazione integrato per il C disponibile qui: [http://www.delorie.com/djgpp/ Il compilatore DJGPP]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Esercitazioni di laboratorio=&lt;br /&gt;
 &lt;br /&gt;
Gli esercizi di laboratorio si possono trovare nella seguente pagina: [[EserciziPO|Esercizi di Programmazione ad Oggetti]].&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1069</id>
		<title>Programmazione ad Oggetti</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1069"/>
		<updated>2026-04-22T15:44:05Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Slide Dell&amp;#039;Insegnamento */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&lt;br /&gt;
{{/box-testata|News|}}&lt;br /&gt;
{{/Evidenza}}&lt;br /&gt;
{{/box-fondo|[[Europa|Leggi la voce...]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{Userboxtop&lt;br /&gt;
| align = right&lt;br /&gt;
| backgroundcolor = lightyellow&lt;br /&gt;
| bordercolor = black&lt;br /&gt;
| extra-css =&lt;br /&gt;
| textcolor = &lt;br /&gt;
| toptext = NEWS&lt;br /&gt;
&amp;lt;!-- All of the parameters are optional. --&amp;gt;&lt;br /&gt;
&amp;lt;!--}}&lt;br /&gt;
La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
([[Wikipedia:Userboxes|Userboxes]] inserted here)&lt;br /&gt;
{{userboxbottom}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Questa pagina fornisce il materiale didattico e le informazioni relative all&#039;insegnamento di &#039;&#039;&#039;Programmazione ad Oggetti (9 CFU)&#039;&#039;&#039; per il Corso di Laurea in &#039;&#039;&#039;Informatica&#039;&#039;&#039;  e per l&#039;insegnamento di &#039;&#039;&#039;Introduzione alla Programmazione ad Oggetti (6 CFU)&#039;&#039;&#039; a partire dall&#039;AA 2008/2009.&lt;br /&gt;
&lt;br /&gt;
Si veda [http://{{SERVERNAME}}/didattica/lpo/ questa pagina] per informazioni su:&lt;br /&gt;
*Programmazione ad Oggetti (6 CFU - 2007/08)&lt;br /&gt;
*Linguaggi per la Programmazione ad Oggetti (6 CFU - fino al 2006/2007)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
&lt;br /&gt;
==Ultime news==&lt;br /&gt;
   Nel 2025/26 l&#039;insegnamento si terr&amp;amp;agrave; nel secondo semestre.&lt;br /&gt;
&lt;br /&gt;
==Vecchie news==&lt;br /&gt;
&lt;br /&gt;
=== 2024/25 ===&lt;br /&gt;
   Le lezioni dell&#039;AA 2024/25 si svolgeranno in presenza a partire dal 25/9/2024.&lt;br /&gt;
&lt;br /&gt;
=== 2023/24 ===&lt;br /&gt;
 &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2023/24.&lt;br /&gt;
&lt;br /&gt;
 Le lezioni dell&#039;AA 2023/24 si svolgeranno in presenza a partire dal 27/9/2023.&lt;br /&gt;
&lt;br /&gt;
===2022/23===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2022/23.&lt;br /&gt;
  Le lezioni dell&#039;AA 2022/23 si svolgeranno in presenza a partire dal 28/9/2022.&lt;br /&gt;
&lt;br /&gt;
===2021/22===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2021/22&lt;br /&gt;
  Le lezioni dell&#039;AA 2021/22 si svolgeranno in presenza.&lt;br /&gt;
&lt;br /&gt;
===2020/21===&lt;br /&gt;
  Per l&#039;AA 2020/21 l&#039;esame scritto è sostituito dalla consegna anticipata del progetto.&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni dell&#039;AA 2020/21 si svolgeranno in modalità a distanza tramite la piattaforma Dolly (https://dolly.fim.unimore.it/2020)&lt;br /&gt;
&lt;br /&gt;
===2019/20===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 19/11/2019 si terr&amp;amp;agrave; alle 14 in aula L1.3.&lt;br /&gt;
  La lezione di venerd&amp;amp;igrave; 15/11/2019 non si terr&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
===2017/18===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Sono aperte le iscrizioni tramite ESSE3 al preppello scritto che si svolger&amp;amp;agrave; il 18 dicembre 2017 alle ore 8.45 in Aula M1.4.&lt;br /&gt;
&lt;br /&gt;
===2016/17===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
&lt;br /&gt;
===2015/16===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 29 settembre 2015 si terr&amp;amp;agrave; in aula M1.3 (Aula III) dalle 14 alle 17 invece che in laboratorio&lt;br /&gt;
  Il 21/12/15 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2014/15===&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; in aula M2.5 (ex aula X matematica) dalle 14 alle 17&lt;br /&gt;
  La mattina di luned&amp;amp;igrave; 1 dicembre 2014 sono sospese le lezioni per l&#039;inaugurazione dell&#039;anno accademico&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 24 novembre e mercoled&amp;amp;igrave; 26 novembre 2014 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 30 settembre 2014 si terr&amp;amp;agrave; in aula M1.5 (ex aula IV)&lt;br /&gt;
&lt;br /&gt;
===2013/14===&lt;br /&gt;
  Il 9/12/13 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 2/12/13 &amp;amp;egrave; spostata a marted&amp;amp;igrave; 2/12/13 al posto dell&#039;esercitazione&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 25/11/13 e mercoled&amp;amp;igrave; 27/11/13 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 24/9/13 si terr&amp;amp;agrave; in laboratorio BASE alle ore 14&lt;br /&gt;
&lt;br /&gt;
===2012/13===&lt;br /&gt;
  Il 12/12/12 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3, ma chi ha problemi puo&#039; mandare una email al docente entro il 9/12&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 21 novembre sar&amp;amp;agrave; sostituita da Linguaggi Formali e Compilatori del prof. Leoncini.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 2 ottobre si terr&amp;amp;agrave; in aula V.&lt;br /&gt;
  Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 a causa di un impegno all&#039;estero del docente.&lt;br /&gt;
&lt;br /&gt;
===2011/12===&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 7 dicembre si terr&amp;amp;agrave; regolarmente alle 11, l&#039;ing. Elton Domnori terr&amp;amp;agrave; un seminario sulla programmazione dei dispositivi mobili&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2011/12&lt;br /&gt;
  Luned&amp;amp;igrave; 5 dicembre si terr&amp;amp;agrave; il preappello scritto; &amp;amp;egrave; necessario iscriversi tramite ESSE3.&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 16 novembre &amp;amp;egrave; anticipata alle ore 9.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 7 novembre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 5 ottobre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 27 settembre si terr&amp;amp;agrave; in aula V e NON in laboratorio.&lt;br /&gt;
  &amp;amp;Egrave; stato definito l&#039;orario delle lezioni.&lt;br /&gt;
  Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011.&lt;br /&gt;
&lt;br /&gt;
===2010/11===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2010/11&lt;br /&gt;
  Le lezioni del mercoled&amp;amp;igrave; si tengono in aula V.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 21/12/10 si tiene in aula V&lt;br /&gt;
  Luned&amp;amp;igrave; 20 dicembre 2010 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto;&lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare, deve mandare una email al docente &lt;br /&gt;
  ENTRO venerd&amp;amp;igrave; 17/12 con nome, cognome e numero di matricola&lt;br /&gt;
  Le lezioni inizieranno l&#039;11 ottobre 2010.&lt;br /&gt;
&lt;br /&gt;
===2009/10===&lt;br /&gt;
  L&#039;esame scritto del 15 febbraio 2010 non si terr&amp;amp;agrave; per mancanza di iscritti&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 14/12/09&lt;br /&gt;
  &amp;amp;Egrave; disponibile una traccia del progetto da portare all&#039;esame&lt;br /&gt;
  L&#039;ultima lezione dell&#039;AA 2009/10 si terr&amp;amp;agrave; il 15 dicembre 2009&lt;br /&gt;
  Mercoled&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; una esercitazione sull&#039;esame scritto&lt;br /&gt;
  Luned&amp;amp;igrave; &#039;&#039;&#039;14 dicembre&#039;&#039;&#039; 2009 alle ore &#039;&#039;&#039;11&#039;&#039;&#039; in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto; &lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre 2009;&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 7 dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 1° dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;esercitazione del 30 settembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;appello scritto del 15 luglio 2009 non si terr&amp;amp;agrave; in quanto non c&#039;&amp;amp;egrave; nessun iscritto&lt;br /&gt;
  Venerd&amp;amp;igrave; 12 e sabato 13 giugno 2009 il sistema ESSE3 non sar&amp;amp;agrave; disponibile per iscriversi agli esami e neanche per compilare il questionario di valutazione&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 15/12/08&lt;br /&gt;
  Sono state pubblicate le date degli appelli della sessione straordinaria 2008/2009&lt;br /&gt;
  Sono disponibili alcuni esercizi per l&#039;appello scritto&lt;br /&gt;
  Luned&amp;amp;igrave; 15 dicembre 2008 si terr&amp;amp;agrave; un pre-appello scritto alle ore 11 in aula V a Matematica; per iscriversi contattare il docente&lt;br /&gt;
  I giorni 18 e 19 novembre 2008 non si svolgeranno le lezioni&lt;br /&gt;
  La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
  Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
&lt;br /&gt;
=Informazioni sul docente=&lt;br /&gt;
[[Image:docente.png|left|100px]]&lt;br /&gt;
&#039;&#039;&#039;[[Utente:Giacomo Cabri| Prof. Giacomo Cabri]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Università di Modena e Reggio Emilia, Via Campi 213/B - 41125 Modena&lt;br /&gt;
&lt;br /&gt;
Telefono 0592058320 - Fax 0592055216&lt;br /&gt;
&lt;br /&gt;
[mailto:giacomo.cabri@unimore.it giacomo.cabri@unimore.it]&lt;br /&gt;
&lt;br /&gt;
=Orario delle Lezioni=&lt;br /&gt;
&lt;br /&gt;
L&#039;orario ufficiale è riportato qui: [https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html]&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2023/24==&lt;br /&gt;
Le lezioni dell&#039;AA 2023/24 inizieranno il 25 settembre 2023 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2022/23==&lt;br /&gt;
Le lezioni dell&#039;AA 2022/23 inizieranno il 28 settembre 2022 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2021/22==&lt;br /&gt;
Le lezioni dell&#039;AA 2021/22 inizieranno il 20 settembre 2021 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula L1.3 presso Fisica&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2020/21==&lt;br /&gt;
Le lezioni dell&#039;AA 2020/21 inizieranno il 21 settembre 2020 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;grave; dalle 14 alle 17 a distanza&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2019/20==&lt;br /&gt;
Le lezioni dell&#039;AA 2019/20 inizieranno il 23 settembre 2019 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 10 alle 12 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 13 alle 16 in laboratorio BASE presso Matematica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 12 alle 14 in aula L1.3 presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2018/19==&lt;br /&gt;
Le lezioni dell&#039;AA 2018/19 inizieranno il 24 settembre 2018 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in laboratorio BASE presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.3 (ex aula III) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2017/18==&lt;br /&gt;
Le lezioni dell&#039;AA 2017/18 inizieranno il 25 settembre 2017 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2016/17==&lt;br /&gt;
Le lezioni dell&#039;AA 2016/17 inizieranno il 26 settembre 2016 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2015/16==&lt;br /&gt;
Le lezioni dell&#039;AA 2015/16 inizieranno il 28 settembre 2015 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2014/15==&lt;br /&gt;
Le lezioni dell&#039;AA 2014/15 avranno il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2013/14==&lt;br /&gt;
Le lezioni dell&#039;AA 2013/14 avranno  il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2012/13==&lt;br /&gt;
Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2011/12==&lt;br /&gt;
Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2010/11==&lt;br /&gt;
Le lezioni dell&#039;AA 2010/11 dovrebbero iniziare il 27 settembre 2010 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 9 alle 11 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2009/10==&lt;br /&gt;
Le lezioni dell&#039;AA 2009/10 inizieranno il 28 settembre 2009 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2008/09==&lt;br /&gt;
Le lezioni si tengono dal 29 settembre al 19 dicembre 2008 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
=Finalità Dell&#039;Insegnamento e Consigli Utili=&lt;br /&gt;
&lt;br /&gt;
L&#039;informatica odierna non consiste solo nel definire algoritmi e programmi che realizzano tali algoritmi, ma anche nel comporre architetture software e hardware sulla base di componenti software o hardware. Partendo da questo motivo dominante, l&#039;insegnamento affronta i seguenti argomenti:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;: verranno illustrati i concetti generali, quali incapsulamento, ereditarietà e polimorfismo; verranno accennati i concetti di riusabilità e di composizione dei componenti software, illustrando il passaggio dalla programmazione modulare alla programmazione ad oggetti.&lt;br /&gt;
* &#039;&#039;&#039;Il linguaggio Java&#039;&#039;&#039;: verrà utilizzato come esempio di linguaggio ad oggetti, spiegando come i concetti generali sono implementati in Java; verrà inoltre spiegato come Java può essere sfruttato per lo sviluppo di interfacce grafiche.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per superare agevolmente l&#039;esame si consiglia agli studenti di seguire con continuità le lezioni e le esercitazioni dell&#039;insegnamento. Inoltre, si consiglia di non focalizzare la preparazione dell&#039;esame esclusivamente sullo studio dei libri e degli appunti, ma piuttosto di preparare l&#039;esame sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l&#039;esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ambienti di Programmazione Utilizzati&#039;&#039;: Compilatore C, Java 1.5 di pubblico dominio (disponibili in laboratorio).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Programma dell&#039;insegnamento=&lt;br /&gt;
&#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;&lt;br /&gt;
*Concetti generali&lt;br /&gt;
*Il Linguaggio Java&lt;br /&gt;
*Classi ed ereditarietà in Java&lt;br /&gt;
*I/O in Java&lt;br /&gt;
*Interfacce grafiche in Java&lt;br /&gt;
*Programmazione basata sugli eventi&lt;br /&gt;
*Strutture dati in Java&lt;br /&gt;
*Thread in Java&lt;br /&gt;
&lt;br /&gt;
=Modalità D&#039;Esame=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21, a causa della situazione pandemica, la prova scritta è &#039;&#039;sostituita&#039;&#039; dalla consegna anticipata del progetto. Le conoscenze che precedentemente erano verificate tramite lo scritto, per il 2020/21 verranno verificate sul progetto realizzato.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame si compone di uno scritto e di una discussione di un programma in Java che lo studente deve presentare all&#039;esame (e la cui proposta di progetto deve essere stata preventivamente approvata dal docente). Per maggiori dettagli, vedere il seguito di questa pagina.&lt;br /&gt;
&lt;br /&gt;
==Esame scritto==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;:  nell&#039;AA 2020/21 non è prevista la prova scritta.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame scritto serve a verificare che lo studente abbia acquisito le nozioni di astrazione, classificazione, ereditarietà e polimorfismo.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame consiste nella modellazione di alcune entità e la relativa implementazione in Java.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; possibile vedere il testo di alcuni esercizi: &lt;br /&gt;
*[[Media:EserJava1.pdf|EserJava1]] (Calcolatrice)&lt;br /&gt;
*[[Media:EserJava2.pdf|EserJava2]] (Rettangolo)&lt;br /&gt;
*[[Media:EserJava3.pdf|EserJava3]] (Termometro)&lt;br /&gt;
*[[Media:EserJava4.pdf|EserJava4]] (Lettore da dispositivo) [[Media:SoluzioneEserJava4.pdf|SoluzioneEserJava4]]&lt;br /&gt;
*[[Media:EserJava5.pdf|EserJava5]] (Navigatore)&lt;br /&gt;
*[[Media:EserJava6.pdf|EserJava6]] (Particella)&lt;br /&gt;
*[[Media:EserJava7.pdf|EserJava7]] (Conto)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#per l&#039;iscrizione all&#039;esame scritto è necessario utilizzare &#039;&#039;&#039;ESSE3&#039;&#039;&#039; e iscriversi entro la scadenza (di norma 2-3 giorni prima dell&#039;appello scritto stesso, me &amp;amp;egrave; bene controllare su ESSE3); &lt;br /&gt;
#&amp;amp;egrave; necessario aver superato lo scritto per presentare il progetto;&lt;br /&gt;
#la presentazione del progetto pu&amp;amp;ograve; avvenire anche in un appello diverso da quello dello scritto;&lt;br /&gt;
#la consegna di uno scritto cancella il voto precedente; la partecipazione ad uno scritto &#039;&#039;senza&#039;&#039; consegnare non cancella il voto precedente;&lt;br /&gt;
#il voto dello scritto vale orientativamente 1 anno; contattare il docente entro l&#039;anno se non si riesce a presentare il progetto e si richiede una proroga della validit&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
==Modalità di Sviluppo del Progetto Java==&lt;br /&gt;
All&#039;esame si deve presentare e discutere un programma realizzato in Java e che presenti le seguenti caratteristiche:&lt;br /&gt;
&lt;br /&gt;
* Sia dotato di &#039;&#039;&#039;interfaccia grafica&#039;&#039;&#039; tramite cui interagire con il programma stesso.&lt;br /&gt;
* Sfrutti i meccanismi della programmazione ad oggetti: &lt;br /&gt;
**&#039;&#039;&#039;incapsulamento&#039;&#039;&#039;; &lt;br /&gt;
**&#039;&#039;&#039;ereditarietà&#039;&#039;&#039; e, se necessario, le classi astratte e le interfacce (si considerano &#039;&#039;&#039;escluse&#039;&#039;&#039; le relazioni di ereditarietà diretta da classi di libreria Java); &lt;br /&gt;
**&#039;&#039;&#039;polimorfismo&#039;&#039;&#039;.&lt;br /&gt;
* Sfrutti le classi di sistema Java per la gestione dell&#039;&#039;&#039;&#039;input/output&#039;&#039;&#039; (&amp;lt;tt&amp;gt;Reader&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Writer&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;InputStream&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;OutputStream&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Utilizzi le &#039;&#039;&#039;strutture dati&#039;&#039;&#039; di libreria e i &#039;&#039;&#039;generics&#039;&#039;&#039;, motivando le scelte fatte. &lt;br /&gt;
* Sia diviso coerente in &#039;&#039;&#039;package&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Gli studenti sono invitati a seguire la traccia fornita dal docente.&lt;br /&gt;
In casi particolari, uno studente pu&amp;amp;ograve; proporre una proporia traccia, che &#039;&#039;&#039;deve&#039;&#039;&#039; essere approvata dal docente (anche via email).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Il programma deve essere una applicazione Java e &#039;&#039;&#039;NON&#039;&#039;&#039; una applet. --&amp;gt;&lt;br /&gt;
Il programma deve essere eseguito da &#039;&#039;&#039;linea di comando&#039;&#039;&#039;; non devono essere usate librerie proprietarie (ad es. quelle degli ambienti integrati) a meno di averlo concordato con il docente.&lt;br /&gt;
È opportuno &#039;&#039;&#039;provare&#039;&#039;&#039; il proprio programma su un altro computer (ad es. in laboratorio) prima di presentarlo in sede d&#039;esame, per verificare la portabilità.&lt;br /&gt;
&lt;br /&gt;
Il software deve essere accompagnato da pagine di &#039;&#039;&#039;documentazione&#039;&#039;&#039; HTML (tipicamente le pagine generate tramite Javadoc o altri strumenti come Doxygen) che descrivano le scelte di progetto effettuate e la struttura del sistema software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- A progetto realizzato, si valuterà il progetto (e il voto conseguente), ferma restando la possibilità del docente (e dello studente) di richiedere l&#039;integrazione nel progetto di ulteriori funzionalità/caratteristiche. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il progetto va portato il giorno dell&#039;esame, su un supporto tipo chiavetta USB; portare anche il proprio PC per sicurezza. (&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21 il progetto va consegnato in anticipo).&lt;br /&gt;
&lt;br /&gt;
In casi eccezionali &amp;amp;egrave; possibile presentare progetti di gruppo (2 persone), posto che l&#039;ampiezza del progetto sia tale da giustificare il suo sviluppo cooperativo. In tale caso, comunque, la discussione sarà esplicitamente volta a valutare, per ciascuno dei componenti del gruppo, l&#039;effettiva padronanza d&#039;uso dei concetti di base della programmazione ad oggetti, del linguaggio Java e delle sue librerie Java, oltre naturalmente all&#039;apporto individuale dato al progetto globale da ogni singolo membro del gruppo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Problemi &#039;&#039;&#039;DA EVITARE&#039;&#039;&#039; in sede di esame:&lt;br /&gt;
*Il programma non funziona&lt;br /&gt;
*Manca qualcosa (di solito, la documentazione)&lt;br /&gt;
*Il progetto è diviso su pi&amp;amp;ugrave; programmi (eventualmente da concordare con il docente)&lt;br /&gt;
*L’ereditariet&amp;amp;agrave; &amp;amp;egrave; usata male&lt;br /&gt;
*&amp;quot;Non mi ricordo come funziona perch&amp;amp;eacute; ho fatto il programma tempo fa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Traccia ==&lt;br /&gt;
[[Image:tesina.png|right|90px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; disponibile il [[Media:Tesina2425.pdf| testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
Chi decide di svolgere il progetto proposto dalla traccia, non ha bisogno di approvazione.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2425.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2324.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2223.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2022/23.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2122.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2021/22.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2021.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2020/21.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1920.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2019/20.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1819.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2018/19.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1718.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2017/18.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1617.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2016/17.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1516.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2015/16.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1415.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2014/15.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1314.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2013/14.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1213.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2012/13.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1112.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2011/12.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1011.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2010/11.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina0910.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2009/10.&lt;br /&gt;
&lt;br /&gt;
=Appelli=&lt;br /&gt;
[[Image:iscrizione.png|90px|right]]&lt;br /&gt;
Le date degli appelli sono disponibili sul sito ESSE3 (http://www.esse3.unimore.it).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
del corso di laurea&lt;br /&gt;
all&#039;indirizzo&lt;br /&gt;
&lt;br /&gt;
http://informatica.scienze.unimo.it/lt/Esami.php&lt;br /&gt;
&lt;br /&gt;
Dall&#039;AA 2006/07 viene usata la verbalizzazione elettronica; chi vuole sostenere l&#039;esame DEVE quindi iscriversi tramite il [http://www.esse3.unimore.it sito di ESSE3].&lt;br /&gt;
&lt;br /&gt;
NOTA: sul sito di ESSE3 sono presenti le date degli appelli &#039;&#039;&#039;orali&#039;&#039;&#039;, per la presentazione dei progetto.&lt;br /&gt;
Per l&#039;iscrizione agli appelli &#039;&#039;&#039;scritti&#039;&#039;&#039; &amp;amp;egrave; necessario inviare una email al docente entro 2 giorni prima dell&#039;appello scritto stesso, usando l&#039;indirizzo email &#039;&#039;&#039;universitario&#039;&#039;&#039; e specificando &#039;&#039;&#039;nome&#039;&#039;&#039;, &#039;&#039;&#039;cognome&#039;&#039;&#039; e &#039;&#039;&#039;matricola&#039;&#039;&#039;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Preappello==&lt;br /&gt;
Luned&amp;amp;igrave; 14 dicembre 2009 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un preappello valido per l&#039;esame scritto.&lt;br /&gt;
&lt;br /&gt;
Chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre con nome, cognome e matricola.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Risultati=&lt;br /&gt;
&lt;br /&gt;
Da settembre 2011 i risultati vengono comunicati tramite ESSE3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[RisultatiPO|Risultati]] degli appelli scritti precedenti:&lt;br /&gt;
*16 febbraio 2011&lt;br /&gt;
*20 gennaio 2011&lt;br /&gt;
*20 dicembre 2010&lt;br /&gt;
*18 gennaio 2010&lt;br /&gt;
*14 dicembre 2009&lt;br /&gt;
*22 giugno 2009&lt;br /&gt;
*10 giugno 2009&lt;br /&gt;
*19 febbraio 2009&lt;br /&gt;
*14 gennaio 2009&lt;br /&gt;
*15 dicembre 2008&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Testi Consigliati=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testo Dell&#039;Insegnamento&#039;&#039;&#039;&lt;br /&gt;
[[Image:textbook.png|100px|right]]&lt;br /&gt;
*G. Cabri, F. Zambonelli, &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Altri Testi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* C.S. Horstmann, &amp;quot;Concetti di informatica e fondamenti di Java&amp;quot;, Apogeo.&lt;br /&gt;
* B. Eckel, &amp;quot;Thinking in Java&amp;quot;, 4 edizione italiana, Pearson, (scaricabile gratuitamente da Internet la versione inglese http://www.BruceEckel.com).&lt;br /&gt;
* Arnold, Gosling, Holmes, &amp;quot;Il linguaggio Java. Manuale ufficiale&amp;quot;, Pearson.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per chi vuole approfondire:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mazzanti, Milanese, &amp;quot;Programmazione di applicazioni grafiche in Java&amp;quot;, Apogeo.&lt;br /&gt;
* Gamma, Helm, Johnson, Vlissides, &amp;quot;Design Patterns&amp;quot;, Addison-Wesley.&lt;br /&gt;
* J.R. Hubbard, &amp;quot;Strutture dati in Java&amp;quot;, McGraw-Hill.&lt;br /&gt;
* M.A. Weiss, &amp;quot;Data Structures And Problem Solving Using Java&amp;quot;, 2nd Edition, Addison Wesley.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Slide Dell&#039;Insegnamento=&lt;br /&gt;
&lt;br /&gt;
Il materiale degli insegnamenti di Programmazione ad Oggetti e Introduzione alla Programmazione ad Oggetti &amp;amp;egrave; contenuto nel libro &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
In questa pagina sono riportate le slide usate a lezione.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IntroduzioneInsegnamentoPO.pdf| Introduzione all&#039;insegnamento]]&lt;br /&gt;
# [[Media:01-Motivazioni.pdf | Motivazioni]]&lt;br /&gt;
# [[Media:02-LimitiProgrammazioneTradizionale.pdf|Limiti della programmazione tradizionale]]&lt;br /&gt;
# [[Media:03-IntroOOP.pdf|Introduzione alla programmazione ad oggetti]]&lt;br /&gt;
# [[Media:04-IntroJava.pdf|Introduzione al linguaggio Java]]&lt;br /&gt;
# [[Media:05-OOPJava.pdf|OOP in Java]]&lt;br /&gt;
# [[Media:06-ClassiAstratteIntefacceJava.pdf|Classi astratte e interfacce]]&lt;br /&gt;
# [[Media:07-IOJava.pdf|I/O in Java]]&lt;br /&gt;
# [[Media:08-JavaGUI.pdf|GUI in Java]]&lt;br /&gt;
# [[Media:09-CostruttiAvanzatiJava.pdf|Costrutti avanzati Java]]&lt;br /&gt;
# [[Media:10-GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:11-StruttureDatiJava.pdf|Strutture dati in Java]]&lt;br /&gt;
# [[Media:12-ThreadJava.pdf|Thread in Java]]&lt;br /&gt;
&lt;br /&gt;
==C++==&lt;br /&gt;
&lt;br /&gt;
# [[Media:01_intro_da_java_a_cpp_ | Introduzione da Java a C++]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Vecchie slide&lt;br /&gt;
* [[index.php?title=Media:09-Applet.pdf|Applet in Java]] (fatte fino all&#039;AA 2015/16)&lt;br /&gt;
* [[index.php?title=Media:UML01-LinguaggioUML 1.pdf|UML (prima parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
* [[index.php?title=Media:UML02-LinguaggioUML 2.pdf|UML (seconda parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Media:Classi.pdf|Classi di memorizzazione in C]]&lt;br /&gt;
# [[Media:TabelleMenuLayout.pdf|Tabelle, menu e layout in Java]]&lt;br /&gt;
# [[Media:GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:NovitaJ2SE5.pdf|Novit&amp;amp;agrave; di Java 2 SE 5]]&lt;br /&gt;
&lt;br /&gt;
# [[Media:JavaClassAsInterfacce.pdf| Classi Astratte e Interfacce in Java]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seminari==&lt;br /&gt;
[[index.php?title=Media:SeminarioJavaInfolog2015.pdf|Seminario]] sull&#039;uso di Java in azienda (Infolog, 9/12/2015)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2017.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2017)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2018.pdf|Seminario]] su C# (Paolo Burgio, 3/12/2018)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2015.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2019) - [[index.php?title=Media:ConsoleApp4.zip|Codice]] presentato durante il seminario&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Esempi presentati a lezione =&lt;br /&gt;
[[Image:eserciziLezione.png|right]]&lt;br /&gt;
Gli esempi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma [http://www.adobe.com/it/ Adobe Acrobat], di pubblico domino, altri in semplice formato testo.&lt;br /&gt;
Tutti gli esercizi sono stati realizzati in collaborazione con la Prof. Letizia Leonardi.&lt;br /&gt;
&lt;br /&gt;
*[[index.php?title=Media:ContoCorrente.pdf|Conto corrente in C]]&lt;br /&gt;
*[[index.php?title=Media:IOBinario.pdf|I/O Binario]]&lt;br /&gt;
*[[index.php?title=Media:Calcolatrice.zip|Calcolatrice]]&lt;br /&gt;
*[[index.php?title=Media:GraficoFunzioni.zip|Grafico di funzioni]]&lt;br /&gt;
*[[index.php?title=Media:CampoStellare.zip|Campo stellare]]&lt;br /&gt;
&lt;br /&gt;
===Programmazione ad Oggetti e Java===&lt;br /&gt;
Gli esercizi sono gli stessi contenuti nei lucidi della parte teorica, ma da qui e&#039; possibile salvare su un file (facendo &amp;quot;salva link con nome&amp;quot;) il sorgente della gran parte degli esercizi.&lt;br /&gt;
&lt;br /&gt;
====Java: Le Classi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Classi&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=13|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:Counter.java|Counter.java]], [[index.php?title=Media:Esempio0.java|Esempio0.java]], [[index.php?title=Media:Esempio1.java|Esempio1.java]], [[index.php?title=Media:Esempio2.java|Esempio2.java]], [[index.php?title=Media:Esempio2bis.java|Esempio2bis.java]], [[index.php?title=Media:Esempio3.java|Esempio3.java]], [[index.php?title=Media:Esempio4.java|Esempio4.java]], [[index.php?title=Media:Esempio5.java|Esempio5.java]], [[index.php?title=Media:Esempio5bis.java|Esempio5bis.java]], [[index.php?title=Media:Esempio6.java|Esempio6.java]], [[index.php?title=Media:Esempio7.java|Esempio7.java]], [[index.php?title=Media:Point.java|Point.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Java: Classi Astratte e Interfacce====&lt;br /&gt;
====Java: Ereditarietà====&lt;br /&gt;
====Java: Le Eccezioni====&lt;br /&gt;
====Java: Input e Output====&lt;br /&gt;
====Java: Programmazione Grafica e ad Eventi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Grafica&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=36|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:CalcButton.java|CalcButton.java]], [[index.php?title=Media:CalcPanel.java|CalcPanel.java]], [[index.php?title=Media:Calculator.java|Calculator.java]], [[index.php?title=Media:Es10Panel.java|Es10Panel.java]], [[index.php?title=Media:Es11Panel.java|Es11Panel.java]], [[index.php?title=Media:Es12Panel.java|Es12Panel.java]], [[index.php?title=Media:Es13Panel.java|Es13Panel.java]], [[index.php?title=Media:Es14Panel.java|Es14Panel.java]], [[index.php?title=Media:Es15Panel.java|Es15Panel.java]], [[index.php?title=Media:Es16Panel.java|Es16Panel.java]], [[index.php?title=Media:Es7Panel.java|Es7Panel.java]], [[index.php?title=Media:Es8Panel.java|Es8Panel.java]], [[index.php?title=Media:Es9Panel.java|Es9Panel.java]], [[index.php?title=Media:EsSwing1.java|EsSwing1.java]], [[index.php?title=Media:EsSwing10.java|EsSwing10.java]], [[index.php?title=Media:EsSwing11.java|EsSwing11.java]], [[index.php?title=Media:EsSwing12.java|EsSwing12.java]], [[index.php?title=Media:EsSwing13.java|EsSwing13.java]], [[index.php?title=Media:EsSwing14.java|EsSwing14.java]], [[index.php?title=Media:EsSwing15.java|EsSwing15.java]], [[index.php?title=Media:EsSwing16.java|EsSwing16.java]], [[index.php?title=Media:EsSwing2.java|EsSwing2.java]], [[index.php?title=Media:EsSwing3.java|EsSwing3.java]], [[index.php?title=Media:EsSwing4.java|EsSwing4.java]], [[index.php?title=Media:EsSwing5.java|EsSwing5.java]], [[index.php?title=Media:EsSwing6.java|EsSwing6.java]], [[index.php?title=Media:EsSwing7.java|EsSwing7.java]], [[index.php?title=Media:EsSwing8.java|EsSwing8.java]], [[index.php?title=Media:EsSwing9.java|EsSwing9.java]], [[index.php?title=Media:EsSwingCalculator.java|EsSwingCalculator.java]], [[index.php?title=Media:FunctionPanel.java|FunctionPanel.java]], [[index.php?title=Media:ImgPanel.java|ImgPanel.java]], [[index.php?title=Media:MyFrame.java|MyFrame.java]], [[index.php?title=Media:MyPanel.java|MyPanel.java]], [[index.php?title=Media:Terminator.java|Terminator.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Java: Le Applet====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Applet&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=9|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Applet1.java|Applet1.java]], [[Media:Applet2.java|Applet2.java]], [[Media:Applet2Listener.java|Applet2Listener.java]], [[Media:Applet3.java|Applet3.java]], [[Media:Applet3Listener.java|Applet3Listener.java]], &lt;br /&gt;
[[Media:Applet4.java|Applet4.java]], [[Media:Applet5.java|Applet5.java]], [[Media:Application2.java|Application2.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Strumenti Software=&lt;br /&gt;
[[Image:strumenti.png|right]]&lt;br /&gt;
Si indicano di seguito gli strumenti software che si utilizzano durante l&#039;insegnamento e si indica dove e&#039; possibile reperirli.&lt;br /&gt;
&lt;br /&gt;
* Per sviluppare programmi in Java si utilizza il JDK (Java Development Kit). Si può scaricare:&lt;br /&gt;
**dal sito [https://www.oracle.com/java/technologies/downloads/ Java at Oracle]&lt;br /&gt;
**dal sito [https://openjdk.java.net OpenJDK]&lt;br /&gt;
* &#039;&#039;&#039;NOTA:&#039;&#039;&#039; &amp;amp;Egrave; necessario utilizzare una versione del JDK maggiore o uguale alla 1.5 (Java J2SE 5). Si consiglia almeno la versione 11.&lt;br /&gt;
&amp;lt;!--* Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio--&amp;gt;&lt;br /&gt;
* Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è [http://www.eclipse.org/ Eclipse].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
*È possibile, per la parte C soltanto, usare un ambiente di programmazione integrato per il C disponibile qui: [http://www.delorie.com/djgpp/ Il compilatore DJGPP]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Esercitazioni di laboratorio=&lt;br /&gt;
 &lt;br /&gt;
Gli esercizi di laboratorio si possono trovare nella seguente pagina: [[EserciziPO|Esercizi di Programmazione ad Oggetti]].&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:IntroduzioneInsegnamentoPO.pdf&amp;diff=1068</id>
		<title>File:IntroduzioneInsegnamentoPO.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:IntroduzioneInsegnamentoPO.pdf&amp;diff=1068"/>
		<updated>2026-02-23T20:15:59Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: Giacomo Cabri ha caricato una nuova versione di File:IntroduzioneInsegnamentoPO.pdf.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=1067</id>
		<title>Tesi Giacomo Cabri</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=1067"/>
		<updated>2026-02-11T13:47:05Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Tesi per Laurea Triennale */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sono disponibili delle [[Media:LineeGuidaTesi.pdf|linee guida]] per scrivere la tesi o l&#039;elaborato.&lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Magistrale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* implementazione di approcci in auto in scala 1:10&lt;br /&gt;
&lt;br /&gt;
=== Passaporto di prodotto digitale ===&lt;br /&gt;
&lt;br /&gt;
* modelli di passaporto digitale&lt;br /&gt;
* meccanismi di verifica delle caratteristiche del passaporto digitale&lt;br /&gt;
&lt;br /&gt;
=== Digital twin ===&lt;br /&gt;
&lt;br /&gt;
* astrazioni software di fabbriche fisiche&lt;br /&gt;
* interoperabilità tra macchinari e tra aziende&lt;br /&gt;
* coordinamento di obiettivi aziendali con gestione di macchinari&lt;br /&gt;
&lt;br /&gt;
=== Agenti software ===&lt;br /&gt;
&lt;br /&gt;
* metodologie e infrastrutture per lo sviluppo di applicazioni ad agenti&lt;br /&gt;
* modelli di interazione basati sui ruoli confronti tra diversi approcci o implementazioni a ruoli&lt;br /&gt;
* definizione di linee guida per lo sviluppo di applicazioni ad agenti basate sui ruoli&lt;br /&gt;
* infrastrutture e middleware per permettere agli agenti di assumere ruoli e di interagire&lt;br /&gt;
* estensione di infrastrutture esistenti&lt;br /&gt;
&lt;br /&gt;
=== Ambienti per agenti ===&lt;br /&gt;
&lt;br /&gt;
* gestione della fiducia per le interazioni tra agenti&lt;br /&gt;
* adattabilità degli agenti agli stimoli dell&#039;ambiente&lt;br /&gt;
* agenti per dispositivi mobili&lt;br /&gt;
* interoperabilità tra sistemi ad agenti Java e quelli basati su altri linguaggi di programmazione&lt;br /&gt;
* studio di piattaforme ad agenti ad alte prestazioni&lt;br /&gt;
&lt;br /&gt;
=== Applicazioni ad agenti ===&lt;br /&gt;
&lt;br /&gt;
* agenti applicati all&#039;e-health (campo medico)&lt;br /&gt;
* agenti mobili per la gestione dei sistemi&lt;br /&gt;
* agenti mobili per trattare la sicurezza dei dati&lt;br /&gt;
* supporto alle visite ai beni culturali&lt;br /&gt;
* e-government&lt;br /&gt;
* agenti mobili per il supporto al green computing&lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Triennale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* gestione degli incroci&lt;br /&gt;
* gestione dei parcheggi&lt;br /&gt;
&lt;br /&gt;
=== Passaporto di prodotto digitale ===&lt;br /&gt;
&lt;br /&gt;
* app e applicazioni web per la gestione del passaporto digitale&lt;br /&gt;
* ChatDPP: sviluppo di un chatbot per il passaporto digitale&lt;br /&gt;
* meccanismi di verifica delle caratteristiche del passaporto digitale&lt;br /&gt;
&lt;br /&gt;
=== Digital factory - Industry 4.0 ===&lt;br /&gt;
&lt;br /&gt;
* modelli software per le digital factory&lt;br /&gt;
* piattaforme software di supporto alle digital factory&lt;br /&gt;
&lt;br /&gt;
=== Sviluppo di applicazioni distribuite ===&lt;br /&gt;
&lt;br /&gt;
* sviluppo di una applicazione per la gestione delle sale operatorie (in collaborazione con l&#039;ospedale di Carpi)&lt;br /&gt;
* giochi socialmente utili ([https://it.wikipedia.org/wiki/Gioco_con_uno_scopo Game With A purpose] site; Video YouTube)&lt;br /&gt;
* gestione di ospedali per Informatici senza frontiere&lt;br /&gt;
&lt;br /&gt;
== Tesi in azienda ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OTConsulting&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.otconsulting.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
* applicazioni Web&lt;br /&gt;
* ciclo di vita del software per sistemi embedded&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Infolog&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.infolog.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Implementazione di un framework in Android per la trasposizione di logiche RF (Radio Frequenza) attraverso interfacce smart e touch screen.&lt;br /&gt;
* Progettazione e implementazione di un tool per l’esecuzione automatica di unit test, al fine di rilevare la coerenza continua delle funzionalità di base del prodotto software di logistica proprietario&lt;br /&gt;
* Studio e implementazione di un algoritmo in grado di ottimizzare il posizionamento di oggetti su un bancale&lt;br /&gt;
* Progetto di visione artificiale in linguaggio Java&lt;br /&gt;
* Applicazione dei framework grafici Swing e JavaFX&lt;br /&gt;
* Progettazione e applicazione pratica di un algoritmo in Java&lt;br /&gt;
* Sviluppo di un algoritmo di Anomaly Detection in grado di rilevare malfunzionamenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Elettric80&#039;&#039;&#039;, Viano (RE) (&amp;lt;nowiki&amp;gt;http://www.elettric80.it/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Android di supporto alla GUI&lt;br /&gt;
* Sistema di gestione di dati distribuiti ed eterogenei&lt;br /&gt;
* Studio SW di un sistema di intralogistica&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Apex&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.apex.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Web&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TETRA PAK&#039;&#039;&#039; PACKAGING SOLUTIONS, Modena (&amp;lt;nowiki&amp;gt;http://www.tetrapak.com/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Developing of an ETL process and reporting (English knowledge is required)&lt;br /&gt;
* Developing of a dashboard for consumer behaviour insights (English knowledge is required)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CINECA&#039;&#039;&#039;, Bologna (&amp;lt;nowiki&amp;gt;https://www.cineca.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software di interfaccia client RCM (Remote Connection Manager)&lt;br /&gt;
* Sviluppo di un software per monitoraggio delle performance nell&#039;ambito del progetto CHECK (Cluster Health and Environment ChecKing system)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multitraccia&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.multitraccia.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo dell’evoluzione di un progetto esistente di gestionale aziendale in cloud per il controllo dei flussi produttivi&lt;br /&gt;
* Sviluppo di un progetto di evoluzione in versione webapp di un applicativo client/server&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AppAway&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://appaway.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Progettazione e realizzazione librerie di keywords componibili dedicate alla scrittura degli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione delle procedure di devops per ricostruire un ambiente su cui eseguire gli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione di un ambiente basato su Apache Mesos e DC/OS, predisposizione pipeline di deploy di un&#039;applicazione di esempio, comparazione con OpenShift e CloudFoundry&lt;br /&gt;
* Progettazione e realizzazione procedure di backup, stress e ripristino dell&#039;ambiente descritto nel del punto precedente&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Doxee&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.doxee.com/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Produzione documenti ad alte prestazioni in modalità batch: Analisi e sperimentazione delle funzionalità di Amazon Web Services Batch (&amp;lt;nowiki&amp;gt;https://aws.amazon.com/batch/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di applicazioni per la produzione di documenti personalizzati ad alte prestazioni.&lt;br /&gt;
* Produzione di documenti ad alte prestazioni in modalità on-demand: Analisi e sperimentazione delle funzionalità di Docker (&amp;lt;nowiki&amp;gt;https://www.docker.com/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di API REST finalizzate alla produzione di documenti ad alte prestazioni ed alta distribuzione in modalità on-demand.&lt;br /&gt;
* Multi-tenancy in applicazioni di calcolo ad alte prestazioni: Dato un sistema produttivo ad alte prestazioni caratterizzato da multi-tenancy (ovvero, applicazioni con diverse finalità che competono per l’utilizzo di risorse di sistema comuni), analisi e prototipazione di tecnologie per la protezione del sistema dal sovraccarico e uso anomalo della capacità produttiva.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dedalus&#039;&#039;&#039; (ex Eurosoft Informatica Medica), Modena (&amp;lt;nowiki&amp;gt;http://www.dedalus.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* integrazione di workflow all&#039;interno di un Enterprise Service Bus (ESB) &lt;br /&gt;
* AI-powered web chat per specificare i requisiti di integrazione &lt;br /&gt;
* Integrazione di un editor JavaScript personalizzabile&lt;br /&gt;
* software per ambito medico&lt;br /&gt;
* gestione delle prenotazioni visite&lt;br /&gt;
* gestione delle cartelle cliniche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DM Digital&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.dmdigital.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di app per Windows Phone e Windows RT che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di architettura database server scalabile e distribuita;&lt;br /&gt;
* Sviluppo di app per Kindle Fire HD che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di versione di libri digitali in-book compatibili con formato e-pub.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Axyon AI&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.axyon.ai/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di sistemi di integrazione con provider di dati finanziari, tramite l&#039;utilizzo di API dedicate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expert Systems&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertsystem.net/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sviluppo di una libreria a oggetti per la rappresentazione semantica dei concetti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GM Soft&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.gm-soft.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni VB.Net/SQL per l’automazione&lt;br /&gt;
* Applicazioni PHP/MySql&lt;br /&gt;
* Applicazioni Cloud e IoT&lt;br /&gt;
* Digital Forensic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LAPAM&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.lapam.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un portale di gestione degli eventi&lt;br /&gt;
* Sviluppo di un portale per la gestione della formazione&lt;br /&gt;
* Sviluppo di un portale di news&lt;br /&gt;
* Sviluppo di un sistema di creazione e gestione di voucher virtuali &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maserati&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.maserati.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione protocollo di comunicazione per simulazione virtuale&lt;br /&gt;
* Sviluppo di app per la gestione della membership, pagamento e tracciabilità asset per un progetto di Urban Mobility centrato su e-bikes&lt;br /&gt;
* Industrializzazione del software&lt;br /&gt;
* Amministrazione di archivi informativi tramite sharepoint&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Marketz&#039;&#039;&#039;, (&amp;lt;nowiki&amp;gt;https://www.marketz.eu&amp;lt;/nowiki&amp;gt;) &lt;br /&gt;
&lt;br /&gt;
* Implementazione/reingegnerizzazione web application (dettagli)&lt;br /&gt;
* Automatizzazione processi di business (dettagli)&lt;br /&gt;
* Business Intelligence applicata al trading energetico (dettagli)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Isotta Fraschini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.isottafraschini.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Blockchain platform project&lt;br /&gt;
* Certification of asset life-cycle tracking&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Agile telecom&#039;&#039;&#039;, Carpi&lt;br /&gt;
&lt;br /&gt;
* Studio di soluzioni di cloud computing&lt;br /&gt;
* Studio di soluzioni basate su microservizi&lt;br /&gt;
&#039;&#039;&#039;Reply&#039;&#039;&#039;, Torino (&amp;lt;nowiki&amp;gt;https://www.reply.com/cluster-reply/it/proposte-di-tesi-e-tirocini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Data mesh&lt;br /&gt;
* Piattaforme digital twin&lt;br /&gt;
* Analisi tramite NLP&lt;br /&gt;
* Analisi dei mondi virtuali&lt;br /&gt;
* Automazione della PA&lt;br /&gt;
* DevOps&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&#039;&#039;&#039;AVL&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.avl.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* Sviluppo di un software per la gestione delle vendite in Visual Basic e Excel&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DemaNet&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;https://www.demanet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software ERP&lt;br /&gt;
* Sviluppo di un software di gestione della produzione secondo le linee Industria 4.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Panini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.paninigroup.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione in ambiente di sviluppo Microsoft .Net, Visual Basic 6 e Java &lt;br /&gt;
* MS SQL Server&lt;br /&gt;
* Ambienti di Business Intelligence Business Obejcts e Decisyon&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CREDEMTEL&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.credemtel.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Fatturazione elettronica e l’E.D.I.&lt;br /&gt;
* Social platform per condividere progetti, idee e informazioni&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Web CRM con interfaccia tablet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rinnai&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.rinnai.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo applicazioni web&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Implementazione su server aziendale di un software di ticketing a servizio dell’ufficio tecnico postvendita e call center aziendale; il software al momento identificato è OTRS, software Open Source in linguaggio Perl.&lt;br /&gt;
* Implementazione su server aziendale di un sistema di comunicazione fra CRM Sugar e Centralino Elastix per il riconoscimento delle telefonate entranti e loro gestione anche attraverso il software di ticketing OTRS.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Servizio IT dell’Azienda Ospedaliero Universitaria di Modena (Policlinico)&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.policlinico.mo.it/home.html&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Analisi semantica del testo dei referti di specialistica ambulatoriale, tramite l&#039;utilizzo di umls rif. &amp;lt;nowiki&amp;gt;https://www.nlm.nih.gov/research/umls/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Interconnessione e scambio tra gli applicativi aziendali, delle anagrafiche popolazione residenti in Emilia Romagna, utilizzando lo standard fhir &amp;lt;nowiki&amp;gt;http://www.hl7.org/fhir/?ref=learnmore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Huddle Room Technology&#039;&#039;&#039;, Campogalliano (MO) (&amp;lt;nowiki&amp;gt;http://www.huddleroomtechnology.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicativi software per le piattaforme mobili (iOS/Android) e desktop (Windows/MacOSX) per l&#039;interazione con un dispositivo per videoconferenza&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;gruppo ECHO di OGS&#039;&#039;&#039;, Trieste (&amp;lt;nowiki&amp;gt;http://www.ogs.trieste.it/it/content/echo-modellistica-dei-sistemi-marini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Studio e implementazione di un memory model per l&#039;aumento della località dei dati per il Software Shyfem per lo studio di lagune&lt;br /&gt;
* Ottimizzazione del codice BFM5 standalone &lt;br /&gt;
* Inserimento della formulazione free surface nella parametrizzazione del trasposto orizzontale del codice OPATM&lt;br /&gt;
* Aumento della risoluzione del modello OPATM-BFM da 1/16 a 1/24&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sailing&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.sailingweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione di applicazioni Java&lt;br /&gt;
* Gestione di aspetti sistemistici come application server &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Twin Set&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.twinset.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione e gestione applicazioni web&lt;br /&gt;
* Gestione infrastruttura IT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Miliaris&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.miliaris.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Gestione distribuita di contenuti multimediali&lt;br /&gt;
* Applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Addiction&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.addiction.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sistemi di intranet aziendali&lt;br /&gt;
* Rich Internet Application&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MDLAB&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.mdlab-software.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di interfacce grafiche in ambiente JAVA per software di simulazione di dispositivi elettronici&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALIMAC&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://talimac.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di APP (sia su piattaforme iOS che Android)&lt;br /&gt;
* Soluzioni WEB (siti e gestionali)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kartha&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.kartha.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni di Workflow&lt;br /&gt;
* gestione documentale&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Xion&#039;&#039;&#039;, Scandiano, RE (&amp;lt;nowiki&amp;gt;http://www.xion-srl.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Software per automazione industriale&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Spikenet&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.spikenet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Marketing Automation (&amp;lt;nowiki&amp;gt;http://en.wikipedia.org/wiki/Marketing_automation&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* Prodotti Mobile per ambienti Apple / Android&lt;br /&gt;
* Sviluppo e personalizzazione di progetti basati su piattaforma eCommerce &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&#039;&#039;&#039;Expertweb&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* Soluzioni per ecommerce open-source&lt;br /&gt;
* requisiti, installazione e funzionalità, di CMS &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kyros&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.kyros.net/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Integrazione di tecnologie open source&lt;br /&gt;
* Sviluppo di CRM, Social CRM, Business Intelligence, Portali collaborativi, Social network integrati&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Freedom GmbH&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.freedomgmbh.de/en/home&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo e ampliamento sito internet&lt;br /&gt;
* Realizzazione programma per l’invio di newsletter&lt;br /&gt;
* Studio e pianificazione marketing aziendale, anche attraverso l’uso di social network&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Softintime&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.softintime.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Tecnologie avanzate per la gestione nel campo della moda&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perigeo&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.perigeo.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicazioni client-server e Web nell’ambito di progetti SAP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Joint Research Center&#039;&#039;&#039;, Ispra, MI (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Traineeships (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc/index.cfm?id=3720&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Comune di Carpi&#039;&#039;&#039; (&amp;lt;nowiki&amp;gt;http://www.carpidiem.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* informatizzazione dei servizi&lt;br /&gt;
* gestione delle procedure&lt;br /&gt;
* gestione del sistema informativo&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Musei civici di Reggio Emilia&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* supporto informatico alla visita dei musei tramite palmari&lt;br /&gt;
* supporto informatico alla visita della città&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;STMicroelectronics&#039;&#039;&#039;, Milano&lt;br /&gt;
&lt;br /&gt;
* sviluppo di applicazioni per l&#039;elettronica&lt;br /&gt;
&lt;br /&gt;
== Tesi all&#039;estero ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende estere possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Institute of Human and Machine Cognition&#039;&#039;&#039;, Pensacola, USA (&amp;lt;nowiki&amp;gt;http://www.ihmc.us&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sistemi distribuiti&lt;br /&gt;
* mobilità e coordinamento&lt;br /&gt;
* servizi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ABB Corporate Research Center&#039;&#039;&#039;, Ladenburg, Germania (&amp;lt;nowiki&amp;gt;http://www.abb.com/cawp/abbzh254/f7759f8b22a81780c1256b57004fb277.aspx&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni mobili (info)&lt;br /&gt;
* tecnologie semantiche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C7&#039;&#039;&#039;, Buenos Aires, Argentina (&amp;lt;nowiki&amp;gt;http://www.continentesiete.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* modellazione e simulazione di sistemi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Accenture&#039;&#039;&#039;, Sophia Antipolis, Francia (&amp;lt;nowiki&amp;gt;http://www.accenture.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Whitestein&#039;&#039;&#039;, Zurigo, Svizzera (&amp;lt;nowiki&amp;gt;http://www.whitestein.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni ad agenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Università straniere:&#039;&#039;&#039;&lt;br /&gt;
* Groningen (NL)&lt;br /&gt;
* Napier University a Edimburgo (UK)&lt;br /&gt;
* Imperial College a Londra (UK)&lt;br /&gt;
* Bournemouth (UK)&lt;br /&gt;
* Università della Svizzera Italiana (CH)&lt;br /&gt;
* Savoia (F)&lt;br /&gt;
* Vienna (A)&lt;br /&gt;
* Victoria (CAN)&lt;br /&gt;
&lt;br /&gt;
Per informazioni sulle tesi rivolgersi al Prof. Giacomo Cabri ([mailto://Giacomo.cabri@unimore.it giacomo.cabri@unimore.it]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://web.archive.org/web/20220930190641/https://www.didattica.agentgroup.unimo.it/wiki/index.php/Tesi_Giacomo_Cabri Link] alla vecchia pagina archivio.&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=1066</id>
		<title>Tesi Giacomo Cabri</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=1066"/>
		<updated>2025-11-11T14:45:45Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Tesi in azienda */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sono disponibili delle [[Media:LineeGuidaTesi.pdf|linee guida]] per scrivere la tesi o l&#039;elaborato.&lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Magistrale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* implementazione di approcci in auto in scala 1:10&lt;br /&gt;
&lt;br /&gt;
=== Passaporto di prodotto digitale ===&lt;br /&gt;
&lt;br /&gt;
* modelli di passaporto digitale&lt;br /&gt;
* meccanismi di verifica delle caratteristiche del passaporto digitale&lt;br /&gt;
&lt;br /&gt;
=== Digital twin ===&lt;br /&gt;
&lt;br /&gt;
* astrazioni software di fabbriche fisiche&lt;br /&gt;
* interoperabilità tra macchinari e tra aziende&lt;br /&gt;
* coordinamento di obiettivi aziendali con gestione di macchinari&lt;br /&gt;
&lt;br /&gt;
=== Agenti software ===&lt;br /&gt;
&lt;br /&gt;
* metodologie e infrastrutture per lo sviluppo di applicazioni ad agenti&lt;br /&gt;
* modelli di interazione basati sui ruoli confronti tra diversi approcci o implementazioni a ruoli&lt;br /&gt;
* definizione di linee guida per lo sviluppo di applicazioni ad agenti basate sui ruoli&lt;br /&gt;
* infrastrutture e middleware per permettere agli agenti di assumere ruoli e di interagire&lt;br /&gt;
* estensione di infrastrutture esistenti&lt;br /&gt;
&lt;br /&gt;
=== Ambienti per agenti ===&lt;br /&gt;
&lt;br /&gt;
* gestione della fiducia per le interazioni tra agenti&lt;br /&gt;
* adattabilità degli agenti agli stimoli dell&#039;ambiente&lt;br /&gt;
* agenti per dispositivi mobili&lt;br /&gt;
* interoperabilità tra sistemi ad agenti Java e quelli basati su altri linguaggi di programmazione&lt;br /&gt;
* studio di piattaforme ad agenti ad alte prestazioni&lt;br /&gt;
&lt;br /&gt;
=== Applicazioni ad agenti ===&lt;br /&gt;
&lt;br /&gt;
* agenti applicati all&#039;e-health (campo medico)&lt;br /&gt;
* agenti mobili per la gestione dei sistemi&lt;br /&gt;
* agenti mobili per trattare la sicurezza dei dati&lt;br /&gt;
* supporto alle visite ai beni culturali&lt;br /&gt;
* e-government&lt;br /&gt;
* agenti mobili per il supporto al green computing&lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Triennale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* gestione degli incroci&lt;br /&gt;
* gestione dei parcheggi&lt;br /&gt;
&lt;br /&gt;
=== Passaporto di prodotto digitale ===&lt;br /&gt;
&lt;br /&gt;
* app e applicazioni web per la gestione del passaporto digitale&lt;br /&gt;
* ChatDPP: sviluppo di un chatbot per il passaporto digitale&lt;br /&gt;
* meccanismi di verifica delle caratteristiche del passaporto digitale&lt;br /&gt;
&lt;br /&gt;
=== Digital factory - Industry 4.0 ===&lt;br /&gt;
&lt;br /&gt;
* modelli software per le digital factory&lt;br /&gt;
* piattaforme software di supporto alle digital factory&lt;br /&gt;
&lt;br /&gt;
=== Sviluppo di applicazioni distribuite ===&lt;br /&gt;
&lt;br /&gt;
* giochi socialmente utili ([https://it.wikipedia.org/wiki/Gioco_con_uno_scopo Game With A purpose] site; Video YouTube)&lt;br /&gt;
* gestione di ospedali per Informatici senza frontiere&lt;br /&gt;
&lt;br /&gt;
== Tesi in azienda ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OTConsulting&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.otconsulting.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
* applicazioni Web&lt;br /&gt;
* ciclo di vita del software per sistemi embedded&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Infolog&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.infolog.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Implementazione di un framework in Android per la trasposizione di logiche RF (Radio Frequenza) attraverso interfacce smart e touch screen.&lt;br /&gt;
* Progettazione e implementazione di un tool per l’esecuzione automatica di unit test, al fine di rilevare la coerenza continua delle funzionalità di base del prodotto software di logistica proprietario&lt;br /&gt;
* Studio e implementazione di un algoritmo in grado di ottimizzare il posizionamento di oggetti su un bancale&lt;br /&gt;
* Progetto di visione artificiale in linguaggio Java&lt;br /&gt;
* Applicazione dei framework grafici Swing e JavaFX&lt;br /&gt;
* Progettazione e applicazione pratica di un algoritmo in Java&lt;br /&gt;
* Sviluppo di un algoritmo di Anomaly Detection in grado di rilevare malfunzionamenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Elettric80&#039;&#039;&#039;, Viano (RE) (&amp;lt;nowiki&amp;gt;http://www.elettric80.it/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Android di supporto alla GUI&lt;br /&gt;
* Sistema di gestione di dati distribuiti ed eterogenei&lt;br /&gt;
* Studio SW di un sistema di intralogistica&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Apex&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.apex.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Web&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TETRA PAK&#039;&#039;&#039; PACKAGING SOLUTIONS, Modena (&amp;lt;nowiki&amp;gt;http://www.tetrapak.com/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Developing of an ETL process and reporting (English knowledge is required)&lt;br /&gt;
* Developing of a dashboard for consumer behaviour insights (English knowledge is required)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CINECA&#039;&#039;&#039;, Bologna (&amp;lt;nowiki&amp;gt;https://www.cineca.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software di interfaccia client RCM (Remote Connection Manager)&lt;br /&gt;
* Sviluppo di un software per monitoraggio delle performance nell&#039;ambito del progetto CHECK (Cluster Health and Environment ChecKing system)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multitraccia&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.multitraccia.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo dell’evoluzione di un progetto esistente di gestionale aziendale in cloud per il controllo dei flussi produttivi&lt;br /&gt;
* Sviluppo di un progetto di evoluzione in versione webapp di un applicativo client/server&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AppAway&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://appaway.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Progettazione e realizzazione librerie di keywords componibili dedicate alla scrittura degli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione delle procedure di devops per ricostruire un ambiente su cui eseguire gli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione di un ambiente basato su Apache Mesos e DC/OS, predisposizione pipeline di deploy di un&#039;applicazione di esempio, comparazione con OpenShift e CloudFoundry&lt;br /&gt;
* Progettazione e realizzazione procedure di backup, stress e ripristino dell&#039;ambiente descritto nel del punto precedente&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Doxee&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.doxee.com/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Produzione documenti ad alte prestazioni in modalità batch: Analisi e sperimentazione delle funzionalità di Amazon Web Services Batch (&amp;lt;nowiki&amp;gt;https://aws.amazon.com/batch/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di applicazioni per la produzione di documenti personalizzati ad alte prestazioni.&lt;br /&gt;
* Produzione di documenti ad alte prestazioni in modalità on-demand: Analisi e sperimentazione delle funzionalità di Docker (&amp;lt;nowiki&amp;gt;https://www.docker.com/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di API REST finalizzate alla produzione di documenti ad alte prestazioni ed alta distribuzione in modalità on-demand.&lt;br /&gt;
* Multi-tenancy in applicazioni di calcolo ad alte prestazioni: Dato un sistema produttivo ad alte prestazioni caratterizzato da multi-tenancy (ovvero, applicazioni con diverse finalità che competono per l’utilizzo di risorse di sistema comuni), analisi e prototipazione di tecnologie per la protezione del sistema dal sovraccarico e uso anomalo della capacità produttiva.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dedalus&#039;&#039;&#039; (ex Eurosoft Informatica Medica), Modena (&amp;lt;nowiki&amp;gt;http://www.dedalus.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* integrazione di workflow all&#039;interno di un Enterprise Service Bus (ESB) &lt;br /&gt;
* AI-powered web chat per specificare i requisiti di integrazione &lt;br /&gt;
* Integrazione di un editor JavaScript personalizzabile&lt;br /&gt;
* software per ambito medico&lt;br /&gt;
* gestione delle prenotazioni visite&lt;br /&gt;
* gestione delle cartelle cliniche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DM Digital&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.dmdigital.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di app per Windows Phone e Windows RT che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di architettura database server scalabile e distribuita;&lt;br /&gt;
* Sviluppo di app per Kindle Fire HD che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di versione di libri digitali in-book compatibili con formato e-pub.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Axyon AI&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.axyon.ai/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di sistemi di integrazione con provider di dati finanziari, tramite l&#039;utilizzo di API dedicate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expert Systems&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertsystem.net/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sviluppo di una libreria a oggetti per la rappresentazione semantica dei concetti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GM Soft&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.gm-soft.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni VB.Net/SQL per l’automazione&lt;br /&gt;
* Applicazioni PHP/MySql&lt;br /&gt;
* Applicazioni Cloud e IoT&lt;br /&gt;
* Digital Forensic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LAPAM&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.lapam.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un portale di gestione degli eventi&lt;br /&gt;
* Sviluppo di un portale per la gestione della formazione&lt;br /&gt;
* Sviluppo di un portale di news&lt;br /&gt;
* Sviluppo di un sistema di creazione e gestione di voucher virtuali &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maserati&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.maserati.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione protocollo di comunicazione per simulazione virtuale&lt;br /&gt;
* Sviluppo di app per la gestione della membership, pagamento e tracciabilità asset per un progetto di Urban Mobility centrato su e-bikes&lt;br /&gt;
* Industrializzazione del software&lt;br /&gt;
* Amministrazione di archivi informativi tramite sharepoint&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Marketz&#039;&#039;&#039;, (&amp;lt;nowiki&amp;gt;https://www.marketz.eu&amp;lt;/nowiki&amp;gt;) &lt;br /&gt;
&lt;br /&gt;
* Implementazione/reingegnerizzazione web application (dettagli)&lt;br /&gt;
* Automatizzazione processi di business (dettagli)&lt;br /&gt;
* Business Intelligence applicata al trading energetico (dettagli)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Isotta Fraschini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.isottafraschini.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Blockchain platform project&lt;br /&gt;
* Certification of asset life-cycle tracking&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Agile telecom&#039;&#039;&#039;, Carpi&lt;br /&gt;
&lt;br /&gt;
* Studio di soluzioni di cloud computing&lt;br /&gt;
* Studio di soluzioni basate su microservizi&lt;br /&gt;
&#039;&#039;&#039;Reply&#039;&#039;&#039;, Torino (&amp;lt;nowiki&amp;gt;https://www.reply.com/cluster-reply/it/proposte-di-tesi-e-tirocini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Data mesh&lt;br /&gt;
* Piattaforme digital twin&lt;br /&gt;
* Analisi tramite NLP&lt;br /&gt;
* Analisi dei mondi virtuali&lt;br /&gt;
* Automazione della PA&lt;br /&gt;
* DevOps&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&#039;&#039;&#039;AVL&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.avl.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* Sviluppo di un software per la gestione delle vendite in Visual Basic e Excel&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DemaNet&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;https://www.demanet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software ERP&lt;br /&gt;
* Sviluppo di un software di gestione della produzione secondo le linee Industria 4.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Panini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.paninigroup.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione in ambiente di sviluppo Microsoft .Net, Visual Basic 6 e Java &lt;br /&gt;
* MS SQL Server&lt;br /&gt;
* Ambienti di Business Intelligence Business Obejcts e Decisyon&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CREDEMTEL&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.credemtel.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Fatturazione elettronica e l’E.D.I.&lt;br /&gt;
* Social platform per condividere progetti, idee e informazioni&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Web CRM con interfaccia tablet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rinnai&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.rinnai.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo applicazioni web&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Implementazione su server aziendale di un software di ticketing a servizio dell’ufficio tecnico postvendita e call center aziendale; il software al momento identificato è OTRS, software Open Source in linguaggio Perl.&lt;br /&gt;
* Implementazione su server aziendale di un sistema di comunicazione fra CRM Sugar e Centralino Elastix per il riconoscimento delle telefonate entranti e loro gestione anche attraverso il software di ticketing OTRS.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Servizio IT dell’Azienda Ospedaliero Universitaria di Modena (Policlinico)&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.policlinico.mo.it/home.html&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Analisi semantica del testo dei referti di specialistica ambulatoriale, tramite l&#039;utilizzo di umls rif. &amp;lt;nowiki&amp;gt;https://www.nlm.nih.gov/research/umls/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Interconnessione e scambio tra gli applicativi aziendali, delle anagrafiche popolazione residenti in Emilia Romagna, utilizzando lo standard fhir &amp;lt;nowiki&amp;gt;http://www.hl7.org/fhir/?ref=learnmore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Huddle Room Technology&#039;&#039;&#039;, Campogalliano (MO) (&amp;lt;nowiki&amp;gt;http://www.huddleroomtechnology.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicativi software per le piattaforme mobili (iOS/Android) e desktop (Windows/MacOSX) per l&#039;interazione con un dispositivo per videoconferenza&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;gruppo ECHO di OGS&#039;&#039;&#039;, Trieste (&amp;lt;nowiki&amp;gt;http://www.ogs.trieste.it/it/content/echo-modellistica-dei-sistemi-marini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Studio e implementazione di un memory model per l&#039;aumento della località dei dati per il Software Shyfem per lo studio di lagune&lt;br /&gt;
* Ottimizzazione del codice BFM5 standalone &lt;br /&gt;
* Inserimento della formulazione free surface nella parametrizzazione del trasposto orizzontale del codice OPATM&lt;br /&gt;
* Aumento della risoluzione del modello OPATM-BFM da 1/16 a 1/24&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sailing&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.sailingweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione di applicazioni Java&lt;br /&gt;
* Gestione di aspetti sistemistici come application server &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Twin Set&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.twinset.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione e gestione applicazioni web&lt;br /&gt;
* Gestione infrastruttura IT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Miliaris&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.miliaris.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Gestione distribuita di contenuti multimediali&lt;br /&gt;
* Applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Addiction&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.addiction.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sistemi di intranet aziendali&lt;br /&gt;
* Rich Internet Application&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MDLAB&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.mdlab-software.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di interfacce grafiche in ambiente JAVA per software di simulazione di dispositivi elettronici&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALIMAC&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://talimac.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di APP (sia su piattaforme iOS che Android)&lt;br /&gt;
* Soluzioni WEB (siti e gestionali)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kartha&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.kartha.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni di Workflow&lt;br /&gt;
* gestione documentale&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Xion&#039;&#039;&#039;, Scandiano, RE (&amp;lt;nowiki&amp;gt;http://www.xion-srl.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Software per automazione industriale&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Spikenet&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.spikenet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Marketing Automation (&amp;lt;nowiki&amp;gt;http://en.wikipedia.org/wiki/Marketing_automation&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* Prodotti Mobile per ambienti Apple / Android&lt;br /&gt;
* Sviluppo e personalizzazione di progetti basati su piattaforma eCommerce &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&#039;&#039;&#039;Expertweb&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* Soluzioni per ecommerce open-source&lt;br /&gt;
* requisiti, installazione e funzionalità, di CMS &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kyros&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.kyros.net/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Integrazione di tecnologie open source&lt;br /&gt;
* Sviluppo di CRM, Social CRM, Business Intelligence, Portali collaborativi, Social network integrati&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Freedom GmbH&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.freedomgmbh.de/en/home&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo e ampliamento sito internet&lt;br /&gt;
* Realizzazione programma per l’invio di newsletter&lt;br /&gt;
* Studio e pianificazione marketing aziendale, anche attraverso l’uso di social network&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Softintime&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.softintime.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Tecnologie avanzate per la gestione nel campo della moda&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perigeo&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.perigeo.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicazioni client-server e Web nell’ambito di progetti SAP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Joint Research Center&#039;&#039;&#039;, Ispra, MI (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Traineeships (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc/index.cfm?id=3720&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Comune di Carpi&#039;&#039;&#039; (&amp;lt;nowiki&amp;gt;http://www.carpidiem.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* informatizzazione dei servizi&lt;br /&gt;
* gestione delle procedure&lt;br /&gt;
* gestione del sistema informativo&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Musei civici di Reggio Emilia&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* supporto informatico alla visita dei musei tramite palmari&lt;br /&gt;
* supporto informatico alla visita della città&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;STMicroelectronics&#039;&#039;&#039;, Milano&lt;br /&gt;
&lt;br /&gt;
* sviluppo di applicazioni per l&#039;elettronica&lt;br /&gt;
&lt;br /&gt;
== Tesi all&#039;estero ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende estere possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Institute of Human and Machine Cognition&#039;&#039;&#039;, Pensacola, USA (&amp;lt;nowiki&amp;gt;http://www.ihmc.us&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sistemi distribuiti&lt;br /&gt;
* mobilità e coordinamento&lt;br /&gt;
* servizi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ABB Corporate Research Center&#039;&#039;&#039;, Ladenburg, Germania (&amp;lt;nowiki&amp;gt;http://www.abb.com/cawp/abbzh254/f7759f8b22a81780c1256b57004fb277.aspx&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni mobili (info)&lt;br /&gt;
* tecnologie semantiche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C7&#039;&#039;&#039;, Buenos Aires, Argentina (&amp;lt;nowiki&amp;gt;http://www.continentesiete.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* modellazione e simulazione di sistemi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Accenture&#039;&#039;&#039;, Sophia Antipolis, Francia (&amp;lt;nowiki&amp;gt;http://www.accenture.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Whitestein&#039;&#039;&#039;, Zurigo, Svizzera (&amp;lt;nowiki&amp;gt;http://www.whitestein.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni ad agenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Università straniere:&#039;&#039;&#039;&lt;br /&gt;
* Groningen (NL)&lt;br /&gt;
* Napier University a Edimburgo (UK)&lt;br /&gt;
* Imperial College a Londra (UK)&lt;br /&gt;
* Bournemouth (UK)&lt;br /&gt;
* Università della Svizzera Italiana (CH)&lt;br /&gt;
* Savoia (F)&lt;br /&gt;
* Vienna (A)&lt;br /&gt;
* Victoria (CAN)&lt;br /&gt;
&lt;br /&gt;
Per informazioni sulle tesi rivolgersi al Prof. Giacomo Cabri ([mailto://Giacomo.cabri@unimore.it giacomo.cabri@unimore.it]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://web.archive.org/web/20220930190641/https://www.didattica.agentgroup.unimo.it/wiki/index.php/Tesi_Giacomo_Cabri Link] alla vecchia pagina archivio.&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=1044</id>
		<title>Tesi Giacomo Cabri</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=1044"/>
		<updated>2025-09-10T13:34:10Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Tesi per Laurea Magistrale */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sono disponibili delle [[Media:LineeGuidaTesi.pdf|linee guida]] per scrivere la tesi o l&#039;elaborato.&lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Magistrale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* implementazione di approcci in auto in scala 1:10&lt;br /&gt;
&lt;br /&gt;
=== Passaporto di prodotto digitale ===&lt;br /&gt;
&lt;br /&gt;
* modelli di passaporto digitale&lt;br /&gt;
* meccanismi di verifica delle caratteristiche del passaporto digitale&lt;br /&gt;
&lt;br /&gt;
=== Digital twin ===&lt;br /&gt;
&lt;br /&gt;
* astrazioni software di fabbriche fisiche&lt;br /&gt;
* interoperabilità tra macchinari e tra aziende&lt;br /&gt;
* coordinamento di obiettivi aziendali con gestione di macchinari&lt;br /&gt;
&lt;br /&gt;
=== Agenti software ===&lt;br /&gt;
&lt;br /&gt;
* metodologie e infrastrutture per lo sviluppo di applicazioni ad agenti&lt;br /&gt;
* modelli di interazione basati sui ruoli confronti tra diversi approcci o implementazioni a ruoli&lt;br /&gt;
* definizione di linee guida per lo sviluppo di applicazioni ad agenti basate sui ruoli&lt;br /&gt;
* infrastrutture e middleware per permettere agli agenti di assumere ruoli e di interagire&lt;br /&gt;
* estensione di infrastrutture esistenti&lt;br /&gt;
&lt;br /&gt;
=== Ambienti per agenti ===&lt;br /&gt;
&lt;br /&gt;
* gestione della fiducia per le interazioni tra agenti&lt;br /&gt;
* adattabilità degli agenti agli stimoli dell&#039;ambiente&lt;br /&gt;
* agenti per dispositivi mobili&lt;br /&gt;
* interoperabilità tra sistemi ad agenti Java e quelli basati su altri linguaggi di programmazione&lt;br /&gt;
* studio di piattaforme ad agenti ad alte prestazioni&lt;br /&gt;
&lt;br /&gt;
=== Applicazioni ad agenti ===&lt;br /&gt;
&lt;br /&gt;
* agenti applicati all&#039;e-health (campo medico)&lt;br /&gt;
* agenti mobili per la gestione dei sistemi&lt;br /&gt;
* agenti mobili per trattare la sicurezza dei dati&lt;br /&gt;
* supporto alle visite ai beni culturali&lt;br /&gt;
* e-government&lt;br /&gt;
* agenti mobili per il supporto al green computing&lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Triennale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* gestione degli incroci&lt;br /&gt;
* gestione dei parcheggi&lt;br /&gt;
&lt;br /&gt;
=== Passaporto di prodotto digitale ===&lt;br /&gt;
&lt;br /&gt;
* app e applicazioni web per la gestione del passaporto digitale&lt;br /&gt;
* ChatDPP: sviluppo di un chatbot per il passaporto digitale&lt;br /&gt;
* meccanismi di verifica delle caratteristiche del passaporto digitale&lt;br /&gt;
&lt;br /&gt;
=== Digital factory - Industry 4.0 ===&lt;br /&gt;
&lt;br /&gt;
* modelli software per le digital factory&lt;br /&gt;
* piattaforme software di supporto alle digital factory&lt;br /&gt;
&lt;br /&gt;
=== Sviluppo di applicazioni distribuite ===&lt;br /&gt;
&lt;br /&gt;
* giochi socialmente utili ([https://it.wikipedia.org/wiki/Gioco_con_uno_scopo Game With A purpose] site; Video YouTube)&lt;br /&gt;
* gestione di ospedali per Informatici senza frontiere&lt;br /&gt;
&lt;br /&gt;
== Tesi in azienda ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OTConsulting&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.otconsulting.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
* applicazioni Web&lt;br /&gt;
* ciclo di vita del software per sistemi embedded&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Infolog&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.infolog.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Implementazione di un framework in Android per la trasposizione di logiche RF (Radio Frequenza) attraverso interfacce smart e touch screen.&lt;br /&gt;
* Progettazione e implementazione di un tool per l’esecuzione automatica di unit test, al fine di rilevare la coerenza continua delle funzionalità di base del prodotto software di logistica proprietario&lt;br /&gt;
* Studio e implementazione di un algoritmo in grado di ottimizzare il posizionamento di oggetti su un bancale&lt;br /&gt;
* Progetto di visione artificiale in linguaggio Java&lt;br /&gt;
* Applicazione dei framework grafici Swing e JavaFX&lt;br /&gt;
* Progettazione e applicazione pratica di un algoritmo in Java&lt;br /&gt;
* Sviluppo di un algoritmo di Anomaly Detection in grado di rilevare malfunzionamenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Elettric80&#039;&#039;&#039;, Viano (RE) (&amp;lt;nowiki&amp;gt;http://www.elettric80.it/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Android di supporto alla GUI&lt;br /&gt;
* Sistema di gestione di dati distribuiti ed eterogenei&lt;br /&gt;
* Studio SW di un sistema di intralogistica&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Apex&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.apex.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Web&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TETRA PAK&#039;&#039;&#039; PACKAGING SOLUTIONS, Modena (&amp;lt;nowiki&amp;gt;http://www.tetrapak.com/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Developing of an ETL process and reporting (English knowledge is required)&lt;br /&gt;
* Developing of a dashboard for consumer behaviour insights (English knowledge is required)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CINECA&#039;&#039;&#039;, Bologna (&amp;lt;nowiki&amp;gt;https://www.cineca.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software di interfaccia client RCM (Remote Connection Manager)&lt;br /&gt;
* Sviluppo di un software per monitoraggio delle performance nell&#039;ambito del progetto CHECK (Cluster Health and Environment ChecKing system)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multitraccia&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.multitraccia.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo dell’evoluzione di un progetto esistente di gestionale aziendale in cloud per il controllo dei flussi produttivi&lt;br /&gt;
* Sviluppo di un progetto di evoluzione in versione webapp di un applicativo client/server&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AppAway&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://appaway.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Progettazione e realizzazione librerie di keywords componibili dedicate alla scrittura degli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione delle procedure di devops per ricostruire un ambiente su cui eseguire gli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione di un ambiente basato su Apache Mesos e DC/OS, predisposizione pipeline di deploy di un&#039;applicazione di esempio, comparazione con OpenShift e CloudFoundry&lt;br /&gt;
* Progettazione e realizzazione procedure di backup, stress e ripristino dell&#039;ambiente descritto nel del punto precedente&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Doxee&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.doxee.com/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Produzione documenti ad alte prestazioni in modalità batch: Analisi e sperimentazione delle funzionalità di Amazon Web Services Batch (&amp;lt;nowiki&amp;gt;https://aws.amazon.com/batch/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di applicazioni per la produzione di documenti personalizzati ad alte prestazioni.&lt;br /&gt;
* Produzione di documenti ad alte prestazioni in modalità on-demand: Analisi e sperimentazione delle funzionalità di Docker (&amp;lt;nowiki&amp;gt;https://www.docker.com/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di API REST finalizzate alla produzione di documenti ad alte prestazioni ed alta distribuzione in modalità on-demand.&lt;br /&gt;
* Multi-tenancy in applicazioni di calcolo ad alte prestazioni: Dato un sistema produttivo ad alte prestazioni caratterizzato da multi-tenancy (ovvero, applicazioni con diverse finalità che competono per l’utilizzo di risorse di sistema comuni), analisi e prototipazione di tecnologie per la protezione del sistema dal sovraccarico e uso anomalo della capacità produttiva.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dedalus&#039;&#039;&#039; (ex Eurosoft Informatica Medica), Modena (&amp;lt;nowiki&amp;gt;http://www.dedalus.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* integrazione di workflow all&#039;interno di un Enterprise Service Bus (ESB) &lt;br /&gt;
* AI-powered web chat per specificare i requisiti di integrazione &lt;br /&gt;
* Integrazione di un editor JavaScript personalizzabile&lt;br /&gt;
* software per ambito medico&lt;br /&gt;
* gestione delle prenotazioni visite&lt;br /&gt;
* gestione delle cartelle cliniche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DM Digital&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.dmdigital.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di app per Windows Phone e Windows RT che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di architettura database server scalabile e distribuita;&lt;br /&gt;
* Sviluppo di app per Kindle Fire HD che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di versione di libri digitali in-book compatibili con formato e-pub.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Axyon AI&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.axyon.ai/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di sistemi di integrazione con provider di dati finanziari, tramite l&#039;utilizzo di API dedicate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expert Systems&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertsystem.net/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sviluppo di una libreria a oggetti per la rappresentazione semantica dei concetti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GM Soft&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.gm-soft.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni VB.Net/SQL per l’automazione&lt;br /&gt;
* Applicazioni PHP/MySql&lt;br /&gt;
* Applicazioni Cloud e IoT&lt;br /&gt;
* Digital Forensic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LAPAM&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.lapam.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un portale di gestione degli eventi&lt;br /&gt;
* Sviluppo di un portale per la gestione della formazione&lt;br /&gt;
* Sviluppo di un portale di news&lt;br /&gt;
* Sviluppo di un sistema di creazione e gestione di voucher virtuali &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maserati&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.maserati.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione protocollo di comunicazione per simulazione virtuale&lt;br /&gt;
* Sviluppo di app per la gestione della membership, pagamento e tracciabilità asset per un progetto di Urban Mobility centrato su e-bikes&lt;br /&gt;
* Industrializzazione del software&lt;br /&gt;
* Amministrazione di archivi informativi tramite sharepoint&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Marketz&#039;&#039;&#039;, (&amp;lt;nowiki&amp;gt;https://www.marketz.eu&amp;lt;/nowiki&amp;gt;) &lt;br /&gt;
&lt;br /&gt;
* Implementazione/reingegnerizzazione web application (dettagli)&lt;br /&gt;
* Automatizzazione processi di business (dettagli)&lt;br /&gt;
* Business Intelligence applicata al trading energetico (dettagli)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Isotta Fraschini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.isottafraschini.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Blockchain platform project&lt;br /&gt;
* Certification of asset life-cycle tracking&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Agile telecom&#039;&#039;&#039;, Carpi&lt;br /&gt;
&lt;br /&gt;
* Studio di soluzioni di cloud computing&lt;br /&gt;
* Studio di soluzioni basate su microservizi&lt;br /&gt;
&#039;&#039;&#039;Reply&#039;&#039;&#039;, Torino (&amp;lt;nowiki&amp;gt;https://www.reply.com/cluster-reply/it/proposte-di-tesi-e-tirocini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Data mesh&lt;br /&gt;
* Piattaforme digital twin&lt;br /&gt;
* Analisi tramite NLP&lt;br /&gt;
* Analisi dei mondi virtuali&lt;br /&gt;
* Automazione della PA&lt;br /&gt;
* DevOps&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AVL&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.avl.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software per la gestione delle vendite in Visual Basic e Excel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DemaNet&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;https://www.demanet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software ERP&lt;br /&gt;
* Sviluppo di un software di gestione della produzione secondo le linee Industria 4.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Panini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.paninigroup.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione in ambiente di sviluppo Microsoft .Net, Visual Basic 6 e Java &lt;br /&gt;
* MS SQL Server&lt;br /&gt;
* Ambienti di Business Intelligence Business Obejcts e Decisyon&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CREDEMTEL&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.credemtel.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Fatturazione elettronica e l’E.D.I.&lt;br /&gt;
* Social platform per condividere progetti, idee e informazioni&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Web CRM con interfaccia tablet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rinnai&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.rinnai.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo applicazioni web&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Implementazione su server aziendale di un software di ticketing a servizio dell’ufficio tecnico postvendita e call center aziendale; il software al momento identificato è OTRS, software Open Source in linguaggio Perl.&lt;br /&gt;
* Implementazione su server aziendale di un sistema di comunicazione fra CRM Sugar e Centralino Elastix per il riconoscimento delle telefonate entranti e loro gestione anche attraverso il software di ticketing OTRS.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Servizio IT dell’Azienda Ospedaliero Universitaria di Modena (Policlinico)&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.policlinico.mo.it/home.html&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Analisi semantica del testo dei referti di specialistica ambulatoriale, tramite l&#039;utilizzo di umls rif. &amp;lt;nowiki&amp;gt;https://www.nlm.nih.gov/research/umls/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Interconnessione e scambio tra gli applicativi aziendali, delle anagrafiche popolazione residenti in Emilia Romagna, utilizzando lo standard fhir &amp;lt;nowiki&amp;gt;http://www.hl7.org/fhir/?ref=learnmore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Huddle Room Technology&#039;&#039;&#039;, Campogalliano (MO) (&amp;lt;nowiki&amp;gt;http://www.huddleroomtechnology.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicativi software per le piattaforme mobili (iOS/Android) e desktop (Windows/MacOSX) per l&#039;interazione con un dispositivo per videoconferenza&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;gruppo ECHO di OGS&#039;&#039;&#039;, Trieste (&amp;lt;nowiki&amp;gt;http://www.ogs.trieste.it/it/content/echo-modellistica-dei-sistemi-marini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Studio e implementazione di un memory model per l&#039;aumento della località dei dati per il Software Shyfem per lo studio di lagune&lt;br /&gt;
* Ottimizzazione del codice BFM5 standalone &lt;br /&gt;
* Inserimento della formulazione free surface nella parametrizzazione del trasposto orizzontale del codice OPATM&lt;br /&gt;
* Aumento della risoluzione del modello OPATM-BFM da 1/16 a 1/24&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sailing&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.sailingweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione di applicazioni Java&lt;br /&gt;
* Gestione di aspetti sistemistici come application server &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Twin Set&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.twinset.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione e gestione applicazioni web&lt;br /&gt;
* Gestione infrastruttura IT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Miliaris&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.miliaris.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Gestione distribuita di contenuti multimediali&lt;br /&gt;
* Applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Addiction&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.addiction.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sistemi di intranet aziendali&lt;br /&gt;
* Rich Internet Application&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MDLAB&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.mdlab-software.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di interfacce grafiche in ambiente JAVA per software di simulazione di dispositivi elettronici&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALIMAC&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://talimac.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di APP (sia su piattaforme iOS che Android)&lt;br /&gt;
* Soluzioni WEB (siti e gestionali)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kartha&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.kartha.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni di Workflow&lt;br /&gt;
* gestione documentale&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Xion&#039;&#039;&#039;, Scandiano, RE (&amp;lt;nowiki&amp;gt;http://www.xion-srl.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Software per automazione industriale&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Spikenet&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.spikenet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Marketing Automation (&amp;lt;nowiki&amp;gt;http://en.wikipedia.org/wiki/Marketing_automation&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* Prodotti Mobile per ambienti Apple / Android&lt;br /&gt;
* Sviluppo e personalizzazione di progetti basati su piattaforma eCommerce &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expertweb&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Soluzioni per ecommerce open-source&lt;br /&gt;
* requisiti, installazione e funzionalità, di CMS &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kyros&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.kyros.net/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Integrazione di tecnologie open source&lt;br /&gt;
* Sviluppo di CRM, Social CRM, Business Intelligence, Portali collaborativi, Social network integrati&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Freedom GmbH&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.freedomgmbh.de/en/home&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo e ampliamento sito internet&lt;br /&gt;
* Realizzazione programma per l’invio di newsletter&lt;br /&gt;
* Studio e pianificazione marketing aziendale, anche attraverso l’uso di social network&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Softintime&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.softintime.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Tecnologie avanzate per la gestione nel campo della moda&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perigeo&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.perigeo.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicazioni client-server e Web nell’ambito di progetti SAP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Joint Research Center&#039;&#039;&#039;, Ispra, MI (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Traineeships (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc/index.cfm?id=3720&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Comune di Carpi&#039;&#039;&#039; (&amp;lt;nowiki&amp;gt;http://www.carpidiem.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* informatizzazione dei servizi&lt;br /&gt;
* gestione delle procedure&lt;br /&gt;
* gestione del sistema informativo&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Musei civici di Reggio Emilia&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* supporto informatico alla visita dei musei tramite palmari&lt;br /&gt;
* supporto informatico alla visita della città&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;STMicroelectronics&#039;&#039;&#039;, Milano&lt;br /&gt;
&lt;br /&gt;
* sviluppo di applicazioni per l&#039;elettronica&lt;br /&gt;
&lt;br /&gt;
== Tesi all&#039;estero ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende estere possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Institute of Human and Machine Cognition&#039;&#039;&#039;, Pensacola, USA (&amp;lt;nowiki&amp;gt;http://www.ihmc.us&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sistemi distribuiti&lt;br /&gt;
* mobilità e coordinamento&lt;br /&gt;
* servizi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ABB Corporate Research Center&#039;&#039;&#039;, Ladenburg, Germania (&amp;lt;nowiki&amp;gt;http://www.abb.com/cawp/abbzh254/f7759f8b22a81780c1256b57004fb277.aspx&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni mobili (info)&lt;br /&gt;
* tecnologie semantiche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C7&#039;&#039;&#039;, Buenos Aires, Argentina (&amp;lt;nowiki&amp;gt;http://www.continentesiete.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* modellazione e simulazione di sistemi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Accenture&#039;&#039;&#039;, Sophia Antipolis, Francia (&amp;lt;nowiki&amp;gt;http://www.accenture.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Whitestein&#039;&#039;&#039;, Zurigo, Svizzera (&amp;lt;nowiki&amp;gt;http://www.whitestein.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni ad agenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Università straniere:&#039;&#039;&#039;&lt;br /&gt;
* Groningen (NL)&lt;br /&gt;
* Napier University a Edimburgo (UK)&lt;br /&gt;
* Imperial College a Londra (UK)&lt;br /&gt;
* Bournemouth (UK)&lt;br /&gt;
* Università della Svizzera Italiana (CH)&lt;br /&gt;
* Savoia (F)&lt;br /&gt;
* Vienna (A)&lt;br /&gt;
* Victoria (CAN)&lt;br /&gt;
&lt;br /&gt;
Per informazioni sulle tesi rivolgersi al Prof. Giacomo Cabri ([mailto://Giacomo.cabri@unimore.it giacomo.cabri@unimore.it]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://web.archive.org/web/20220930190641/https://www.didattica.agentgroup.unimo.it/wiki/index.php/Tesi_Giacomo_Cabri Link] alla vecchia pagina archivio.&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Utente:Giacomo_Cabri&amp;diff=1043</id>
		<title>Utente:Giacomo Cabri</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Utente:Giacomo_Cabri&amp;diff=1043"/>
		<updated>2025-09-07T08:45:19Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;PhD, Full professor at the University of Modena and Reggio Emilia&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Giacomo2019.jpg|150x150px|frameless]]&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Address:	via Campi, 231/B - 41125 Modena Italy&lt;br /&gt;
&lt;br /&gt;
Telephone:	+39-059-2058320&lt;br /&gt;
&lt;br /&gt;
Fax:	+39-059-2055216&lt;br /&gt;
&lt;br /&gt;
Email:	giacomo.cabri@unimore.it&lt;br /&gt;
&lt;br /&gt;
== Affiliations ==&lt;br /&gt;
&lt;br /&gt;
Member of the [https://www.fim.unimore.it Dipartimento di Scienze Fisiche, Informatiche e Matematiche]&lt;br /&gt;
&lt;br /&gt;
Member of the Council of the Doctorate School in [https://www.cds.unimore.it Computer and Data Science for Technological and Social Innovation (CDS-TSI)]&lt;br /&gt;
&lt;br /&gt;
Member of [https://www.airi.unimore.it AIRI]&lt;br /&gt;
&lt;br /&gt;
== Roles ==&lt;br /&gt;
&lt;br /&gt;
Rector Delegate for Teaching (2019-today)&lt;br /&gt;
&lt;br /&gt;
=== Previous roles ===&lt;br /&gt;
&lt;br /&gt;
Deputy Chair of the [https://www.fim.unimore.it Dipartimento di Scienze Fisiche, Informatiche e Matematiche] (2018-2021)&lt;br /&gt;
&lt;br /&gt;
Coordinator of the Corso di Laurea in Informatica (2014-2019)&lt;br /&gt;
&lt;br /&gt;
Coordinator of the Corso di Laurea Magistrale in Informatica (2016-2018)&lt;br /&gt;
&lt;br /&gt;
Deputy Dean of the Doctorate School in ICT (2011-2017)&lt;br /&gt;
&lt;br /&gt;
== Research ==&lt;br /&gt;
&lt;br /&gt;
My current research interests include:&lt;br /&gt;
* Collective Adaptive Systems&lt;br /&gt;
* Software agents&lt;br /&gt;
* Complex distributed systems&lt;br /&gt;
&lt;br /&gt;
[http://www.agentgroup.unimore.it The AgentGroup research group]&lt;br /&gt;
&lt;br /&gt;
[https://scholar.google.com/citations?user=M6Pn0vEAAAAJ Citations on Google Scholar]&lt;br /&gt;
&lt;br /&gt;
[[File:Orcid icon.png|senza_cornice|sinistra]] https://orcid.org/0000-0002-4942-2453&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scopus https://www.scopus.com/authid/detail.uri?authorId=35511410700&lt;br /&gt;
&lt;br /&gt;
ResearcherID http://www.researcherid.com/rid/M-6723-2015&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:Orcid_icon.png&amp;diff=1042</id>
		<title>File:Orcid icon.png</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:Orcid_icon.png&amp;diff=1042"/>
		<updated>2025-09-07T08:43:04Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Orcid icon&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Utente:Giacomo_Cabri&amp;diff=1041</id>
		<title>Utente:Giacomo Cabri</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Utente:Giacomo_Cabri&amp;diff=1041"/>
		<updated>2025-09-07T07:18:12Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;PhD, Full professor at the University of Modena and Reggio Emilia&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Giacomo2019.jpg|150x150px|frameless]]&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Address:	via Campi, 231/B - 41125 Modena Italy&lt;br /&gt;
&lt;br /&gt;
Telephone:	+39-059-2058320&lt;br /&gt;
&lt;br /&gt;
Fax:	+39-059-2055216&lt;br /&gt;
&lt;br /&gt;
Email:	giacomo.cabri@unimore.it&lt;br /&gt;
&lt;br /&gt;
== Affiliations ==&lt;br /&gt;
&lt;br /&gt;
Member of the [https://www.fim.unimore.it Dipartimento di Scienze Fisiche, Informatiche e Matematiche]&lt;br /&gt;
&lt;br /&gt;
Member of the Council of the Doctorate School in [https://www.cds.unimore.it Computer and Data Science for Technological and Social Innovation (CDS-TSI)]&lt;br /&gt;
&lt;br /&gt;
Member of [https://www.airi.unimore.it AIRI]&lt;br /&gt;
&lt;br /&gt;
== Roles ==&lt;br /&gt;
&lt;br /&gt;
Rector Delegate for Teaching (2019-today)&lt;br /&gt;
&lt;br /&gt;
=== Previous roles ===&lt;br /&gt;
&lt;br /&gt;
Deputy Chair of the [https://www.fim.unimore.it Dipartimento di Scienze Fisiche, Informatiche e Matematiche] (2018-2021)&lt;br /&gt;
&lt;br /&gt;
Coordinator of the Corso di Laurea in Informatica (2014-2019)&lt;br /&gt;
&lt;br /&gt;
Coordinator of the Corso di Laurea Magistrale in Informatica (2016-2018)&lt;br /&gt;
&lt;br /&gt;
Deputy Dean of the Doctorate School in ICT (2011-2017)&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Utente:Giacomo_Cabri&amp;diff=1040</id>
		<title>Utente:Giacomo Cabri</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Utente:Giacomo_Cabri&amp;diff=1040"/>
		<updated>2025-09-07T07:15:44Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;PhD, Full professor at the University of Modena and Reggio Emilia&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Giacomo2019.jpg|150x150px|frameless]]&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Address:	via Campi, 231/B - 41125 Modena Italy&lt;br /&gt;
&lt;br /&gt;
Telephone:	+39-059-2058320&lt;br /&gt;
&lt;br /&gt;
Fax:	+39-059-2055216&lt;br /&gt;
&lt;br /&gt;
Email:	giacomo.cabri@unimore.it&lt;br /&gt;
&lt;br /&gt;
== Affiliations ==&lt;br /&gt;
&lt;br /&gt;
Member of the [https://www.fim.unimore.it Dipartimento di Scienze Fisiche, Informatiche e Matematiche]&lt;br /&gt;
&lt;br /&gt;
Member of the Council of the Doctorate School in [https://www.cds.unimore.it Computer and Data Science for Technological and Social Innovation (CDS-TSI)]&lt;br /&gt;
&lt;br /&gt;
Member of [https://www.airi.unimore.it AIRI]&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Utente:Giacomo_Cabri&amp;diff=1039</id>
		<title>Utente:Giacomo Cabri</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Utente:Giacomo_Cabri&amp;diff=1039"/>
		<updated>2025-09-07T06:45:08Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: Creata pagina con &amp;quot;&amp;#039;&amp;#039;&amp;#039;PhD, Full professor at the University of Modena and Reggio Emilia&amp;#039;&amp;#039;&amp;#039;  150x150px  Dipartimento di Scienze Fisiche, Informatiche e Matematiche  Address:	via Campi, 231/B - 41125 Modena Italy  Telephone:	+39-059-2058320  Fax:	+39-059-2055216  Email:	giacomo.cabri@unimore.it&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;PhD, Full professor at the University of Modena and Reggio Emilia&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Giacomo2019.jpg|150x150px]]&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Address:	via Campi, 231/B - 41125 Modena Italy&lt;br /&gt;
&lt;br /&gt;
Telephone:	+39-059-2058320&lt;br /&gt;
&lt;br /&gt;
Fax:	+39-059-2055216&lt;br /&gt;
&lt;br /&gt;
Email:	giacomo.cabri@unimore.it&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:Giacomo2019.jpg&amp;diff=1038</id>
		<title>File:Giacomo2019.jpg</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:Giacomo2019.jpg&amp;diff=1038"/>
		<updated>2025-09-07T06:41:52Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Foto Giacomo Cabri&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1037</id>
		<title>Programmazione ad Oggetti</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=1037"/>
		<updated>2025-09-07T06:37:52Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&lt;br /&gt;
{{/box-testata|News|}}&lt;br /&gt;
{{/Evidenza}}&lt;br /&gt;
{{/box-fondo|[[Europa|Leggi la voce...]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{Userboxtop&lt;br /&gt;
| align = right&lt;br /&gt;
| backgroundcolor = lightyellow&lt;br /&gt;
| bordercolor = black&lt;br /&gt;
| extra-css =&lt;br /&gt;
| textcolor = &lt;br /&gt;
| toptext = NEWS&lt;br /&gt;
&amp;lt;!-- All of the parameters are optional. --&amp;gt;&lt;br /&gt;
&amp;lt;!--}}&lt;br /&gt;
La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
([[Wikipedia:Userboxes|Userboxes]] inserted here)&lt;br /&gt;
{{userboxbottom}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Questa pagina fornisce il materiale didattico e le informazioni relative all&#039;insegnamento di &#039;&#039;&#039;Programmazione ad Oggetti (9 CFU)&#039;&#039;&#039; per il Corso di Laurea in &#039;&#039;&#039;Informatica&#039;&#039;&#039;  e per l&#039;insegnamento di &#039;&#039;&#039;Introduzione alla Programmazione ad Oggetti (6 CFU)&#039;&#039;&#039; a partire dall&#039;AA 2008/2009.&lt;br /&gt;
&lt;br /&gt;
Si veda [http://{{SERVERNAME}}/didattica/lpo/ questa pagina] per informazioni su:&lt;br /&gt;
*Programmazione ad Oggetti (6 CFU - 2007/08)&lt;br /&gt;
*Linguaggi per la Programmazione ad Oggetti (6 CFU - fino al 2006/2007)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
&lt;br /&gt;
==Ultime news==&lt;br /&gt;
   Nel 2025/26 l&#039;insegnamento si terr&amp;amp;agrave; nel secondo semestre.&lt;br /&gt;
&lt;br /&gt;
==Vecchie news==&lt;br /&gt;
&lt;br /&gt;
=== 2024/25 ===&lt;br /&gt;
   Le lezioni dell&#039;AA 2024/25 si svolgeranno in presenza a partire dal 25/9/2024.&lt;br /&gt;
&lt;br /&gt;
=== 2023/24 ===&lt;br /&gt;
 &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2023/24.&lt;br /&gt;
&lt;br /&gt;
 Le lezioni dell&#039;AA 2023/24 si svolgeranno in presenza a partire dal 27/9/2023.&lt;br /&gt;
&lt;br /&gt;
===2022/23===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2022/23.&lt;br /&gt;
  Le lezioni dell&#039;AA 2022/23 si svolgeranno in presenza a partire dal 28/9/2022.&lt;br /&gt;
&lt;br /&gt;
===2021/22===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2021/22&lt;br /&gt;
  Le lezioni dell&#039;AA 2021/22 si svolgeranno in presenza.&lt;br /&gt;
&lt;br /&gt;
===2020/21===&lt;br /&gt;
  Per l&#039;AA 2020/21 l&#039;esame scritto è sostituito dalla consegna anticipata del progetto.&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni dell&#039;AA 2020/21 si svolgeranno in modalità a distanza tramite la piattaforma Dolly (https://dolly.fim.unimore.it/2020)&lt;br /&gt;
&lt;br /&gt;
===2019/20===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 19/11/2019 si terr&amp;amp;agrave; alle 14 in aula L1.3.&lt;br /&gt;
  La lezione di venerd&amp;amp;igrave; 15/11/2019 non si terr&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
===2017/18===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Sono aperte le iscrizioni tramite ESSE3 al preppello scritto che si svolger&amp;amp;agrave; il 18 dicembre 2017 alle ore 8.45 in Aula M1.4.&lt;br /&gt;
&lt;br /&gt;
===2016/17===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
&lt;br /&gt;
===2015/16===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 29 settembre 2015 si terr&amp;amp;agrave; in aula M1.3 (Aula III) dalle 14 alle 17 invece che in laboratorio&lt;br /&gt;
  Il 21/12/15 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2014/15===&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; in aula M2.5 (ex aula X matematica) dalle 14 alle 17&lt;br /&gt;
  La mattina di luned&amp;amp;igrave; 1 dicembre 2014 sono sospese le lezioni per l&#039;inaugurazione dell&#039;anno accademico&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 24 novembre e mercoled&amp;amp;igrave; 26 novembre 2014 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 30 settembre 2014 si terr&amp;amp;agrave; in aula M1.5 (ex aula IV)&lt;br /&gt;
&lt;br /&gt;
===2013/14===&lt;br /&gt;
  Il 9/12/13 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 2/12/13 &amp;amp;egrave; spostata a marted&amp;amp;igrave; 2/12/13 al posto dell&#039;esercitazione&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 25/11/13 e mercoled&amp;amp;igrave; 27/11/13 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 24/9/13 si terr&amp;amp;agrave; in laboratorio BASE alle ore 14&lt;br /&gt;
&lt;br /&gt;
===2012/13===&lt;br /&gt;
  Il 12/12/12 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3, ma chi ha problemi puo&#039; mandare una email al docente entro il 9/12&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 21 novembre sar&amp;amp;agrave; sostituita da Linguaggi Formali e Compilatori del prof. Leoncini.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 2 ottobre si terr&amp;amp;agrave; in aula V.&lt;br /&gt;
  Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 a causa di un impegno all&#039;estero del docente.&lt;br /&gt;
&lt;br /&gt;
===2011/12===&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 7 dicembre si terr&amp;amp;agrave; regolarmente alle 11, l&#039;ing. Elton Domnori terr&amp;amp;agrave; un seminario sulla programmazione dei dispositivi mobili&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2011/12&lt;br /&gt;
  Luned&amp;amp;igrave; 5 dicembre si terr&amp;amp;agrave; il preappello scritto; &amp;amp;egrave; necessario iscriversi tramite ESSE3.&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 16 novembre &amp;amp;egrave; anticipata alle ore 9.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 7 novembre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 5 ottobre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 27 settembre si terr&amp;amp;agrave; in aula V e NON in laboratorio.&lt;br /&gt;
  &amp;amp;Egrave; stato definito l&#039;orario delle lezioni.&lt;br /&gt;
  Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011.&lt;br /&gt;
&lt;br /&gt;
===2010/11===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2010/11&lt;br /&gt;
  Le lezioni del mercoled&amp;amp;igrave; si tengono in aula V.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 21/12/10 si tiene in aula V&lt;br /&gt;
  Luned&amp;amp;igrave; 20 dicembre 2010 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto;&lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare, deve mandare una email al docente &lt;br /&gt;
  ENTRO venerd&amp;amp;igrave; 17/12 con nome, cognome e numero di matricola&lt;br /&gt;
  Le lezioni inizieranno l&#039;11 ottobre 2010.&lt;br /&gt;
&lt;br /&gt;
===2009/10===&lt;br /&gt;
  L&#039;esame scritto del 15 febbraio 2010 non si terr&amp;amp;agrave; per mancanza di iscritti&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 14/12/09&lt;br /&gt;
  &amp;amp;Egrave; disponibile una traccia del progetto da portare all&#039;esame&lt;br /&gt;
  L&#039;ultima lezione dell&#039;AA 2009/10 si terr&amp;amp;agrave; il 15 dicembre 2009&lt;br /&gt;
  Mercoled&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; una esercitazione sull&#039;esame scritto&lt;br /&gt;
  Luned&amp;amp;igrave; &#039;&#039;&#039;14 dicembre&#039;&#039;&#039; 2009 alle ore &#039;&#039;&#039;11&#039;&#039;&#039; in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto; &lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre 2009;&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 7 dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 1° dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;esercitazione del 30 settembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;appello scritto del 15 luglio 2009 non si terr&amp;amp;agrave; in quanto non c&#039;&amp;amp;egrave; nessun iscritto&lt;br /&gt;
  Venerd&amp;amp;igrave; 12 e sabato 13 giugno 2009 il sistema ESSE3 non sar&amp;amp;agrave; disponibile per iscriversi agli esami e neanche per compilare il questionario di valutazione&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 15/12/08&lt;br /&gt;
  Sono state pubblicate le date degli appelli della sessione straordinaria 2008/2009&lt;br /&gt;
  Sono disponibili alcuni esercizi per l&#039;appello scritto&lt;br /&gt;
  Luned&amp;amp;igrave; 15 dicembre 2008 si terr&amp;amp;agrave; un pre-appello scritto alle ore 11 in aula V a Matematica; per iscriversi contattare il docente&lt;br /&gt;
  I giorni 18 e 19 novembre 2008 non si svolgeranno le lezioni&lt;br /&gt;
  La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
  Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
&lt;br /&gt;
=Informazioni sul docente=&lt;br /&gt;
[[Image:docente.png|left|100px]]&lt;br /&gt;
&#039;&#039;&#039;[[Utente:Giacomo Cabri| Prof. Giacomo Cabri]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Università di Modena e Reggio Emilia, Via Campi 213/B - 41125 Modena&lt;br /&gt;
&lt;br /&gt;
Telefono 0592058320 - Fax 0592055216&lt;br /&gt;
&lt;br /&gt;
[mailto:giacomo.cabri@unimore.it giacomo.cabri@unimore.it]&lt;br /&gt;
&lt;br /&gt;
=Orario delle Lezioni=&lt;br /&gt;
&lt;br /&gt;
L&#039;orario ufficiale è riportato qui: [https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html]&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2023/24==&lt;br /&gt;
Le lezioni dell&#039;AA 2023/24 inizieranno il 25 settembre 2023 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2022/23==&lt;br /&gt;
Le lezioni dell&#039;AA 2022/23 inizieranno il 28 settembre 2022 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2021/22==&lt;br /&gt;
Le lezioni dell&#039;AA 2021/22 inizieranno il 20 settembre 2021 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula L1.3 presso Fisica&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2020/21==&lt;br /&gt;
Le lezioni dell&#039;AA 2020/21 inizieranno il 21 settembre 2020 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;grave; dalle 14 alle 17 a distanza&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2019/20==&lt;br /&gt;
Le lezioni dell&#039;AA 2019/20 inizieranno il 23 settembre 2019 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 10 alle 12 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 13 alle 16 in laboratorio BASE presso Matematica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 12 alle 14 in aula L1.3 presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2018/19==&lt;br /&gt;
Le lezioni dell&#039;AA 2018/19 inizieranno il 24 settembre 2018 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in laboratorio BASE presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.3 (ex aula III) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2017/18==&lt;br /&gt;
Le lezioni dell&#039;AA 2017/18 inizieranno il 25 settembre 2017 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2016/17==&lt;br /&gt;
Le lezioni dell&#039;AA 2016/17 inizieranno il 26 settembre 2016 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2015/16==&lt;br /&gt;
Le lezioni dell&#039;AA 2015/16 inizieranno il 28 settembre 2015 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2014/15==&lt;br /&gt;
Le lezioni dell&#039;AA 2014/15 avranno il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2013/14==&lt;br /&gt;
Le lezioni dell&#039;AA 2013/14 avranno  il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2012/13==&lt;br /&gt;
Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2011/12==&lt;br /&gt;
Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2010/11==&lt;br /&gt;
Le lezioni dell&#039;AA 2010/11 dovrebbero iniziare il 27 settembre 2010 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 9 alle 11 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2009/10==&lt;br /&gt;
Le lezioni dell&#039;AA 2009/10 inizieranno il 28 settembre 2009 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2008/09==&lt;br /&gt;
Le lezioni si tengono dal 29 settembre al 19 dicembre 2008 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
=Finalità Dell&#039;Insegnamento e Consigli Utili=&lt;br /&gt;
&lt;br /&gt;
L&#039;informatica odierna non consiste solo nel definire algoritmi e programmi che realizzano tali algoritmi, ma anche nel comporre architetture software e hardware sulla base di componenti software o hardware. Partendo da questo motivo dominante, l&#039;insegnamento affronta i seguenti argomenti:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;: verranno illustrati i concetti generali, quali incapsulamento, ereditarietà e polimorfismo; verranno accennati i concetti di riusabilità e di composizione dei componenti software, illustrando il passaggio dalla programmazione modulare alla programmazione ad oggetti.&lt;br /&gt;
* &#039;&#039;&#039;Il linguaggio Java&#039;&#039;&#039;: verrà utilizzato come esempio di linguaggio ad oggetti, spiegando come i concetti generali sono implementati in Java; verrà inoltre spiegato come Java può essere sfruttato per lo sviluppo di interfacce grafiche.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per superare agevolmente l&#039;esame si consiglia agli studenti di seguire con continuità le lezioni e le esercitazioni dell&#039;insegnamento. Inoltre, si consiglia di non focalizzare la preparazione dell&#039;esame esclusivamente sullo studio dei libri e degli appunti, ma piuttosto di preparare l&#039;esame sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l&#039;esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ambienti di Programmazione Utilizzati&#039;&#039;: Compilatore C, Java 1.5 di pubblico dominio (disponibili in laboratorio).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Programma dell&#039;insegnamento=&lt;br /&gt;
&#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;&lt;br /&gt;
*Concetti generali&lt;br /&gt;
*Il Linguaggio Java&lt;br /&gt;
*Classi ed ereditarietà in Java&lt;br /&gt;
*I/O in Java&lt;br /&gt;
*Interfacce grafiche in Java&lt;br /&gt;
*Programmazione basata sugli eventi&lt;br /&gt;
*Strutture dati in Java&lt;br /&gt;
*Thread in Java&lt;br /&gt;
&lt;br /&gt;
=Modalità D&#039;Esame=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21, a causa della situazione pandemica, la prova scritta è &#039;&#039;sostituita&#039;&#039; dalla consegna anticipata del progetto. Le conoscenze che precedentemente erano verificate tramite lo scritto, per il 2020/21 verranno verificate sul progetto realizzato.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame si compone di uno scritto e di una discussione di un programma in Java che lo studente deve presentare all&#039;esame (e la cui proposta di progetto deve essere stata preventivamente approvata dal docente). Per maggiori dettagli, vedere il seguito di questa pagina.&lt;br /&gt;
&lt;br /&gt;
==Esame scritto==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;:  nell&#039;AA 2020/21 non è prevista la prova scritta.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame scritto serve a verificare che lo studente abbia acquisito le nozioni di astrazione, classificazione, ereditarietà e polimorfismo.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame consiste nella modellazione di alcune entità e la relativa implementazione in Java.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; possibile vedere il testo di alcuni esercizi: &lt;br /&gt;
*[[Media:EserJava1.pdf|EserJava1]] (Calcolatrice)&lt;br /&gt;
*[[Media:EserJava2.pdf|EserJava2]] (Rettangolo)&lt;br /&gt;
*[[Media:EserJava3.pdf|EserJava3]] (Termometro)&lt;br /&gt;
*[[Media:EserJava4.pdf|EserJava4]] (Lettore da dispositivo) [[Media:SoluzioneEserJava4.pdf|SoluzioneEserJava4]]&lt;br /&gt;
*[[Media:EserJava5.pdf|EserJava5]] (Navigatore)&lt;br /&gt;
*[[Media:EserJava6.pdf|EserJava6]] (Particella)&lt;br /&gt;
*[[Media:EserJava7.pdf|EserJava7]] (Conto)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#per l&#039;iscrizione all&#039;esame scritto è necessario utilizzare &#039;&#039;&#039;ESSE3&#039;&#039;&#039; e iscriversi entro la scadenza (di norma 2-3 giorni prima dell&#039;appello scritto stesso, me &amp;amp;egrave; bene controllare su ESSE3); &lt;br /&gt;
#&amp;amp;egrave; necessario aver superato lo scritto per presentare il progetto;&lt;br /&gt;
#la presentazione del progetto pu&amp;amp;ograve; avvenire anche in un appello diverso da quello dello scritto;&lt;br /&gt;
#la consegna di uno scritto cancella il voto precedente; la partecipazione ad uno scritto &#039;&#039;senza&#039;&#039; consegnare non cancella il voto precedente;&lt;br /&gt;
#il voto dello scritto vale orientativamente 1 anno; contattare il docente entro l&#039;anno se non si riesce a presentare il progetto e si richiede una proroga della validit&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
==Modalità di Sviluppo del Progetto Java==&lt;br /&gt;
All&#039;esame si deve presentare e discutere un programma realizzato in Java e che presenti le seguenti caratteristiche:&lt;br /&gt;
&lt;br /&gt;
* Sia dotato di &#039;&#039;&#039;interfaccia grafica&#039;&#039;&#039; tramite cui interagire con il programma stesso.&lt;br /&gt;
* Sfrutti i meccanismi della programmazione ad oggetti: &lt;br /&gt;
**&#039;&#039;&#039;incapsulamento&#039;&#039;&#039;; &lt;br /&gt;
**&#039;&#039;&#039;ereditarietà&#039;&#039;&#039; e, se necessario, le classi astratte e le interfacce (si considerano &#039;&#039;&#039;escluse&#039;&#039;&#039; le relazioni di ereditarietà diretta da classi di libreria Java); &lt;br /&gt;
**&#039;&#039;&#039;polimorfismo&#039;&#039;&#039;.&lt;br /&gt;
* Sfrutti le classi di sistema Java per la gestione dell&#039;&#039;&#039;&#039;input/output&#039;&#039;&#039; (&amp;lt;tt&amp;gt;Reader&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Writer&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;InputStream&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;OutputStream&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Utilizzi le &#039;&#039;&#039;strutture dati&#039;&#039;&#039; di libreria e i &#039;&#039;&#039;generics&#039;&#039;&#039;, motivando le scelte fatte. &lt;br /&gt;
* Sia diviso coerente in &#039;&#039;&#039;package&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Gli studenti sono invitati a seguire la traccia fornita dal docente.&lt;br /&gt;
In casi particolari, uno studente pu&amp;amp;ograve; proporre una proporia traccia, che &#039;&#039;&#039;deve&#039;&#039;&#039; essere approvata dal docente (anche via email).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Il programma deve essere una applicazione Java e &#039;&#039;&#039;NON&#039;&#039;&#039; una applet. --&amp;gt;&lt;br /&gt;
Il programma deve essere eseguito da &#039;&#039;&#039;linea di comando&#039;&#039;&#039;; non devono essere usate librerie proprietarie (ad es. quelle degli ambienti integrati) a meno di averlo concordato con il docente.&lt;br /&gt;
È opportuno &#039;&#039;&#039;provare&#039;&#039;&#039; il proprio programma su un altro computer (ad es. in laboratorio) prima di presentarlo in sede d&#039;esame, per verificare la portabilità.&lt;br /&gt;
&lt;br /&gt;
Il software deve essere accompagnato da pagine di &#039;&#039;&#039;documentazione&#039;&#039;&#039; HTML (tipicamente le pagine generate tramite Javadoc o altri strumenti come Doxygen) che descrivano le scelte di progetto effettuate e la struttura del sistema software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- A progetto realizzato, si valuterà il progetto (e il voto conseguente), ferma restando la possibilità del docente (e dello studente) di richiedere l&#039;integrazione nel progetto di ulteriori funzionalità/caratteristiche. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il progetto va portato il giorno dell&#039;esame, su un supporto tipo chiavetta USB; portare anche il proprio PC per sicurezza. (&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21 il progetto va consegnato in anticipo).&lt;br /&gt;
&lt;br /&gt;
In casi eccezionali &amp;amp;egrave; possibile presentare progetti di gruppo (2 persone), posto che l&#039;ampiezza del progetto sia tale da giustificare il suo sviluppo cooperativo. In tale caso, comunque, la discussione sarà esplicitamente volta a valutare, per ciascuno dei componenti del gruppo, l&#039;effettiva padronanza d&#039;uso dei concetti di base della programmazione ad oggetti, del linguaggio Java e delle sue librerie Java, oltre naturalmente all&#039;apporto individuale dato al progetto globale da ogni singolo membro del gruppo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Problemi &#039;&#039;&#039;DA EVITARE&#039;&#039;&#039; in sede di esame:&lt;br /&gt;
*Il programma non funziona&lt;br /&gt;
*Manca qualcosa (di solito, la documentazione)&lt;br /&gt;
*Il progetto è diviso su pi&amp;amp;ugrave; programmi (eventualmente da concordare con il docente)&lt;br /&gt;
*L’ereditariet&amp;amp;agrave; &amp;amp;egrave; usata male&lt;br /&gt;
*&amp;quot;Non mi ricordo come funziona perch&amp;amp;eacute; ho fatto il programma tempo fa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Traccia ==&lt;br /&gt;
[[Image:tesina.png|right|90px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; disponibile il [[Media:Tesina2425.pdf| testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
Chi decide di svolgere il progetto proposto dalla traccia, non ha bisogno di approvazione.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2425.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2324.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2223.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2022/23.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2122.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2021/22.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2021.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2020/21.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1920.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2019/20.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1819.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2018/19.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1718.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2017/18.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1617.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2016/17.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1516.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2015/16.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1415.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2014/15.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1314.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2013/14.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1213.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2012/13.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1112.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2011/12.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1011.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2010/11.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina0910.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2009/10.&lt;br /&gt;
&lt;br /&gt;
=Appelli=&lt;br /&gt;
[[Image:iscrizione.png|90px|right]]&lt;br /&gt;
Le date degli appelli sono disponibili sul sito ESSE3 (http://www.esse3.unimore.it).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
del corso di laurea&lt;br /&gt;
all&#039;indirizzo&lt;br /&gt;
&lt;br /&gt;
http://informatica.scienze.unimo.it/lt/Esami.php&lt;br /&gt;
&lt;br /&gt;
Dall&#039;AA 2006/07 viene usata la verbalizzazione elettronica; chi vuole sostenere l&#039;esame DEVE quindi iscriversi tramite il [http://www.esse3.unimore.it sito di ESSE3].&lt;br /&gt;
&lt;br /&gt;
NOTA: sul sito di ESSE3 sono presenti le date degli appelli &#039;&#039;&#039;orali&#039;&#039;&#039;, per la presentazione dei progetto.&lt;br /&gt;
Per l&#039;iscrizione agli appelli &#039;&#039;&#039;scritti&#039;&#039;&#039; &amp;amp;egrave; necessario inviare una email al docente entro 2 giorni prima dell&#039;appello scritto stesso, usando l&#039;indirizzo email &#039;&#039;&#039;universitario&#039;&#039;&#039; e specificando &#039;&#039;&#039;nome&#039;&#039;&#039;, &#039;&#039;&#039;cognome&#039;&#039;&#039; e &#039;&#039;&#039;matricola&#039;&#039;&#039;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Preappello==&lt;br /&gt;
Luned&amp;amp;igrave; 14 dicembre 2009 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un preappello valido per l&#039;esame scritto.&lt;br /&gt;
&lt;br /&gt;
Chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre con nome, cognome e matricola.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Risultati=&lt;br /&gt;
&lt;br /&gt;
Da settembre 2011 i risultati vengono comunicati tramite ESSE3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[RisultatiPO|Risultati]] degli appelli scritti precedenti:&lt;br /&gt;
*16 febbraio 2011&lt;br /&gt;
*20 gennaio 2011&lt;br /&gt;
*20 dicembre 2010&lt;br /&gt;
*18 gennaio 2010&lt;br /&gt;
*14 dicembre 2009&lt;br /&gt;
*22 giugno 2009&lt;br /&gt;
*10 giugno 2009&lt;br /&gt;
*19 febbraio 2009&lt;br /&gt;
*14 gennaio 2009&lt;br /&gt;
*15 dicembre 2008&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Testi Consigliati=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testo Dell&#039;Insegnamento&#039;&#039;&#039;&lt;br /&gt;
[[Image:textbook.png|100px|right]]&lt;br /&gt;
*G. Cabri, F. Zambonelli, &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Altri Testi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* C.S. Horstmann, &amp;quot;Concetti di informatica e fondamenti di Java&amp;quot;, Apogeo.&lt;br /&gt;
* B. Eckel, &amp;quot;Thinking in Java&amp;quot;, 4 edizione italiana, Pearson, (scaricabile gratuitamente da Internet la versione inglese http://www.BruceEckel.com).&lt;br /&gt;
* Arnold, Gosling, Holmes, &amp;quot;Il linguaggio Java. Manuale ufficiale&amp;quot;, Pearson.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per chi vuole approfondire:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mazzanti, Milanese, &amp;quot;Programmazione di applicazioni grafiche in Java&amp;quot;, Apogeo.&lt;br /&gt;
* Gamma, Helm, Johnson, Vlissides, &amp;quot;Design Patterns&amp;quot;, Addison-Wesley.&lt;br /&gt;
* J.R. Hubbard, &amp;quot;Strutture dati in Java&amp;quot;, McGraw-Hill.&lt;br /&gt;
* M.A. Weiss, &amp;quot;Data Structures And Problem Solving Using Java&amp;quot;, 2nd Edition, Addison Wesley.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Slide Dell&#039;Insegnamento=&lt;br /&gt;
&lt;br /&gt;
Il materiale degli insegnamenti di Programmazione ad Oggetti e Introduzione alla Programmazione ad Oggetti &amp;amp;egrave; contenuto nel libro &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
In questa pagina sono riportate le slide usate a lezione.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IntroduzioneInsegnamentoPO.pdf| Introduzione all&#039;insegnamento]]&lt;br /&gt;
# [[Media:01-Motivazioni.pdf | Motivazioni]]&lt;br /&gt;
# [[Media:02-LimitiProgrammazioneTradizionale.pdf|Limiti della programmazione tradizionale]]&lt;br /&gt;
# [[Media:03-IntroOOP.pdf|Introduzione alla programmazione ad oggetti]]&lt;br /&gt;
# [[Media:04-IntroJava.pdf|Introduzione al linguaggio Java]]&lt;br /&gt;
# [[Media:05-OOPJava.pdf|OOP in Java]]&lt;br /&gt;
# [[Media:06-ClassiAstratteIntefacceJava.pdf|Classi astratte e interfacce]]&lt;br /&gt;
# [[Media:07-IOJava.pdf|I/O in Java]]&lt;br /&gt;
# [[Media:08-JavaGUI.pdf|GUI in Java]]&lt;br /&gt;
# [[Media:09-CostruttiAvanzatiJava.pdf|Costrutti avanzati Java]]&lt;br /&gt;
# [[Media:10-GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:11-StruttureDatiJava.pdf|Strutture dati in Java]]&lt;br /&gt;
# [[Media:12-ThreadJava.pdf|Thread in Java]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Vecchie slide&lt;br /&gt;
* [[index.php?title=Media:09-Applet.pdf|Applet in Java]] (fatte fino all&#039;AA 2015/16)&lt;br /&gt;
* [[index.php?title=Media:UML01-LinguaggioUML 1.pdf|UML (prima parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
* [[index.php?title=Media:UML02-LinguaggioUML 2.pdf|UML (seconda parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Media:Classi.pdf|Classi di memorizzazione in C]]&lt;br /&gt;
# [[Media:TabelleMenuLayout.pdf|Tabelle, menu e layout in Java]]&lt;br /&gt;
# [[Media:GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:NovitaJ2SE5.pdf|Novit&amp;amp;agrave; di Java 2 SE 5]]&lt;br /&gt;
&lt;br /&gt;
# [[Media:JavaClassAsInterfacce.pdf| Classi Astratte e Interfacce in Java]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seminari==&lt;br /&gt;
[[index.php?title=Media:SeminarioJavaInfolog2015.pdf|Seminario]] sull&#039;uso di Java in azienda (Infolog, 9/12/2015)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2017.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2017)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2018.pdf|Seminario]] su C# (Paolo Burgio, 3/12/2018)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2015.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2019) - [[index.php?title=Media:ConsoleApp4.zip|Codice]] presentato durante il seminario&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Esempi presentati a lezione =&lt;br /&gt;
[[Image:eserciziLezione.png|right]]&lt;br /&gt;
Gli esempi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma [http://www.adobe.com/it/ Adobe Acrobat], di pubblico domino, altri in semplice formato testo.&lt;br /&gt;
Tutti gli esercizi sono stati realizzati in collaborazione con la Prof. Letizia Leonardi.&lt;br /&gt;
&lt;br /&gt;
*[[index.php?title=Media:ContoCorrente.pdf|Conto corrente in C]]&lt;br /&gt;
*[[index.php?title=Media:IOBinario.pdf|I/O Binario]]&lt;br /&gt;
*[[index.php?title=Media:Calcolatrice.zip|Calcolatrice]]&lt;br /&gt;
*[[index.php?title=Media:GraficoFunzioni.zip|Grafico di funzioni]]&lt;br /&gt;
*[[index.php?title=Media:CampoStellare.zip|Campo stellare]]&lt;br /&gt;
&lt;br /&gt;
===Programmazione ad Oggetti e Java===&lt;br /&gt;
Gli esercizi sono gli stessi contenuti nei lucidi della parte teorica, ma da qui e&#039; possibile salvare su un file (facendo &amp;quot;salva link con nome&amp;quot;) il sorgente della gran parte degli esercizi.&lt;br /&gt;
&lt;br /&gt;
====Java: Le Classi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Classi&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=13|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:Counter.java|Counter.java]], [[index.php?title=Media:Esempio0.java|Esempio0.java]], [[index.php?title=Media:Esempio1.java|Esempio1.java]], [[index.php?title=Media:Esempio2.java|Esempio2.java]], [[index.php?title=Media:Esempio2bis.java|Esempio2bis.java]], [[index.php?title=Media:Esempio3.java|Esempio3.java]], [[index.php?title=Media:Esempio4.java|Esempio4.java]], [[index.php?title=Media:Esempio5.java|Esempio5.java]], [[index.php?title=Media:Esempio5bis.java|Esempio5bis.java]], [[index.php?title=Media:Esempio6.java|Esempio6.java]], [[index.php?title=Media:Esempio7.java|Esempio7.java]], [[index.php?title=Media:Point.java|Point.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Java: Classi Astratte e Interfacce====&lt;br /&gt;
====Java: Ereditarietà====&lt;br /&gt;
====Java: Le Eccezioni====&lt;br /&gt;
====Java: Input e Output====&lt;br /&gt;
====Java: Programmazione Grafica e ad Eventi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Grafica&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=36|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:CalcButton.java|CalcButton.java]], [[index.php?title=Media:CalcPanel.java|CalcPanel.java]], [[index.php?title=Media:Calculator.java|Calculator.java]], [[index.php?title=Media:Es10Panel.java|Es10Panel.java]], [[index.php?title=Media:Es11Panel.java|Es11Panel.java]], [[index.php?title=Media:Es12Panel.java|Es12Panel.java]], [[index.php?title=Media:Es13Panel.java|Es13Panel.java]], [[index.php?title=Media:Es14Panel.java|Es14Panel.java]], [[index.php?title=Media:Es15Panel.java|Es15Panel.java]], [[index.php?title=Media:Es16Panel.java|Es16Panel.java]], [[index.php?title=Media:Es7Panel.java|Es7Panel.java]], [[index.php?title=Media:Es8Panel.java|Es8Panel.java]], [[index.php?title=Media:Es9Panel.java|Es9Panel.java]], [[index.php?title=Media:EsSwing1.java|EsSwing1.java]], [[index.php?title=Media:EsSwing10.java|EsSwing10.java]], [[index.php?title=Media:EsSwing11.java|EsSwing11.java]], [[index.php?title=Media:EsSwing12.java|EsSwing12.java]], [[index.php?title=Media:EsSwing13.java|EsSwing13.java]], [[index.php?title=Media:EsSwing14.java|EsSwing14.java]], [[index.php?title=Media:EsSwing15.java|EsSwing15.java]], [[index.php?title=Media:EsSwing16.java|EsSwing16.java]], [[index.php?title=Media:EsSwing2.java|EsSwing2.java]], [[index.php?title=Media:EsSwing3.java|EsSwing3.java]], [[index.php?title=Media:EsSwing4.java|EsSwing4.java]], [[index.php?title=Media:EsSwing5.java|EsSwing5.java]], [[index.php?title=Media:EsSwing6.java|EsSwing6.java]], [[index.php?title=Media:EsSwing7.java|EsSwing7.java]], [[index.php?title=Media:EsSwing8.java|EsSwing8.java]], [[index.php?title=Media:EsSwing9.java|EsSwing9.java]], [[index.php?title=Media:EsSwingCalculator.java|EsSwingCalculator.java]], [[index.php?title=Media:FunctionPanel.java|FunctionPanel.java]], [[index.php?title=Media:ImgPanel.java|ImgPanel.java]], [[index.php?title=Media:MyFrame.java|MyFrame.java]], [[index.php?title=Media:MyPanel.java|MyPanel.java]], [[index.php?title=Media:Terminator.java|Terminator.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Java: Le Applet====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Applet&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=9|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Applet1.java|Applet1.java]], [[Media:Applet2.java|Applet2.java]], [[Media:Applet2Listener.java|Applet2Listener.java]], [[Media:Applet3.java|Applet3.java]], [[Media:Applet3Listener.java|Applet3Listener.java]], &lt;br /&gt;
[[Media:Applet4.java|Applet4.java]], [[Media:Applet5.java|Applet5.java]], [[Media:Application2.java|Application2.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Strumenti Software=&lt;br /&gt;
[[Image:strumenti.png|right]]&lt;br /&gt;
Si indicano di seguito gli strumenti software che si utilizzano durante l&#039;insegnamento e si indica dove e&#039; possibile reperirli.&lt;br /&gt;
&lt;br /&gt;
* Per sviluppare programmi in Java si utilizza il JDK (Java Development Kit). Si può scaricare:&lt;br /&gt;
**dal sito [https://www.oracle.com/java/technologies/downloads/ Java at Oracle]&lt;br /&gt;
**dal sito [https://openjdk.java.net OpenJDK]&lt;br /&gt;
* &#039;&#039;&#039;NOTA:&#039;&#039;&#039; &amp;amp;Egrave; necessario utilizzare una versione del JDK maggiore o uguale alla 1.5 (Java J2SE 5). Si consiglia almeno la versione 11.&lt;br /&gt;
&amp;lt;!--* Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio--&amp;gt;&lt;br /&gt;
* Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è [http://www.eclipse.org/ Eclipse].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
*È possibile, per la parte C soltanto, usare un ambiente di programmazione integrato per il C disponibile qui: [http://www.delorie.com/djgpp/ Il compilatore DJGPP]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Esercitazioni di laboratorio=&lt;br /&gt;
 &lt;br /&gt;
Gli esercizi di laboratorio si possono trovare nella seguente pagina: [[EserciziPO|Esercizi di Programmazione ad Oggetti]].&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=1033</id>
		<title>Tesi Giacomo Cabri</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=1033"/>
		<updated>2025-09-05T11:06:05Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Tesi in azienda */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sono disponibili delle [[Media:LineeGuidaTesi.pdf|linee guida]] per scrivere la tesi o l&#039;elaborato.&lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Magistrale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* implementazione di approcci in auto in sala 1:10&lt;br /&gt;
&lt;br /&gt;
=== Passaporto di prodotto digitale ===&lt;br /&gt;
&lt;br /&gt;
* modelli di passaporto digitale&lt;br /&gt;
* meccanismi di verifica delle caratteristiche del passaporto digitale&lt;br /&gt;
&lt;br /&gt;
=== Digital twin ===&lt;br /&gt;
&lt;br /&gt;
* astrazioni software di fabbriche fisiche&lt;br /&gt;
* interoperabilità tra macchinari e tra aziende&lt;br /&gt;
* coordinamento di obiettivi aziendali con gestione di macchinari&lt;br /&gt;
&lt;br /&gt;
=== Agenti software ===&lt;br /&gt;
&lt;br /&gt;
* metodologie e infrastrutture per lo sviluppo di applicazioni ad agenti&lt;br /&gt;
* modelli di interazione basati sui ruoli confronti tra diversi approcci o implementazioni a ruoli&lt;br /&gt;
* definizione di linee guida per lo sviluppo di applicazioni ad agenti basate sui ruoli&lt;br /&gt;
* infrastrutture e middleware per permettere agli agenti di assumere ruoli e di interagire&lt;br /&gt;
* estensione di infrastrutture esistenti&lt;br /&gt;
&lt;br /&gt;
=== Ambienti per agenti ===&lt;br /&gt;
&lt;br /&gt;
* gestione della fiducia per le interazioni tra agenti&lt;br /&gt;
* adattabilità degli agenti agli stimoli dell&#039;ambiente&lt;br /&gt;
* agenti per dispositivi mobili (vedi figura)&lt;br /&gt;
* interoperabilità tra sistemi ad agenti Java e quelli basati su altri linguaggi di programmazione&lt;br /&gt;
* studio di piattaforme ad agenti ad alte prestazioni&lt;br /&gt;
&lt;br /&gt;
=== Applicazioni ad agenti ===&lt;br /&gt;
&lt;br /&gt;
* agenti applicati all&#039;e-health (campo medico)&lt;br /&gt;
* agenti mobili per la gestione dei sistemi&lt;br /&gt;
* agenti mobili per trattare la sicurezza dei dati&lt;br /&gt;
* supporto alle visite ai beni culturali&lt;br /&gt;
* e-government&lt;br /&gt;
* agenti mobili per il supporto al green computing&lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Triennale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* gestione degli incroci&lt;br /&gt;
* gestione dei parcheggi&lt;br /&gt;
&lt;br /&gt;
=== Passaporto di prodotto digitale ===&lt;br /&gt;
&lt;br /&gt;
* app e applicazioni web per la gestione del passaporto digitale&lt;br /&gt;
* ChatDPP: sviluppo di un chatbot per il passaporto digitale&lt;br /&gt;
* meccanismi di verifica delle caratteristiche del passaporto digitale&lt;br /&gt;
&lt;br /&gt;
=== Digital factory - Industry 4.0 ===&lt;br /&gt;
&lt;br /&gt;
* modelli software per le digital factory&lt;br /&gt;
* piattaforme software di supporto alle digital factory&lt;br /&gt;
&lt;br /&gt;
=== Sviluppo di applicazioni distribuite ===&lt;br /&gt;
&lt;br /&gt;
* giochi socialmente utili ([https://it.wikipedia.org/wiki/Gioco_con_uno_scopo Game With A purpose] site; Video YouTube)&lt;br /&gt;
* gestione di ospedali per Informatici senza frontiere&lt;br /&gt;
&lt;br /&gt;
== Tesi in azienda ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OTConsulting&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.otconsulting.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
* applicazioni Web&lt;br /&gt;
* ciclo di vita del software per sistemi embedded&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Infolog&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.infolog.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Implementazione di un framework in Android per la trasposizione di logiche RF (Radio Frequenza) attraverso interfacce smart e touch screen.&lt;br /&gt;
* Progettazione e implementazione di un tool per l’esecuzione automatica di unit test, al fine di rilevare la coerenza continua delle funzionalità di base del prodotto software di logistica proprietario&lt;br /&gt;
* Studio e implementazione di un algoritmo in grado di ottimizzare il posizionamento di oggetti su un bancale&lt;br /&gt;
* Progetto di visione artificiale in linguaggio Java&lt;br /&gt;
* Applicazione dei framework grafici Swing e JavaFX&lt;br /&gt;
* Progettazione e applicazione pratica di un algoritmo in Java&lt;br /&gt;
* Sviluppo di un algoritmo di Anomaly Detection in grado di rilevare malfunzionamenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Elettric80&#039;&#039;&#039;, Viano (RE) (&amp;lt;nowiki&amp;gt;http://www.elettric80.it/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Android di supporto alla GUI&lt;br /&gt;
* Sistema di gestione di dati distribuiti ed eterogenei&lt;br /&gt;
* Studio SW di un sistema di intralogistica&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Apex&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.apex.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Web&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TETRA PAK&#039;&#039;&#039; PACKAGING SOLUTIONS, Modena (&amp;lt;nowiki&amp;gt;http://www.tetrapak.com/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Developing of an ETL process and reporting (English knowledge is required)&lt;br /&gt;
* Developing of a dashboard for consumer behaviour insights (English knowledge is required)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CINECA&#039;&#039;&#039;, Bologna (&amp;lt;nowiki&amp;gt;https://www.cineca.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software di interfaccia client RCM (Remote Connection Manager)&lt;br /&gt;
* Sviluppo di un software per monitoraggio delle performance nell&#039;ambito del progetto CHECK (Cluster Health and Environment ChecKing system)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multitraccia&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.multitraccia.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo dell’evoluzione di un progetto esistente di gestionale aziendale in cloud per il controllo dei flussi produttivi&lt;br /&gt;
* Sviluppo di un progetto di evoluzione in versione webapp di un applicativo client/server&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AppAway&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://appaway.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Progettazione e realizzazione librerie di keywords componibili dedicate alla scrittura degli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione delle procedure di devops per ricostruire un ambiente su cui eseguire gli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione di un ambiente basato su Apache Mesos e DC/OS, predisposizione pipeline di deploy di un&#039;applicazione di esempio, comparazione con OpenShift e CloudFoundry&lt;br /&gt;
* Progettazione e realizzazione procedure di backup, stress e ripristino dell&#039;ambiente descritto nel del punto precedente&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Doxee&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.doxee.com/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Produzione documenti ad alte prestazioni in modalità batch: Analisi e sperimentazione delle funzionalità di Amazon Web Services Batch (&amp;lt;nowiki&amp;gt;https://aws.amazon.com/batch/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di applicazioni per la produzione di documenti personalizzati ad alte prestazioni.&lt;br /&gt;
* Produzione di documenti ad alte prestazioni in modalità on-demand: Analisi e sperimentazione delle funzionalità di Docker (&amp;lt;nowiki&amp;gt;https://www.docker.com/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di API REST finalizzate alla produzione di documenti ad alte prestazioni ed alta distribuzione in modalità on-demand.&lt;br /&gt;
* Multi-tenancy in applicazioni di calcolo ad alte prestazioni: Dato un sistema produttivo ad alte prestazioni caratterizzato da multi-tenancy (ovvero, applicazioni con diverse finalità che competono per l’utilizzo di risorse di sistema comuni), analisi e prototipazione di tecnologie per la protezione del sistema dal sovraccarico e uso anomalo della capacità produttiva.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dedalus&#039;&#039;&#039; (ex Eurosoft Informatica Medica), Modena (&amp;lt;nowiki&amp;gt;http://www.dedalus.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* integrazione di workflow all&#039;interno di un Enterprise Service Bus (ESB) &lt;br /&gt;
* AI-powered web chat per specificare i requisiti di integrazione &lt;br /&gt;
* Integrazione di un editor JavaScript personalizzabile&lt;br /&gt;
* software per ambito medico&lt;br /&gt;
* gestione delle prenotazioni visite&lt;br /&gt;
* gestione delle cartelle cliniche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DM Digital&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.dmdigital.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di app per Windows Phone e Windows RT che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di architettura database server scalabile e distribuita;&lt;br /&gt;
* Sviluppo di app per Kindle Fire HD che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di versione di libri digitali in-book compatibili con formato e-pub.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Axyon AI&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.axyon.ai/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di sistemi di integrazione con provider di dati finanziari, tramite l&#039;utilizzo di API dedicate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expert Systems&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertsystem.net/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sviluppo di una libreria a oggetti per la rappresentazione semantica dei concetti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GM Soft&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.gm-soft.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni VB.Net/SQL per l’automazione&lt;br /&gt;
* Applicazioni PHP/MySql&lt;br /&gt;
* Applicazioni Cloud e IoT&lt;br /&gt;
* Digital Forensic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LAPAM&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.lapam.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un portale di gestione degli eventi&lt;br /&gt;
* Sviluppo di un portale per la gestione della formazione&lt;br /&gt;
* Sviluppo di un portale di news&lt;br /&gt;
* Sviluppo di un sistema di creazione e gestione di voucher virtuali &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maserati&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.maserati.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione protocollo di comunicazione per simulazione virtuale&lt;br /&gt;
* Sviluppo di app per la gestione della membership, pagamento e tracciabilità asset per un progetto di Urban Mobility centrato su e-bikes&lt;br /&gt;
* Industrializzazione del software&lt;br /&gt;
* Amministrazione di archivi informativi tramite sharepoint&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Marketz&#039;&#039;&#039;, (&amp;lt;nowiki&amp;gt;https://www.marketz.eu&amp;lt;/nowiki&amp;gt;) &lt;br /&gt;
&lt;br /&gt;
* Implementazione/reingegnerizzazione web application (dettagli)&lt;br /&gt;
* Automatizzazione processi di business (dettagli)&lt;br /&gt;
* Business Intelligence applicata al trading energetico (dettagli)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Isotta Fraschini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.isottafraschini.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Blockchain platform project&lt;br /&gt;
* Certification of asset life-cycle tracking&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Agile telecom&#039;&#039;&#039;, Carpi&lt;br /&gt;
&lt;br /&gt;
* Studio di soluzioni di cloud computing&lt;br /&gt;
* Studio di soluzioni basate su microservizi&lt;br /&gt;
&#039;&#039;&#039;Reply&#039;&#039;&#039;, Torino (&amp;lt;nowiki&amp;gt;https://www.reply.com/cluster-reply/it/proposte-di-tesi-e-tirocini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Data mesh&lt;br /&gt;
* Piattaforme digital twin&lt;br /&gt;
* Analisi tramite NLP&lt;br /&gt;
* Analisi dei mondi virtuali&lt;br /&gt;
* Automazione della PA&lt;br /&gt;
* DevOps&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AVL&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.avl.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software per la gestione delle vendite in Visual Basic e Excel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DemaNet&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;https://www.demanet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software ERP&lt;br /&gt;
* Sviluppo di un software di gestione della produzione secondo le linee Industria 4.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Panini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.paninigroup.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione in ambiente di sviluppo Microsoft .Net, Visual Basic 6 e Java &lt;br /&gt;
* MS SQL Server&lt;br /&gt;
* Ambienti di Business Intelligence Business Obejcts e Decisyon&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CREDEMTEL&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.credemtel.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Fatturazione elettronica e l’E.D.I.&lt;br /&gt;
* Social platform per condividere progetti, idee e informazioni&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Web CRM con interfaccia tablet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rinnai&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.rinnai.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo applicazioni web&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Implementazione su server aziendale di un software di ticketing a servizio dell’ufficio tecnico postvendita e call center aziendale; il software al momento identificato è OTRS, software Open Source in linguaggio Perl.&lt;br /&gt;
* Implementazione su server aziendale di un sistema di comunicazione fra CRM Sugar e Centralino Elastix per il riconoscimento delle telefonate entranti e loro gestione anche attraverso il software di ticketing OTRS.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Servizio IT dell’Azienda Ospedaliero Universitaria di Modena (Policlinico)&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.policlinico.mo.it/home.html&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Analisi semantica del testo dei referti di specialistica ambulatoriale, tramite l&#039;utilizzo di umls rif. &amp;lt;nowiki&amp;gt;https://www.nlm.nih.gov/research/umls/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Interconnessione e scambio tra gli applicativi aziendali, delle anagrafiche popolazione residenti in Emilia Romagna, utilizzando lo standard fhir &amp;lt;nowiki&amp;gt;http://www.hl7.org/fhir/?ref=learnmore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Huddle Room Technology&#039;&#039;&#039;, Campogalliano (MO) (&amp;lt;nowiki&amp;gt;http://www.huddleroomtechnology.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicativi software per le piattaforme mobili (iOS/Android) e desktop (Windows/MacOSX) per l&#039;interazione con un dispositivo per videoconferenza&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;gruppo ECHO di OGS&#039;&#039;&#039;, Trieste (&amp;lt;nowiki&amp;gt;http://www.ogs.trieste.it/it/content/echo-modellistica-dei-sistemi-marini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Studio e implementazione di un memory model per l&#039;aumento della località dei dati per il Software Shyfem per lo studio di lagune&lt;br /&gt;
* Ottimizzazione del codice BFM5 standalone &lt;br /&gt;
* Inserimento della formulazione free surface nella parametrizzazione del trasposto orizzontale del codice OPATM&lt;br /&gt;
* Aumento della risoluzione del modello OPATM-BFM da 1/16 a 1/24&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sailing&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.sailingweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione di applicazioni Java&lt;br /&gt;
* Gestione di aspetti sistemistici come application server &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Twin Set&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.twinset.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione e gestione applicazioni web&lt;br /&gt;
* Gestione infrastruttura IT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Miliaris&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.miliaris.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Gestione distribuita di contenuti multimediali&lt;br /&gt;
* Applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Addiction&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.addiction.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sistemi di intranet aziendali&lt;br /&gt;
* Rich Internet Application&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MDLAB&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.mdlab-software.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di interfacce grafiche in ambiente JAVA per software di simulazione di dispositivi elettronici&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALIMAC&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://talimac.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di APP (sia su piattaforme iOS che Android)&lt;br /&gt;
* Soluzioni WEB (siti e gestionali)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kartha&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.kartha.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni di Workflow&lt;br /&gt;
* gestione documentale&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Xion&#039;&#039;&#039;, Scandiano, RE (&amp;lt;nowiki&amp;gt;http://www.xion-srl.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Software per automazione industriale&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Spikenet&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.spikenet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Marketing Automation (&amp;lt;nowiki&amp;gt;http://en.wikipedia.org/wiki/Marketing_automation&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* Prodotti Mobile per ambienti Apple / Android&lt;br /&gt;
* Sviluppo e personalizzazione di progetti basati su piattaforma eCommerce &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expertweb&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Soluzioni per ecommerce open-source&lt;br /&gt;
* requisiti, installazione e funzionalità, di CMS &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kyros&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.kyros.net/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Integrazione di tecnologie open source&lt;br /&gt;
* Sviluppo di CRM, Social CRM, Business Intelligence, Portali collaborativi, Social network integrati&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Freedom GmbH&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.freedomgmbh.de/en/home&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo e ampliamento sito internet&lt;br /&gt;
* Realizzazione programma per l’invio di newsletter&lt;br /&gt;
* Studio e pianificazione marketing aziendale, anche attraverso l’uso di social network&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Softintime&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.softintime.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Tecnologie avanzate per la gestione nel campo della moda&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perigeo&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.perigeo.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicazioni client-server e Web nell’ambito di progetti SAP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Joint Research Center&#039;&#039;&#039;, Ispra, MI (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Traineeships (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc/index.cfm?id=3720&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Comune di Carpi&#039;&#039;&#039; (&amp;lt;nowiki&amp;gt;http://www.carpidiem.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* informatizzazione dei servizi&lt;br /&gt;
* gestione delle procedure&lt;br /&gt;
* gestione del sistema informativo&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Musei civici di Reggio Emilia&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* supporto informatico alla visita dei musei tramite palmari&lt;br /&gt;
* supporto informatico alla visita della città&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;STMicroelectronics&#039;&#039;&#039;, Milano&lt;br /&gt;
&lt;br /&gt;
* sviluppo di applicazioni per l&#039;elettronica&lt;br /&gt;
&lt;br /&gt;
== Tesi all&#039;estero ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende estere possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Institute of Human and Machine Cognition&#039;&#039;&#039;, Pensacola, USA (&amp;lt;nowiki&amp;gt;http://www.ihmc.us&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sistemi distribuiti&lt;br /&gt;
* mobilità e coordinamento&lt;br /&gt;
* servizi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ABB Corporate Research Center&#039;&#039;&#039;, Ladenburg, Germania (&amp;lt;nowiki&amp;gt;http://www.abb.com/cawp/abbzh254/f7759f8b22a81780c1256b57004fb277.aspx&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni mobili (info)&lt;br /&gt;
* tecnologie semantiche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C7&#039;&#039;&#039;, Buenos Aires, Argentina (&amp;lt;nowiki&amp;gt;http://www.continentesiete.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* modellazione e simulazione di sistemi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Accenture&#039;&#039;&#039;, Sophia Antipolis, Francia (&amp;lt;nowiki&amp;gt;http://www.accenture.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Whitestein&#039;&#039;&#039;, Zurigo, Svizzera (&amp;lt;nowiki&amp;gt;http://www.whitestein.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni ad agenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Università straniere:&#039;&#039;&#039;&lt;br /&gt;
* Groningen (NL)&lt;br /&gt;
* Napier University a Edimburgo (UK)&lt;br /&gt;
* Imperial College a Londra (UK)&lt;br /&gt;
* Bournemouth (UK)&lt;br /&gt;
* Università della Svizzera Italiana (CH)&lt;br /&gt;
* Savoia (F)&lt;br /&gt;
* Vienna (A)&lt;br /&gt;
* Victoria (CAN)&lt;br /&gt;
&lt;br /&gt;
Per informazioni sulle tesi rivolgersi al Prof. Giacomo Cabri ([mailto://Giacomo.cabri@unimore.it giacomo.cabri@unimore.it]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://web.archive.org/web/20220930190641/https://www.didattica.agentgroup.unimo.it/wiki/index.php/Tesi_Giacomo_Cabri Link] alla vecchia pagina archivio.&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=1007</id>
		<title>Tesi Giacomo Cabri</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=1007"/>
		<updated>2025-04-23T08:55:05Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Tesi in azienda */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sono disponibili delle [[Media:LineeGuidaTesi.pdf|linee guida]] per scrivere la tesi o l&#039;elaborato.&lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Magistrale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* implementazione di approcci in auto in sala 1:10&lt;br /&gt;
&lt;br /&gt;
=== Passaporto di prodotto digitale ===&lt;br /&gt;
&lt;br /&gt;
* modelli di passaporto digitale&lt;br /&gt;
* meccanismi di verifica delle caratteristiche del passaporto digitale&lt;br /&gt;
&lt;br /&gt;
=== Digital twin ===&lt;br /&gt;
&lt;br /&gt;
* astrazioni software di fabbriche fisiche&lt;br /&gt;
* interoperabilità tra macchinari e tra aziende&lt;br /&gt;
* coordinamento di obiettivi aziendali con gestione di macchinari&lt;br /&gt;
&lt;br /&gt;
=== Agenti software ===&lt;br /&gt;
&lt;br /&gt;
* metodologie e infrastrutture per lo sviluppo di applicazioni ad agenti&lt;br /&gt;
* modelli di interazione basati sui ruoli confronti tra diversi approcci o implementazioni a ruoli&lt;br /&gt;
* definizione di linee guida per lo sviluppo di applicazioni ad agenti basate sui ruoli&lt;br /&gt;
* infrastrutture e middleware per permettere agli agenti di assumere ruoli e di interagire&lt;br /&gt;
* estensione di infrastrutture esistenti&lt;br /&gt;
&lt;br /&gt;
=== Ambienti per agenti ===&lt;br /&gt;
&lt;br /&gt;
* gestione della fiducia per le interazioni tra agenti&lt;br /&gt;
* adattabilità degli agenti agli stimoli dell&#039;ambiente&lt;br /&gt;
* agenti per dispositivi mobili (vedi figura)&lt;br /&gt;
* interoperabilità tra sistemi ad agenti Java e quelli basati su altri linguaggi di programmazione&lt;br /&gt;
* studio di piattaforme ad agenti ad alte prestazioni&lt;br /&gt;
&lt;br /&gt;
=== Applicazioni ad agenti ===&lt;br /&gt;
&lt;br /&gt;
* agenti applicati all&#039;e-health (campo medico)&lt;br /&gt;
* agenti mobili per la gestione dei sistemi&lt;br /&gt;
* agenti mobili per trattare la sicurezza dei dati&lt;br /&gt;
* supporto alle visite ai beni culturali&lt;br /&gt;
* e-government&lt;br /&gt;
* agenti mobili per il supporto al green computing&lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Triennale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* gestione degli incroci&lt;br /&gt;
* gestione dei parcheggi&lt;br /&gt;
&lt;br /&gt;
=== Passaporto di prodotto digitale ===&lt;br /&gt;
&lt;br /&gt;
* app e applicazioni web per la gestione del passaporto digitale&lt;br /&gt;
* ChatDPP: sviluppo di un chatbot per il passaporto digitale&lt;br /&gt;
* meccanismi di verifica delle caratteristiche del passaporto digitale&lt;br /&gt;
&lt;br /&gt;
=== Digital factory - Industry 4.0 ===&lt;br /&gt;
&lt;br /&gt;
* modelli software per le digital factory&lt;br /&gt;
* piattaforme software di supporto alle digital factory&lt;br /&gt;
&lt;br /&gt;
=== Sviluppo di applicazioni distribuite ===&lt;br /&gt;
&lt;br /&gt;
* giochi socialmente utili ([https://it.wikipedia.org/wiki/Gioco_con_uno_scopo Game With A purpose] site; Video YouTube)&lt;br /&gt;
* gestione di ospedali per Informatici senza frontiere&lt;br /&gt;
&lt;br /&gt;
== Tesi in azienda ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OTConsulting&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.otconsulting.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
* applicazioni Web&lt;br /&gt;
* ciclo di vita del software per sistemi embedded&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Infolog&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.infolog.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Implementazione di un framework in Android per la trasposizione di logiche RF (Radio Frequenza) attraverso interfacce smart e touch screen.&lt;br /&gt;
* Progettazione e implementazione di un tool per l’esecuzione automatica di unit test, al fine di rilevare la coerenza continua delle funzionalità di base del prodotto software di logistica proprietario&lt;br /&gt;
* Studio e implementazione di un algoritmo in grado di ottimizzare il posizionamento di oggetti su un bancale&lt;br /&gt;
* Progetto di visione artificiale in linguaggio Java&lt;br /&gt;
* Applicazione dei framework grafici Swing e JavaFX&lt;br /&gt;
* Progettazione e applicazione pratica di un algoritmo in Java&lt;br /&gt;
* Sviluppo di un algoritmo di Anomaly Detection in grado di rilevare malfunzionamenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Elettric80&#039;&#039;&#039;, Viano (RE) (&amp;lt;nowiki&amp;gt;http://www.elettric80.it/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Android di supporto alla GUI&lt;br /&gt;
* Sistema di gestione di dati distribuiti ed eterogenei&lt;br /&gt;
* Studio SW di un sistema di intralogistica&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Apex&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.apex.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Web&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TETRA PAK&#039;&#039;&#039; PACKAGING SOLUTIONS, Modena (&amp;lt;nowiki&amp;gt;http://www.tetrapak.com/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Developing of an ETL process and reporting (English knowledge is required)&lt;br /&gt;
* Developing of a dashboard for consumer behaviour insights (English knowledge is required)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CINECA&#039;&#039;&#039;, Bologna (&amp;lt;nowiki&amp;gt;https://www.cineca.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software di interfaccia client RCM (Remote Connection Manager)&lt;br /&gt;
* Sviluppo di un software per monitoraggio delle performance nell&#039;ambito del progetto CHECK (Cluster Health and Environment ChecKing system)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multitraccia&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.multitraccia.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo dell’evoluzione di un progetto esistente di gestionale aziendale in cloud per il controllo dei flussi produttivi&lt;br /&gt;
* Sviluppo di un progetto di evoluzione in versione webapp di un applicativo client/server&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AppAway&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://appaway.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Progettazione e realizzazione librerie di keywords componibili dedicate alla scrittura degli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione delle procedure di devops per ricostruire un ambiente su cui eseguire gli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione di un ambiente basato su Apache Mesos e DC/OS, predisposizione pipeline di deploy di un&#039;applicazione di esempio, comparazione con OpenShift e CloudFoundry&lt;br /&gt;
* Progettazione e realizzazione procedure di backup, stress e ripristino dell&#039;ambiente descritto nel del punto precedente&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Doxee&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.doxee.com/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Produzione documenti ad alte prestazioni in modalità batch: Analisi e sperimentazione delle funzionalità di Amazon Web Services Batch (&amp;lt;nowiki&amp;gt;https://aws.amazon.com/batch/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di applicazioni per la produzione di documenti personalizzati ad alte prestazioni.&lt;br /&gt;
* Produzione di documenti ad alte prestazioni in modalità on-demand: Analisi e sperimentazione delle funzionalità di Docker (&amp;lt;nowiki&amp;gt;https://www.docker.com/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di API REST finalizzate alla produzione di documenti ad alte prestazioni ed alta distribuzione in modalità on-demand.&lt;br /&gt;
* Multi-tenancy in applicazioni di calcolo ad alte prestazioni: Dato un sistema produttivo ad alte prestazioni caratterizzato da multi-tenancy (ovvero, applicazioni con diverse finalità che competono per l’utilizzo di risorse di sistema comuni), analisi e prototipazione di tecnologie per la protezione del sistema dal sovraccarico e uso anomalo della capacità produttiva.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dedalus&#039;&#039;&#039; (ex Eurosoft Informatica Medica), Modena (&amp;lt;nowiki&amp;gt;http://www.dedalus.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* integrazione di workflow all&#039;interno di un Enterprise Service Bus (ESB) &lt;br /&gt;
* AI-powered web chat per specificare i requisiti di integrazione &lt;br /&gt;
* Integrazione di un editor JavaScript personalizzabile&lt;br /&gt;
* software per ambito medico&lt;br /&gt;
* gestione delle prenotazioni visite&lt;br /&gt;
* gestione delle cartelle cliniche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DM Digital&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.dmdigital.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di app per Windows Phone e Windows RT che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di architettura database server scalabile e distribuita;&lt;br /&gt;
* Sviluppo di app per Kindle Fire HD che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di versione di libri digitali in-book compatibili con formato e-pub.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Axyon AI&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.axyon.ai/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di sistemi di integrazione con provider di dati finanziari, tramite l&#039;utilizzo di API dedicate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expert Systems&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertsystem.net/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sviluppo di una libreria a oggetti per la rappresentazione semantica dei concetti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GM Soft&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.gm-soft.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni VB.Net/SQL per l’automazione&lt;br /&gt;
* Applicazioni PHP/MySql&lt;br /&gt;
* Applicazioni Cloud e IoT&lt;br /&gt;
* Digital Forensic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LAPAM&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.lapam.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un portale di gestione degli eventi&lt;br /&gt;
* Sviluppo di un portale per la gestione della formazione&lt;br /&gt;
* Sviluppo di un portale di news&lt;br /&gt;
* Sviluppo di un sistema di creazione e gestione di voucher virtuali &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maserati&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.maserati.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione protocollo di comunicazione per simulazione virtuale&lt;br /&gt;
* Sviluppo di app per la gestione della membership, pagamento e tracciabilità asset per un progetto di Urban Mobility centrato su e-bikes&lt;br /&gt;
* Industrializzazione del software&lt;br /&gt;
* Amministrazione di archivi informativi tramite sharepoint&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Marketz&#039;&#039;&#039;, (&amp;lt;nowiki&amp;gt;https://www.marketz.eu&amp;lt;/nowiki&amp;gt;) &lt;br /&gt;
&lt;br /&gt;
* Implementazione/reingegnerizzazione web application (dettagli)&lt;br /&gt;
* Automatizzazione processi di business (dettagli)&lt;br /&gt;
* Business Intelligence applicata al trading energetico (dettagli)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Isotta Fraschini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.isottafraschini.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Blockchain platform project&lt;br /&gt;
* Certification of asset life-cycle tracking&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Agile telecom&#039;&#039;&#039;, Carpi&lt;br /&gt;
&lt;br /&gt;
* Studio di soluzioni di cloud computing&lt;br /&gt;
* Studio di soluzioni basate su microservizi&lt;br /&gt;
&#039;&#039;&#039;Reply&#039;&#039;&#039;, Torino (&amp;lt;nowiki&amp;gt;https://www.reply.com/cluster-reply/it/proposte-di-tesi-e-tirocini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Data mesh&lt;br /&gt;
* Piattaforme digital twin&lt;br /&gt;
* Analisi tramite NLP&lt;br /&gt;
* Analisi dei mondi virtuali&lt;br /&gt;
* Automazione della PA&lt;br /&gt;
* DevOps&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AVL&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.avl.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software per la gestione delle vendite in Visual Basic e Excel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DemaNet&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;https://www.demanet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software ERP&lt;br /&gt;
* Sviluppo di un software di gestione della produzione secondo le linee Industria 4.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Panini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.paninigroup.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione in ambiente di sviluppo Microsoft .Net, Visual Basic 6 e Java &lt;br /&gt;
* MS SQL Server&lt;br /&gt;
* Ambienti di Business Intelligence Business Obejcts e Decisyon&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CREDEMTEL&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.credemtel.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Fatturazione elettronica e l’E.D.I.&lt;br /&gt;
* Social platform per condividere progetti, idee e informazioni&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Web CRM con interfaccia tablet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rinnai&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.rinnai.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Implementazione su server aziendale di un software di ticketing a servizio dell’ufficio tecnico postvendita e call center aziendale; il software al momento identificato è OTRS, software Open Source in linguaggio Perl.&lt;br /&gt;
* Implementazione su server aziendale di un sistema di comunicazione fra CRM Sugar e Centralino Elastix per il riconoscimento delle telefonate entranti e loro gestione anche attraverso il software di ticketing OTRS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Servizio IT dell’Azienda Ospedaliero Universitaria di Modena (Policlinico)&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.policlinico.mo.it/home.html&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Analisi semantica del testo dei referti di specialistica ambulatoriale, tramite l&#039;utilizzo di umls rif. &amp;lt;nowiki&amp;gt;https://www.nlm.nih.gov/research/umls/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Interconnessione e scambio tra gli applicativi aziendali, delle anagrafiche popolazione residenti in Emilia Romagna, utilizzando lo standard fhir &amp;lt;nowiki&amp;gt;http://www.hl7.org/fhir/?ref=learnmore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Huddle Room Technology&#039;&#039;&#039;, Campogalliano (MO) (&amp;lt;nowiki&amp;gt;http://www.huddleroomtechnology.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicativi software per le piattaforme mobili (iOS/Android) e desktop (Windows/MacOSX) per l&#039;interazione con un dispositivo per videoconferenza&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;gruppo ECHO di OGS&#039;&#039;&#039;, Trieste (&amp;lt;nowiki&amp;gt;http://www.ogs.trieste.it/it/content/echo-modellistica-dei-sistemi-marini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Studio e implementazione di un memory model per l&#039;aumento della località dei dati per il Software Shyfem per lo studio di lagune&lt;br /&gt;
* Ottimizzazione del codice BFM5 standalone &lt;br /&gt;
* Inserimento della formulazione free surface nella parametrizzazione del trasposto orizzontale del codice OPATM&lt;br /&gt;
* Aumento della risoluzione del modello OPATM-BFM da 1/16 a 1/24&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sailing&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.sailingweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione di applicazioni Java&lt;br /&gt;
* Gestione di aspetti sistemistici come application server &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Twin Set&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.twinset.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione e gestione applicazioni web&lt;br /&gt;
* Gestione infrastruttura IT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Miliaris&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.miliaris.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Gestione distribuita di contenuti multimediali&lt;br /&gt;
* Applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Addiction&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.addiction.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sistemi di intranet aziendali&lt;br /&gt;
* Rich Internet Application&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MDLAB&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.mdlab-software.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di interfacce grafiche in ambiente JAVA per software di simulazione di dispositivi elettronici&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALIMAC&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://talimac.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di APP (sia su piattaforme iOS che Android)&lt;br /&gt;
* Soluzioni WEB (siti e gestionali)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kartha&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.kartha.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni di Workflow&lt;br /&gt;
* gestione documentale&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Xion&#039;&#039;&#039;, Scandiano, RE (&amp;lt;nowiki&amp;gt;http://www.xion-srl.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Software per automazione industriale&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Spikenet&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.spikenet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Marketing Automation (&amp;lt;nowiki&amp;gt;http://en.wikipedia.org/wiki/Marketing_automation&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* Prodotti Mobile per ambienti Apple / Android&lt;br /&gt;
* Sviluppo e personalizzazione di progetti basati su piattaforma eCommerce &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expertweb&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Soluzioni per ecommerce open-source&lt;br /&gt;
* requisiti, installazione e funzionalità, di CMS &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kyros&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.kyros.net/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Integrazione di tecnologie open source&lt;br /&gt;
* Sviluppo di CRM, Social CRM, Business Intelligence, Portali collaborativi, Social network integrati&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Freedom GmbH&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.freedomgmbh.de/en/home&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo e ampliamento sito internet&lt;br /&gt;
* Realizzazione programma per l’invio di newsletter&lt;br /&gt;
* Studio e pianificazione marketing aziendale, anche attraverso l’uso di social network&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Softintime&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.softintime.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Tecnologie avanzate per la gestione nel campo della moda&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perigeo&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.perigeo.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicazioni client-server e Web nell’ambito di progetti SAP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Joint Research Center&#039;&#039;&#039;, Ispra, MI (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Traineeships (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc/index.cfm?id=3720&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Comune di Carpi&#039;&#039;&#039; (&amp;lt;nowiki&amp;gt;http://www.carpidiem.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* informatizzazione dei servizi&lt;br /&gt;
* gestione delle procedure&lt;br /&gt;
* gestione del sistema informativo&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Musei civici di Reggio Emilia&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* supporto informatico alla visita dei musei tramite palmari&lt;br /&gt;
* supporto informatico alla visita della città&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;STMicroelectronics&#039;&#039;&#039;, Milano&lt;br /&gt;
&lt;br /&gt;
* sviluppo di applicazioni per l&#039;elettronica&lt;br /&gt;
&lt;br /&gt;
== Tesi all&#039;estero ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende estere possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Institute of Human and Machine Cognition&#039;&#039;&#039;, Pensacola, USA (&amp;lt;nowiki&amp;gt;http://www.ihmc.us&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sistemi distribuiti&lt;br /&gt;
* mobilità e coordinamento&lt;br /&gt;
* servizi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ABB Corporate Research Center&#039;&#039;&#039;, Ladenburg, Germania (&amp;lt;nowiki&amp;gt;http://www.abb.com/cawp/abbzh254/f7759f8b22a81780c1256b57004fb277.aspx&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni mobili (info)&lt;br /&gt;
* tecnologie semantiche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C7&#039;&#039;&#039;, Buenos Aires, Argentina (&amp;lt;nowiki&amp;gt;http://www.continentesiete.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* modellazione e simulazione di sistemi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Accenture&#039;&#039;&#039;, Sophia Antipolis, Francia (&amp;lt;nowiki&amp;gt;http://www.accenture.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Whitestein&#039;&#039;&#039;, Zurigo, Svizzera (&amp;lt;nowiki&amp;gt;http://www.whitestein.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni ad agenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Università straniere:&#039;&#039;&#039;&lt;br /&gt;
* Groningen (NL)&lt;br /&gt;
* Napier University a Edimburgo (UK)&lt;br /&gt;
* Imperial College a Londra (UK)&lt;br /&gt;
* Bournemouth (UK)&lt;br /&gt;
* Università della Svizzera Italiana (CH)&lt;br /&gt;
* Savoia (F)&lt;br /&gt;
* Vienna (A)&lt;br /&gt;
* Victoria (CAN)&lt;br /&gt;
&lt;br /&gt;
Per informazioni sulle tesi rivolgersi al Prof. Giacomo Cabri ([mailto://Giacomo.cabri@unimore.it giacomo.cabri@unimore.it]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://web.archive.org/web/20220930190641/https://www.didattica.agentgroup.unimo.it/wiki/index.php/Tesi_Giacomo_Cabri Link] alla vecchia pagina archivio.&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=1006</id>
		<title>Tesi Giacomo Cabri</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=1006"/>
		<updated>2025-04-22T09:00:39Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Tesi per Laurea Triennale */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sono disponibili delle [[Media:LineeGuidaTesi.pdf|linee guida]] per scrivere la tesi o l&#039;elaborato.&lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Magistrale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* implementazione di approcci in auto in sala 1:10&lt;br /&gt;
&lt;br /&gt;
=== Passaporto di prodotto digitale ===&lt;br /&gt;
&lt;br /&gt;
* modelli di passaporto digitale&lt;br /&gt;
* meccanismi di verifica delle caratteristiche del passaporto digitale&lt;br /&gt;
&lt;br /&gt;
=== Digital twin ===&lt;br /&gt;
&lt;br /&gt;
* astrazioni software di fabbriche fisiche&lt;br /&gt;
* interoperabilità tra macchinari e tra aziende&lt;br /&gt;
* coordinamento di obiettivi aziendali con gestione di macchinari&lt;br /&gt;
&lt;br /&gt;
=== Agenti software ===&lt;br /&gt;
&lt;br /&gt;
* metodologie e infrastrutture per lo sviluppo di applicazioni ad agenti&lt;br /&gt;
* modelli di interazione basati sui ruoli confronti tra diversi approcci o implementazioni a ruoli&lt;br /&gt;
* definizione di linee guida per lo sviluppo di applicazioni ad agenti basate sui ruoli&lt;br /&gt;
* infrastrutture e middleware per permettere agli agenti di assumere ruoli e di interagire&lt;br /&gt;
* estensione di infrastrutture esistenti&lt;br /&gt;
&lt;br /&gt;
=== Ambienti per agenti ===&lt;br /&gt;
&lt;br /&gt;
* gestione della fiducia per le interazioni tra agenti&lt;br /&gt;
* adattabilità degli agenti agli stimoli dell&#039;ambiente&lt;br /&gt;
* agenti per dispositivi mobili (vedi figura)&lt;br /&gt;
* interoperabilità tra sistemi ad agenti Java e quelli basati su altri linguaggi di programmazione&lt;br /&gt;
* studio di piattaforme ad agenti ad alte prestazioni&lt;br /&gt;
&lt;br /&gt;
=== Applicazioni ad agenti ===&lt;br /&gt;
&lt;br /&gt;
* agenti applicati all&#039;e-health (campo medico)&lt;br /&gt;
* agenti mobili per la gestione dei sistemi&lt;br /&gt;
* agenti mobili per trattare la sicurezza dei dati&lt;br /&gt;
* supporto alle visite ai beni culturali&lt;br /&gt;
* e-government&lt;br /&gt;
* agenti mobili per il supporto al green computing&lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Triennale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* gestione degli incroci&lt;br /&gt;
* gestione dei parcheggi&lt;br /&gt;
&lt;br /&gt;
=== Passaporto di prodotto digitale ===&lt;br /&gt;
&lt;br /&gt;
* app e applicazioni web per la gestione del passaporto digitale&lt;br /&gt;
* ChatDPP: sviluppo di un chatbot per il passaporto digitale&lt;br /&gt;
* meccanismi di verifica delle caratteristiche del passaporto digitale&lt;br /&gt;
&lt;br /&gt;
=== Digital factory - Industry 4.0 ===&lt;br /&gt;
&lt;br /&gt;
* modelli software per le digital factory&lt;br /&gt;
* piattaforme software di supporto alle digital factory&lt;br /&gt;
&lt;br /&gt;
=== Sviluppo di applicazioni distribuite ===&lt;br /&gt;
&lt;br /&gt;
* giochi socialmente utili ([https://it.wikipedia.org/wiki/Gioco_con_uno_scopo Game With A purpose] site; Video YouTube)&lt;br /&gt;
* gestione di ospedali per Informatici senza frontiere&lt;br /&gt;
&lt;br /&gt;
== Tesi in azienda ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OTConsulting&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.otconsulting.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
* applicazioni Web&lt;br /&gt;
* ciclo di vita del software per sistemi embedded&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Infolog&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.infolog.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Implementazione di un framework in Android per la trasposizione di logiche RF (Radio Frequenza) attraverso interfacce smart e touch screen.&lt;br /&gt;
* Progettazione e implementazione di un tool per l’esecuzione automatica di unit test, al fine di rilevare la coerenza continua delle funzionalità di base del prodotto software di logistica proprietario&lt;br /&gt;
* Studio e implementazione di un algoritmo in grado di ottimizzare il posizionamento di oggetti su un bancale&lt;br /&gt;
* Progetto di visione artificiale in linguaggio Java&lt;br /&gt;
* Applicazione dei framework grafici Swing e JavaFX&lt;br /&gt;
* Progettazione e applicazione pratica di un algoritmo in Java&lt;br /&gt;
* Sviluppo di un algoritmo di Anomaly Detection in grado di rilevare malfunzionamenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Elettric80&#039;&#039;&#039;, Viano (RE) (&amp;lt;nowiki&amp;gt;http://www.elettric80.it/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Android di supporto alla GUI&lt;br /&gt;
* Sistema di gestione di dati distribuiti ed eterogenei&lt;br /&gt;
* Studio SW di un sistema di intralogistica&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Apex&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.apex.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Web&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TETRA PAK&#039;&#039;&#039; PACKAGING SOLUTIONS, Modena (&amp;lt;nowiki&amp;gt;http://www.tetrapak.com/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Developing of an ETL process and reporting (English knowledge is required)&lt;br /&gt;
* Developing of a dashboard for consumer behaviour insights (English knowledge is required)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CINECA&#039;&#039;&#039;, Bologna (&amp;lt;nowiki&amp;gt;https://www.cineca.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software di interfaccia client RCM (Remote Connection Manager)&lt;br /&gt;
* Sviluppo di un software per monitoraggio delle performance nell&#039;ambito del progetto CHECK (Cluster Health and Environment ChecKing system)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multitraccia&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.multitraccia.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo dell’evoluzione di un progetto esistente di gestionale aziendale in cloud per il controllo dei flussi produttivi&lt;br /&gt;
* Sviluppo di un progetto di evoluzione in versione webapp di un applicativo client/server&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AppAway&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://appaway.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Progettazione e realizzazione librerie di keywords componibili dedicate alla scrittura degli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione delle procedure di devops per ricostruire un ambiente su cui eseguire gli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione di un ambiente basato su Apache Mesos e DC/OS, predisposizione pipeline di deploy di un&#039;applicazione di esempio, comparazione con OpenShift e CloudFoundry&lt;br /&gt;
* Progettazione e realizzazione procedure di backup, stress e ripristino dell&#039;ambiente descritto nel del punto precedente&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Doxee&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.doxee.com/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Produzione documenti ad alte prestazioni in modalità batch: Analisi e sperimentazione delle funzionalità di Amazon Web Services Batch (&amp;lt;nowiki&amp;gt;https://aws.amazon.com/batch/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di applicazioni per la produzione di documenti personalizzati ad alte prestazioni.&lt;br /&gt;
* Produzione di documenti ad alte prestazioni in modalità on-demand: Analisi e sperimentazione delle funzionalità di Docker (&amp;lt;nowiki&amp;gt;https://www.docker.com/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di API REST finalizzate alla produzione di documenti ad alte prestazioni ed alta distribuzione in modalità on-demand.&lt;br /&gt;
* Multi-tenancy in applicazioni di calcolo ad alte prestazioni: Dato un sistema produttivo ad alte prestazioni caratterizzato da multi-tenancy (ovvero, applicazioni con diverse finalità che competono per l’utilizzo di risorse di sistema comuni), analisi e prototipazione di tecnologie per la protezione del sistema dal sovraccarico e uso anomalo della capacità produttiva.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dedalus&#039;&#039;&#039; (ex Eurosoft Informatica Medica), Modena (&amp;lt;nowiki&amp;gt;http://www.dedalus.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* software per ambito medico&lt;br /&gt;
* gestione delle prenotazioni visite&lt;br /&gt;
* gestione delle cartelle cliniche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DM Digital&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.dmdigital.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di app per Windows Phone e Windows RT che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di architettura database server scalabile e distribuita;&lt;br /&gt;
* Sviluppo di app per Kindle Fire HD che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di versione di libri digitali in-book compatibili con formato e-pub.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Axyon AI&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.axyon.ai/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di sistemi di integrazione con provider di dati finanziari, tramite l&#039;utilizzo di API dedicate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expert Systems&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertsystem.net/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sviluppo di una libreria a oggetti per la rappresentazione semantica dei concetti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GM Soft&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.gm-soft.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni VB.Net/SQL per l’automazione&lt;br /&gt;
* Applicazioni PHP/MySql&lt;br /&gt;
* Applicazioni Cloud e IoT&lt;br /&gt;
* Digital Forensic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LAPAM&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.lapam.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un portale di gestione degli eventi&lt;br /&gt;
* Sviluppo di un portale per la gestione della formazione&lt;br /&gt;
* Sviluppo di un portale di news&lt;br /&gt;
* Sviluppo di un sistema di creazione e gestione di voucher virtuali &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maserati&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.maserati.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione protocollo di comunicazione per simulazione virtuale&lt;br /&gt;
* Sviluppo di app per la gestione della membership, pagamento e tracciabilità asset per un progetto di Urban Mobility centrato su e-bikes&lt;br /&gt;
* Industrializzazione del software&lt;br /&gt;
* Amministrazione di archivi informativi tramite sharepoint&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Marketz&#039;&#039;&#039;, (&amp;lt;nowiki&amp;gt;https://www.marketz.eu&amp;lt;/nowiki&amp;gt;) &lt;br /&gt;
&lt;br /&gt;
* Implementazione/reingegnerizzazione web application (dettagli)&lt;br /&gt;
* Automatizzazione processi di business (dettagli)&lt;br /&gt;
* Business Intelligence applicata al trading energetico (dettagli)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Isotta Fraschini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.isottafraschini.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Blockchain platform project&lt;br /&gt;
* Certification of asset life-cycle tracking&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Agile telecom&#039;&#039;&#039;, Carpi&lt;br /&gt;
&lt;br /&gt;
* Studio di soluzioni di cloud computing&lt;br /&gt;
* Studio di soluzioni basate su microservizi&lt;br /&gt;
&#039;&#039;&#039;Reply&#039;&#039;&#039;, Torino (&amp;lt;nowiki&amp;gt;https://www.reply.com/cluster-reply/it/proposte-di-tesi-e-tirocini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Data mesh&lt;br /&gt;
* Piattaforme digital twin&lt;br /&gt;
* Analisi tramite NLP&lt;br /&gt;
* Analisi dei mondi virtuali&lt;br /&gt;
* Automazione della PA&lt;br /&gt;
* DevOps&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AVL&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.avl.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software per la gestione delle vendite in Visual Basic e Excel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DemaNet&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;https://www.demanet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software ERP&lt;br /&gt;
* Sviluppo di un software di gestione della produzione secondo le linee Industria 4.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Panini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.paninigroup.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione in ambiente di sviluppo Microsoft .Net, Visual Basic 6 e Java &lt;br /&gt;
* MS SQL Server&lt;br /&gt;
* Ambienti di Business Intelligence Business Obejcts e Decisyon&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CREDEMTEL&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.credemtel.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Fatturazione elettronica e l’E.D.I.&lt;br /&gt;
* Social platform per condividere progetti, idee e informazioni&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Web CRM con interfaccia tablet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rinnai&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.rinnai.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Implementazione su server aziendale di un software di ticketing a servizio dell’ufficio tecnico postvendita e call center aziendale; il software al momento identificato è OTRS, software Open Source in linguaggio Perl.&lt;br /&gt;
* Implementazione su server aziendale di un sistema di comunicazione fra CRM Sugar e Centralino Elastix per il riconoscimento delle telefonate entranti e loro gestione anche attraverso il software di ticketing OTRS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Servizio IT dell’Azienda Ospedaliero Universitaria di Modena (Policlinico)&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.policlinico.mo.it/home.html&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Analisi semantica del testo dei referti di specialistica ambulatoriale, tramite l&#039;utilizzo di umls rif. &amp;lt;nowiki&amp;gt;https://www.nlm.nih.gov/research/umls/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Interconnessione e scambio tra gli applicativi aziendali, delle anagrafiche popolazione residenti in Emilia Romagna, utilizzando lo standard fhir &amp;lt;nowiki&amp;gt;http://www.hl7.org/fhir/?ref=learnmore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Huddle Room Technology&#039;&#039;&#039;, Campogalliano (MO) (&amp;lt;nowiki&amp;gt;http://www.huddleroomtechnology.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicativi software per le piattaforme mobili (iOS/Android) e desktop (Windows/MacOSX) per l&#039;interazione con un dispositivo per videoconferenza&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;gruppo ECHO di OGS&#039;&#039;&#039;, Trieste (&amp;lt;nowiki&amp;gt;http://www.ogs.trieste.it/it/content/echo-modellistica-dei-sistemi-marini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Studio e implementazione di un memory model per l&#039;aumento della località dei dati per il Software Shyfem per lo studio di lagune&lt;br /&gt;
* Ottimizzazione del codice BFM5 standalone &lt;br /&gt;
* Inserimento della formulazione free surface nella parametrizzazione del trasposto orizzontale del codice OPATM&lt;br /&gt;
* Aumento della risoluzione del modello OPATM-BFM da 1/16 a 1/24&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sailing&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.sailingweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione di applicazioni Java&lt;br /&gt;
* Gestione di aspetti sistemistici come application server &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Twin Set&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.twinset.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione e gestione applicazioni web&lt;br /&gt;
* Gestione infrastruttura IT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Miliaris&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.miliaris.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Gestione distribuita di contenuti multimediali&lt;br /&gt;
* Applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Addiction&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.addiction.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sistemi di intranet aziendali&lt;br /&gt;
* Rich Internet Application&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MDLAB&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.mdlab-software.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di interfacce grafiche in ambiente JAVA per software di simulazione di dispositivi elettronici&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALIMAC&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://talimac.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di APP (sia su piattaforme iOS che Android)&lt;br /&gt;
* Soluzioni WEB (siti e gestionali)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kartha&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.kartha.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni di Workflow&lt;br /&gt;
* gestione documentale&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Xion&#039;&#039;&#039;, Scandiano, RE (&amp;lt;nowiki&amp;gt;http://www.xion-srl.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Software per automazione industriale&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Spikenet&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.spikenet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Marketing Automation (&amp;lt;nowiki&amp;gt;http://en.wikipedia.org/wiki/Marketing_automation&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* Prodotti Mobile per ambienti Apple / Android&lt;br /&gt;
* Sviluppo e personalizzazione di progetti basati su piattaforma eCommerce &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expertweb&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Soluzioni per ecommerce open-source&lt;br /&gt;
* requisiti, installazione e funzionalità, di CMS &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kyros&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.kyros.net/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Integrazione di tecnologie open source&lt;br /&gt;
* Sviluppo di CRM, Social CRM, Business Intelligence, Portali collaborativi, Social network integrati&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Freedom GmbH&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.freedomgmbh.de/en/home&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo e ampliamento sito internet&lt;br /&gt;
* Realizzazione programma per l’invio di newsletter&lt;br /&gt;
* Studio e pianificazione marketing aziendale, anche attraverso l’uso di social network&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Softintime&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.softintime.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Tecnologie avanzate per la gestione nel campo della moda&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perigeo&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.perigeo.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicazioni client-server e Web nell’ambito di progetti SAP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Joint Research Center&#039;&#039;&#039;, Ispra, MI (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Traineeships (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc/index.cfm?id=3720&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Comune di Carpi&#039;&#039;&#039; (&amp;lt;nowiki&amp;gt;http://www.carpidiem.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* informatizzazione dei servizi&lt;br /&gt;
* gestione delle procedure&lt;br /&gt;
* gestione del sistema informativo&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Musei civici di Reggio Emilia&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* supporto informatico alla visita dei musei tramite palmari&lt;br /&gt;
* supporto informatico alla visita della città&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;STMicroelectronics&#039;&#039;&#039;, Milano&lt;br /&gt;
&lt;br /&gt;
* sviluppo di applicazioni per l&#039;elettronica&lt;br /&gt;
&lt;br /&gt;
== Tesi all&#039;estero ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende estere possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Institute of Human and Machine Cognition&#039;&#039;&#039;, Pensacola, USA (&amp;lt;nowiki&amp;gt;http://www.ihmc.us&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sistemi distribuiti&lt;br /&gt;
* mobilità e coordinamento&lt;br /&gt;
* servizi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ABB Corporate Research Center&#039;&#039;&#039;, Ladenburg, Germania (&amp;lt;nowiki&amp;gt;http://www.abb.com/cawp/abbzh254/f7759f8b22a81780c1256b57004fb277.aspx&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni mobili (info)&lt;br /&gt;
* tecnologie semantiche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C7&#039;&#039;&#039;, Buenos Aires, Argentina (&amp;lt;nowiki&amp;gt;http://www.continentesiete.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* modellazione e simulazione di sistemi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Accenture&#039;&#039;&#039;, Sophia Antipolis, Francia (&amp;lt;nowiki&amp;gt;http://www.accenture.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Whitestein&#039;&#039;&#039;, Zurigo, Svizzera (&amp;lt;nowiki&amp;gt;http://www.whitestein.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni ad agenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Università straniere:&#039;&#039;&#039;&lt;br /&gt;
* Groningen (NL)&lt;br /&gt;
* Napier University a Edimburgo (UK)&lt;br /&gt;
* Imperial College a Londra (UK)&lt;br /&gt;
* Bournemouth (UK)&lt;br /&gt;
* Università della Svizzera Italiana (CH)&lt;br /&gt;
* Savoia (F)&lt;br /&gt;
* Vienna (A)&lt;br /&gt;
* Victoria (CAN)&lt;br /&gt;
&lt;br /&gt;
Per informazioni sulle tesi rivolgersi al Prof. Giacomo Cabri ([mailto://Giacomo.cabri@unimore.it giacomo.cabri@unimore.it]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://web.archive.org/web/20220930190641/https://www.didattica.agentgroup.unimo.it/wiki/index.php/Tesi_Giacomo_Cabri Link] alla vecchia pagina archivio.&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=992</id>
		<title>Tesi Giacomo Cabri</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=992"/>
		<updated>2025-04-01T09:15:49Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Tesi per Laurea Magistrale */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sono disponibili delle [[Media:LineeGuidaTesi.pdf|linee guida]] per scrivere la tesi o l&#039;elaborato.&lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Magistrale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* implementazione di approcci in auto in sala 1:10&lt;br /&gt;
&lt;br /&gt;
=== Passaporto di prodotto digitale ===&lt;br /&gt;
&lt;br /&gt;
* modelli di passaporto digitale&lt;br /&gt;
* meccanismi di verifica delle caratteristiche del passaporto digitale&lt;br /&gt;
&lt;br /&gt;
=== Digital twin ===&lt;br /&gt;
&lt;br /&gt;
* astrazioni software di fabbriche fisiche&lt;br /&gt;
* interoperabilità tra macchinari e tra aziende&lt;br /&gt;
* coordinamento di obiettivi aziendali con gestione di macchinari&lt;br /&gt;
&lt;br /&gt;
=== Agenti software ===&lt;br /&gt;
&lt;br /&gt;
* metodologie e infrastrutture per lo sviluppo di applicazioni ad agenti&lt;br /&gt;
* modelli di interazione basati sui ruoli confronti tra diversi approcci o implementazioni a ruoli&lt;br /&gt;
* definizione di linee guida per lo sviluppo di applicazioni ad agenti basate sui ruoli&lt;br /&gt;
* infrastrutture e middleware per permettere agli agenti di assumere ruoli e di interagire&lt;br /&gt;
* estensione di infrastrutture esistenti&lt;br /&gt;
&lt;br /&gt;
=== Ambienti per agenti ===&lt;br /&gt;
&lt;br /&gt;
* gestione della fiducia per le interazioni tra agenti&lt;br /&gt;
* adattabilità degli agenti agli stimoli dell&#039;ambiente&lt;br /&gt;
* agenti per dispositivi mobili (vedi figura)&lt;br /&gt;
* interoperabilità tra sistemi ad agenti Java e quelli basati su altri linguaggi di programmazione&lt;br /&gt;
* studio di piattaforme ad agenti ad alte prestazioni&lt;br /&gt;
&lt;br /&gt;
=== Applicazioni ad agenti ===&lt;br /&gt;
&lt;br /&gt;
* agenti applicati all&#039;e-health (campo medico)&lt;br /&gt;
* agenti mobili per la gestione dei sistemi&lt;br /&gt;
* agenti mobili per trattare la sicurezza dei dati&lt;br /&gt;
* supporto alle visite ai beni culturali&lt;br /&gt;
* e-government&lt;br /&gt;
* agenti mobili per il supporto al green computing&lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Triennale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* gestione degli incroci&lt;br /&gt;
* gestione dei parcheggi&lt;br /&gt;
&lt;br /&gt;
=== Passaporto di prodotto digitale ===&lt;br /&gt;
&lt;br /&gt;
* app e applicazioni web per la gestione del passaporto digitale&lt;br /&gt;
* meccanismi di verifica delle caratteristiche del passaporto digitale&lt;br /&gt;
&lt;br /&gt;
=== Digital factory - Industry 4.0 ===&lt;br /&gt;
&lt;br /&gt;
* modelli software per le digital factory&lt;br /&gt;
* piattaforme software di supporto alle digital factory&lt;br /&gt;
&lt;br /&gt;
=== Sviluppo di applicazioni distribuite ===&lt;br /&gt;
&lt;br /&gt;
* giochi socialmente utili ([https://it.wikipedia.org/wiki/Gioco_con_uno_scopo Game With A purpose] site; Video YouTube)&lt;br /&gt;
* gestione di ospedali per Informatici senza frontiere&lt;br /&gt;
&lt;br /&gt;
== Tesi in azienda ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OTConsulting&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.otconsulting.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
* applicazioni Web&lt;br /&gt;
* ciclo di vita del software per sistemi embedded&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Infolog&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.infolog.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Implementazione di un framework in Android per la trasposizione di logiche RF (Radio Frequenza) attraverso interfacce smart e touch screen.&lt;br /&gt;
* Progettazione e implementazione di un tool per l’esecuzione automatica di unit test, al fine di rilevare la coerenza continua delle funzionalità di base del prodotto software di logistica proprietario&lt;br /&gt;
* Studio e implementazione di un algoritmo in grado di ottimizzare il posizionamento di oggetti su un bancale&lt;br /&gt;
* Progetto di visione artificiale in linguaggio Java&lt;br /&gt;
* Applicazione dei framework grafici Swing e JavaFX&lt;br /&gt;
* Progettazione e applicazione pratica di un algoritmo in Java&lt;br /&gt;
* Sviluppo di un algoritmo di Anomaly Detection in grado di rilevare malfunzionamenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Elettric80&#039;&#039;&#039;, Viano (RE) (&amp;lt;nowiki&amp;gt;http://www.elettric80.it/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Android di supporto alla GUI&lt;br /&gt;
* Sistema di gestione di dati distribuiti ed eterogenei&lt;br /&gt;
* Studio SW di un sistema di intralogistica&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Apex&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.apex.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Web&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TETRA PAK&#039;&#039;&#039; PACKAGING SOLUTIONS, Modena (&amp;lt;nowiki&amp;gt;http://www.tetrapak.com/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Developing of an ETL process and reporting (English knowledge is required)&lt;br /&gt;
* Developing of a dashboard for consumer behaviour insights (English knowledge is required)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CINECA&#039;&#039;&#039;, Bologna (&amp;lt;nowiki&amp;gt;https://www.cineca.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software di interfaccia client RCM (Remote Connection Manager)&lt;br /&gt;
* Sviluppo di un software per monitoraggio delle performance nell&#039;ambito del progetto CHECK (Cluster Health and Environment ChecKing system)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multitraccia&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.multitraccia.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo dell’evoluzione di un progetto esistente di gestionale aziendale in cloud per il controllo dei flussi produttivi&lt;br /&gt;
* Sviluppo di un progetto di evoluzione in versione webapp di un applicativo client/server&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AppAway&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://appaway.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Progettazione e realizzazione librerie di keywords componibili dedicate alla scrittura degli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione delle procedure di devops per ricostruire un ambiente su cui eseguire gli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione di un ambiente basato su Apache Mesos e DC/OS, predisposizione pipeline di deploy di un&#039;applicazione di esempio, comparazione con OpenShift e CloudFoundry&lt;br /&gt;
* Progettazione e realizzazione procedure di backup, stress e ripristino dell&#039;ambiente descritto nel del punto precedente&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Doxee&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.doxee.com/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Produzione documenti ad alte prestazioni in modalità batch: Analisi e sperimentazione delle funzionalità di Amazon Web Services Batch (&amp;lt;nowiki&amp;gt;https://aws.amazon.com/batch/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di applicazioni per la produzione di documenti personalizzati ad alte prestazioni.&lt;br /&gt;
* Produzione di documenti ad alte prestazioni in modalità on-demand: Analisi e sperimentazione delle funzionalità di Docker (&amp;lt;nowiki&amp;gt;https://www.docker.com/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di API REST finalizzate alla produzione di documenti ad alte prestazioni ed alta distribuzione in modalità on-demand.&lt;br /&gt;
* Multi-tenancy in applicazioni di calcolo ad alte prestazioni: Dato un sistema produttivo ad alte prestazioni caratterizzato da multi-tenancy (ovvero, applicazioni con diverse finalità che competono per l’utilizzo di risorse di sistema comuni), analisi e prototipazione di tecnologie per la protezione del sistema dal sovraccarico e uso anomalo della capacità produttiva.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dedalus&#039;&#039;&#039; (ex Eurosoft Informatica Medica), Modena (&amp;lt;nowiki&amp;gt;http://www.dedalus.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* software per ambito medico&lt;br /&gt;
* gestione delle prenotazioni visite&lt;br /&gt;
* gestione delle cartelle cliniche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DM Digital&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.dmdigital.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di app per Windows Phone e Windows RT che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di architettura database server scalabile e distribuita;&lt;br /&gt;
* Sviluppo di app per Kindle Fire HD che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di versione di libri digitali in-book compatibili con formato e-pub.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Axyon AI&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.axyon.ai/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di sistemi di integrazione con provider di dati finanziari, tramite l&#039;utilizzo di API dedicate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expert Systems&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertsystem.net/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sviluppo di una libreria a oggetti per la rappresentazione semantica dei concetti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GM Soft&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.gm-soft.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni VB.Net/SQL per l’automazione&lt;br /&gt;
* Applicazioni PHP/MySql&lt;br /&gt;
* Applicazioni Cloud e IoT&lt;br /&gt;
* Digital Forensic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LAPAM&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.lapam.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un portale di gestione degli eventi&lt;br /&gt;
* Sviluppo di un portale per la gestione della formazione&lt;br /&gt;
* Sviluppo di un portale di news&lt;br /&gt;
* Sviluppo di un sistema di creazione e gestione di voucher virtuali &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maserati&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.maserati.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione protocollo di comunicazione per simulazione virtuale&lt;br /&gt;
* Sviluppo di app per la gestione della membership, pagamento e tracciabilità asset per un progetto di Urban Mobility centrato su e-bikes&lt;br /&gt;
* Industrializzazione del software&lt;br /&gt;
* Amministrazione di archivi informativi tramite sharepoint&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Marketz&#039;&#039;&#039;, (&amp;lt;nowiki&amp;gt;https://www.marketz.eu&amp;lt;/nowiki&amp;gt;) &lt;br /&gt;
&lt;br /&gt;
* Implementazione/reingegnerizzazione web application (dettagli)&lt;br /&gt;
* Automatizzazione processi di business (dettagli)&lt;br /&gt;
* Business Intelligence applicata al trading energetico (dettagli)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Isotta Fraschini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.isottafraschini.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Blockchain platform project&lt;br /&gt;
* Certification of asset life-cycle tracking&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Agile telecom&#039;&#039;&#039;, Carpi&lt;br /&gt;
&lt;br /&gt;
* Studio di soluzioni di cloud computing&lt;br /&gt;
* Studio di soluzioni basate su microservizi&lt;br /&gt;
&#039;&#039;&#039;Reply&#039;&#039;&#039;, Torino (&amp;lt;nowiki&amp;gt;https://www.reply.com/cluster-reply/it/proposte-di-tesi-e-tirocini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Data mesh&lt;br /&gt;
* Piattaforme digital twin&lt;br /&gt;
* Analisi tramite NLP&lt;br /&gt;
* Analisi dei mondi virtuali&lt;br /&gt;
* Automazione della PA&lt;br /&gt;
* DevOps&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AVL&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.avl.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software per la gestione delle vendite in Visual Basic e Excel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DemaNet&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;https://www.demanet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software ERP&lt;br /&gt;
* Sviluppo di un software di gestione della produzione secondo le linee Industria 4.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Panini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.paninigroup.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione in ambiente di sviluppo Microsoft .Net, Visual Basic 6 e Java &lt;br /&gt;
* MS SQL Server&lt;br /&gt;
* Ambienti di Business Intelligence Business Obejcts e Decisyon&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CREDEMTEL&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.credemtel.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Fatturazione elettronica e l’E.D.I.&lt;br /&gt;
* Social platform per condividere progetti, idee e informazioni&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Web CRM con interfaccia tablet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rinnai&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.rinnai.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Implementazione su server aziendale di un software di ticketing a servizio dell’ufficio tecnico postvendita e call center aziendale; il software al momento identificato è OTRS, software Open Source in linguaggio Perl.&lt;br /&gt;
* Implementazione su server aziendale di un sistema di comunicazione fra CRM Sugar e Centralino Elastix per il riconoscimento delle telefonate entranti e loro gestione anche attraverso il software di ticketing OTRS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Servizio IT dell’Azienda Ospedaliero Universitaria di Modena (Policlinico)&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.policlinico.mo.it/home.html&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Analisi semantica del testo dei referti di specialistica ambulatoriale, tramite l&#039;utilizzo di umls rif. &amp;lt;nowiki&amp;gt;https://www.nlm.nih.gov/research/umls/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Interconnessione e scambio tra gli applicativi aziendali, delle anagrafiche popolazione residenti in Emilia Romagna, utilizzando lo standard fhir &amp;lt;nowiki&amp;gt;http://www.hl7.org/fhir/?ref=learnmore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Huddle Room Technology&#039;&#039;&#039;, Campogalliano (MO) (&amp;lt;nowiki&amp;gt;http://www.huddleroomtechnology.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicativi software per le piattaforme mobili (iOS/Android) e desktop (Windows/MacOSX) per l&#039;interazione con un dispositivo per videoconferenza&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;gruppo ECHO di OGS&#039;&#039;&#039;, Trieste (&amp;lt;nowiki&amp;gt;http://www.ogs.trieste.it/it/content/echo-modellistica-dei-sistemi-marini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Studio e implementazione di un memory model per l&#039;aumento della località dei dati per il Software Shyfem per lo studio di lagune&lt;br /&gt;
* Ottimizzazione del codice BFM5 standalone &lt;br /&gt;
* Inserimento della formulazione free surface nella parametrizzazione del trasposto orizzontale del codice OPATM&lt;br /&gt;
* Aumento della risoluzione del modello OPATM-BFM da 1/16 a 1/24&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sailing&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.sailingweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione di applicazioni Java&lt;br /&gt;
* Gestione di aspetti sistemistici come application server &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Twin Set&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.twinset.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione e gestione applicazioni web&lt;br /&gt;
* Gestione infrastruttura IT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Miliaris&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.miliaris.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Gestione distribuita di contenuti multimediali&lt;br /&gt;
* Applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Addiction&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.addiction.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sistemi di intranet aziendali&lt;br /&gt;
* Rich Internet Application&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MDLAB&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.mdlab-software.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di interfacce grafiche in ambiente JAVA per software di simulazione di dispositivi elettronici&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALIMAC&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://talimac.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di APP (sia su piattaforme iOS che Android)&lt;br /&gt;
* Soluzioni WEB (siti e gestionali)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kartha&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.kartha.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni di Workflow&lt;br /&gt;
* gestione documentale&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Xion&#039;&#039;&#039;, Scandiano, RE (&amp;lt;nowiki&amp;gt;http://www.xion-srl.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Software per automazione industriale&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Spikenet&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.spikenet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Marketing Automation (&amp;lt;nowiki&amp;gt;http://en.wikipedia.org/wiki/Marketing_automation&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* Prodotti Mobile per ambienti Apple / Android&lt;br /&gt;
* Sviluppo e personalizzazione di progetti basati su piattaforma eCommerce &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expertweb&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Soluzioni per ecommerce open-source&lt;br /&gt;
* requisiti, installazione e funzionalità, di CMS &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kyros&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.kyros.net/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Integrazione di tecnologie open source&lt;br /&gt;
* Sviluppo di CRM, Social CRM, Business Intelligence, Portali collaborativi, Social network integrati&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Freedom GmbH&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.freedomgmbh.de/en/home&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo e ampliamento sito internet&lt;br /&gt;
* Realizzazione programma per l’invio di newsletter&lt;br /&gt;
* Studio e pianificazione marketing aziendale, anche attraverso l’uso di social network&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Softintime&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.softintime.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Tecnologie avanzate per la gestione nel campo della moda&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perigeo&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.perigeo.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicazioni client-server e Web nell’ambito di progetti SAP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Joint Research Center&#039;&#039;&#039;, Ispra, MI (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Traineeships (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc/index.cfm?id=3720&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Comune di Carpi&#039;&#039;&#039; (&amp;lt;nowiki&amp;gt;http://www.carpidiem.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* informatizzazione dei servizi&lt;br /&gt;
* gestione delle procedure&lt;br /&gt;
* gestione del sistema informativo&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Musei civici di Reggio Emilia&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* supporto informatico alla visita dei musei tramite palmari&lt;br /&gt;
* supporto informatico alla visita della città&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;STMicroelectronics&#039;&#039;&#039;, Milano&lt;br /&gt;
&lt;br /&gt;
* sviluppo di applicazioni per l&#039;elettronica&lt;br /&gt;
&lt;br /&gt;
== Tesi all&#039;estero ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende estere possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Institute of Human and Machine Cognition&#039;&#039;&#039;, Pensacola, USA (&amp;lt;nowiki&amp;gt;http://www.ihmc.us&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sistemi distribuiti&lt;br /&gt;
* mobilità e coordinamento&lt;br /&gt;
* servizi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ABB Corporate Research Center&#039;&#039;&#039;, Ladenburg, Germania (&amp;lt;nowiki&amp;gt;http://www.abb.com/cawp/abbzh254/f7759f8b22a81780c1256b57004fb277.aspx&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni mobili (info)&lt;br /&gt;
* tecnologie semantiche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C7&#039;&#039;&#039;, Buenos Aires, Argentina (&amp;lt;nowiki&amp;gt;http://www.continentesiete.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* modellazione e simulazione di sistemi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Accenture&#039;&#039;&#039;, Sophia Antipolis, Francia (&amp;lt;nowiki&amp;gt;http://www.accenture.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Whitestein&#039;&#039;&#039;, Zurigo, Svizzera (&amp;lt;nowiki&amp;gt;http://www.whitestein.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni ad agenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Università straniere:&#039;&#039;&#039;&lt;br /&gt;
* Groningen (NL)&lt;br /&gt;
* Napier University a Edimburgo (UK)&lt;br /&gt;
* Imperial College a Londra (UK)&lt;br /&gt;
* Bournemouth (UK)&lt;br /&gt;
* Università della Svizzera Italiana (CH)&lt;br /&gt;
* Savoia (F)&lt;br /&gt;
* Vienna (A)&lt;br /&gt;
* Victoria (CAN)&lt;br /&gt;
&lt;br /&gt;
Per informazioni sulle tesi rivolgersi al Prof. Giacomo Cabri ([mailto://Giacomo.cabri@unimore.it giacomo.cabri@unimore.it]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://web.archive.org/web/20220930190641/https://www.didattica.agentgroup.unimo.it/wiki/index.php/Tesi_Giacomo_Cabri Link] alla vecchia pagina archivio.&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=991</id>
		<title>Tesi Giacomo Cabri</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=991"/>
		<updated>2025-04-01T09:15:13Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Tesi per Laurea Triennale */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sono disponibili delle [[Media:LineeGuidaTesi.pdf|linee guida]] per scrivere la tesi o l&#039;elaborato.&lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Magistrale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* implementazione di approcci in auto in sala 1:10&lt;br /&gt;
&lt;br /&gt;
=== Digital twin ===&lt;br /&gt;
&lt;br /&gt;
* astrazioni software di fabbriche fisiche&lt;br /&gt;
* interoperabilità tra macchinari e tra aziende&lt;br /&gt;
* coordinamento di obiettivi aziendali con gestione di macchinari&lt;br /&gt;
&lt;br /&gt;
=== Agenti software ===&lt;br /&gt;
&lt;br /&gt;
* metodologie e infrastrutture per lo sviluppo di applicazioni ad agenti&lt;br /&gt;
* modelli di interazione basati sui ruoli confronti tra diversi approcci o implementazioni a ruoli&lt;br /&gt;
* definizione di linee guida per lo sviluppo di applicazioni ad agenti basate sui ruoli&lt;br /&gt;
* infrastrutture e middleware per permettere agli agenti di assumere ruoli e di interagire&lt;br /&gt;
* estensione di infrastrutture esistenti&lt;br /&gt;
&lt;br /&gt;
=== Ambienti per agenti ===&lt;br /&gt;
&lt;br /&gt;
* gestione della fiducia per le interazioni tra agenti&lt;br /&gt;
* adattabilità degli agenti agli stimoli dell&#039;ambiente&lt;br /&gt;
* agenti per dispositivi mobili (vedi figura)&lt;br /&gt;
* interoperabilità tra sistemi ad agenti Java e quelli basati su altri linguaggi di programmazione&lt;br /&gt;
* studio di piattaforme ad agenti ad alte prestazioni&lt;br /&gt;
&lt;br /&gt;
=== Applicazioni ad agenti ===&lt;br /&gt;
&lt;br /&gt;
* agenti applicati all&#039;e-health (campo medico)&lt;br /&gt;
* agenti mobili per la gestione dei sistemi&lt;br /&gt;
* agenti mobili per trattare la sicurezza dei dati&lt;br /&gt;
* supporto alle visite ai beni culturali&lt;br /&gt;
* e-government&lt;br /&gt;
* agenti mobili per il supporto al green computing &lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Triennale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* gestione degli incroci&lt;br /&gt;
* gestione dei parcheggi&lt;br /&gt;
&lt;br /&gt;
=== Passaporto di prodotto digitale ===&lt;br /&gt;
&lt;br /&gt;
* app e applicazioni web per la gestione del passaporto digitale&lt;br /&gt;
* meccanismi di verifica delle caratteristiche del passaporto digitale&lt;br /&gt;
&lt;br /&gt;
=== Digital factory - Industry 4.0 ===&lt;br /&gt;
&lt;br /&gt;
* modelli software per le digital factory&lt;br /&gt;
* piattaforme software di supporto alle digital factory&lt;br /&gt;
&lt;br /&gt;
=== Sviluppo di applicazioni distribuite ===&lt;br /&gt;
&lt;br /&gt;
* giochi socialmente utili ([https://it.wikipedia.org/wiki/Gioco_con_uno_scopo Game With A purpose] site; Video YouTube)&lt;br /&gt;
* gestione di ospedali per Informatici senza frontiere&lt;br /&gt;
&lt;br /&gt;
== Tesi in azienda ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OTConsulting&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.otconsulting.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
* applicazioni Web&lt;br /&gt;
* ciclo di vita del software per sistemi embedded&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Infolog&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.infolog.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Implementazione di un framework in Android per la trasposizione di logiche RF (Radio Frequenza) attraverso interfacce smart e touch screen.&lt;br /&gt;
* Progettazione e implementazione di un tool per l’esecuzione automatica di unit test, al fine di rilevare la coerenza continua delle funzionalità di base del prodotto software di logistica proprietario&lt;br /&gt;
* Studio e implementazione di un algoritmo in grado di ottimizzare il posizionamento di oggetti su un bancale&lt;br /&gt;
* Progetto di visione artificiale in linguaggio Java&lt;br /&gt;
* Applicazione dei framework grafici Swing e JavaFX&lt;br /&gt;
* Progettazione e applicazione pratica di un algoritmo in Java&lt;br /&gt;
* Sviluppo di un algoritmo di Anomaly Detection in grado di rilevare malfunzionamenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Elettric80&#039;&#039;&#039;, Viano (RE) (&amp;lt;nowiki&amp;gt;http://www.elettric80.it/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Android di supporto alla GUI&lt;br /&gt;
* Sistema di gestione di dati distribuiti ed eterogenei&lt;br /&gt;
* Studio SW di un sistema di intralogistica&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Apex&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.apex.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Web&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TETRA PAK&#039;&#039;&#039; PACKAGING SOLUTIONS, Modena (&amp;lt;nowiki&amp;gt;http://www.tetrapak.com/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Developing of an ETL process and reporting (English knowledge is required)&lt;br /&gt;
* Developing of a dashboard for consumer behaviour insights (English knowledge is required)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CINECA&#039;&#039;&#039;, Bologna (&amp;lt;nowiki&amp;gt;https://www.cineca.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software di interfaccia client RCM (Remote Connection Manager)&lt;br /&gt;
* Sviluppo di un software per monitoraggio delle performance nell&#039;ambito del progetto CHECK (Cluster Health and Environment ChecKing system)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multitraccia&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.multitraccia.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo dell’evoluzione di un progetto esistente di gestionale aziendale in cloud per il controllo dei flussi produttivi&lt;br /&gt;
* Sviluppo di un progetto di evoluzione in versione webapp di un applicativo client/server&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AppAway&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://appaway.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Progettazione e realizzazione librerie di keywords componibili dedicate alla scrittura degli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione delle procedure di devops per ricostruire un ambiente su cui eseguire gli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione di un ambiente basato su Apache Mesos e DC/OS, predisposizione pipeline di deploy di un&#039;applicazione di esempio, comparazione con OpenShift e CloudFoundry&lt;br /&gt;
* Progettazione e realizzazione procedure di backup, stress e ripristino dell&#039;ambiente descritto nel del punto precedente&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Doxee&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.doxee.com/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Produzione documenti ad alte prestazioni in modalità batch: Analisi e sperimentazione delle funzionalità di Amazon Web Services Batch (&amp;lt;nowiki&amp;gt;https://aws.amazon.com/batch/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di applicazioni per la produzione di documenti personalizzati ad alte prestazioni.&lt;br /&gt;
* Produzione di documenti ad alte prestazioni in modalità on-demand: Analisi e sperimentazione delle funzionalità di Docker (&amp;lt;nowiki&amp;gt;https://www.docker.com/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di API REST finalizzate alla produzione di documenti ad alte prestazioni ed alta distribuzione in modalità on-demand.&lt;br /&gt;
* Multi-tenancy in applicazioni di calcolo ad alte prestazioni: Dato un sistema produttivo ad alte prestazioni caratterizzato da multi-tenancy (ovvero, applicazioni con diverse finalità che competono per l’utilizzo di risorse di sistema comuni), analisi e prototipazione di tecnologie per la protezione del sistema dal sovraccarico e uso anomalo della capacità produttiva.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dedalus&#039;&#039;&#039; (ex Eurosoft Informatica Medica), Modena (&amp;lt;nowiki&amp;gt;http://www.dedalus.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* software per ambito medico&lt;br /&gt;
* gestione delle prenotazioni visite&lt;br /&gt;
* gestione delle cartelle cliniche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DM Digital&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.dmdigital.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di app per Windows Phone e Windows RT che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di architettura database server scalabile e distribuita;&lt;br /&gt;
* Sviluppo di app per Kindle Fire HD che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di versione di libri digitali in-book compatibili con formato e-pub.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Axyon AI&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.axyon.ai/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di sistemi di integrazione con provider di dati finanziari, tramite l&#039;utilizzo di API dedicate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expert Systems&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertsystem.net/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sviluppo di una libreria a oggetti per la rappresentazione semantica dei concetti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GM Soft&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.gm-soft.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni VB.Net/SQL per l’automazione&lt;br /&gt;
* Applicazioni PHP/MySql&lt;br /&gt;
* Applicazioni Cloud e IoT&lt;br /&gt;
* Digital Forensic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LAPAM&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.lapam.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un portale di gestione degli eventi&lt;br /&gt;
* Sviluppo di un portale per la gestione della formazione&lt;br /&gt;
* Sviluppo di un portale di news&lt;br /&gt;
* Sviluppo di un sistema di creazione e gestione di voucher virtuali &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maserati&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.maserati.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione protocollo di comunicazione per simulazione virtuale&lt;br /&gt;
* Sviluppo di app per la gestione della membership, pagamento e tracciabilità asset per un progetto di Urban Mobility centrato su e-bikes&lt;br /&gt;
* Industrializzazione del software&lt;br /&gt;
* Amministrazione di archivi informativi tramite sharepoint&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Marketz&#039;&#039;&#039;, (&amp;lt;nowiki&amp;gt;https://www.marketz.eu&amp;lt;/nowiki&amp;gt;) &lt;br /&gt;
&lt;br /&gt;
* Implementazione/reingegnerizzazione web application (dettagli)&lt;br /&gt;
* Automatizzazione processi di business (dettagli)&lt;br /&gt;
* Business Intelligence applicata al trading energetico (dettagli)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Isotta Fraschini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.isottafraschini.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Blockchain platform project&lt;br /&gt;
* Certification of asset life-cycle tracking&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Agile telecom&#039;&#039;&#039;, Carpi&lt;br /&gt;
&lt;br /&gt;
* Studio di soluzioni di cloud computing&lt;br /&gt;
* Studio di soluzioni basate su microservizi&lt;br /&gt;
&#039;&#039;&#039;Reply&#039;&#039;&#039;, Torino (&amp;lt;nowiki&amp;gt;https://www.reply.com/cluster-reply/it/proposte-di-tesi-e-tirocini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Data mesh&lt;br /&gt;
* Piattaforme digital twin&lt;br /&gt;
* Analisi tramite NLP&lt;br /&gt;
* Analisi dei mondi virtuali&lt;br /&gt;
* Automazione della PA&lt;br /&gt;
* DevOps&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AVL&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.avl.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software per la gestione delle vendite in Visual Basic e Excel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DemaNet&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;https://www.demanet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software ERP&lt;br /&gt;
* Sviluppo di un software di gestione della produzione secondo le linee Industria 4.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Panini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.paninigroup.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione in ambiente di sviluppo Microsoft .Net, Visual Basic 6 e Java &lt;br /&gt;
* MS SQL Server&lt;br /&gt;
* Ambienti di Business Intelligence Business Obejcts e Decisyon&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CREDEMTEL&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.credemtel.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Fatturazione elettronica e l’E.D.I.&lt;br /&gt;
* Social platform per condividere progetti, idee e informazioni&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Web CRM con interfaccia tablet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rinnai&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.rinnai.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Implementazione su server aziendale di un software di ticketing a servizio dell’ufficio tecnico postvendita e call center aziendale; il software al momento identificato è OTRS, software Open Source in linguaggio Perl.&lt;br /&gt;
* Implementazione su server aziendale di un sistema di comunicazione fra CRM Sugar e Centralino Elastix per il riconoscimento delle telefonate entranti e loro gestione anche attraverso il software di ticketing OTRS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Servizio IT dell’Azienda Ospedaliero Universitaria di Modena (Policlinico)&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.policlinico.mo.it/home.html&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Analisi semantica del testo dei referti di specialistica ambulatoriale, tramite l&#039;utilizzo di umls rif. &amp;lt;nowiki&amp;gt;https://www.nlm.nih.gov/research/umls/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Interconnessione e scambio tra gli applicativi aziendali, delle anagrafiche popolazione residenti in Emilia Romagna, utilizzando lo standard fhir &amp;lt;nowiki&amp;gt;http://www.hl7.org/fhir/?ref=learnmore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Huddle Room Technology&#039;&#039;&#039;, Campogalliano (MO) (&amp;lt;nowiki&amp;gt;http://www.huddleroomtechnology.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicativi software per le piattaforme mobili (iOS/Android) e desktop (Windows/MacOSX) per l&#039;interazione con un dispositivo per videoconferenza&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;gruppo ECHO di OGS&#039;&#039;&#039;, Trieste (&amp;lt;nowiki&amp;gt;http://www.ogs.trieste.it/it/content/echo-modellistica-dei-sistemi-marini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Studio e implementazione di un memory model per l&#039;aumento della località dei dati per il Software Shyfem per lo studio di lagune&lt;br /&gt;
* Ottimizzazione del codice BFM5 standalone &lt;br /&gt;
* Inserimento della formulazione free surface nella parametrizzazione del trasposto orizzontale del codice OPATM&lt;br /&gt;
* Aumento della risoluzione del modello OPATM-BFM da 1/16 a 1/24&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sailing&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.sailingweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione di applicazioni Java&lt;br /&gt;
* Gestione di aspetti sistemistici come application server &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Twin Set&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.twinset.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione e gestione applicazioni web&lt;br /&gt;
* Gestione infrastruttura IT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Miliaris&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.miliaris.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Gestione distribuita di contenuti multimediali&lt;br /&gt;
* Applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Addiction&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.addiction.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sistemi di intranet aziendali&lt;br /&gt;
* Rich Internet Application&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MDLAB&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.mdlab-software.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di interfacce grafiche in ambiente JAVA per software di simulazione di dispositivi elettronici&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALIMAC&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://talimac.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di APP (sia su piattaforme iOS che Android)&lt;br /&gt;
* Soluzioni WEB (siti e gestionali)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kartha&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.kartha.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni di Workflow&lt;br /&gt;
* gestione documentale&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Xion&#039;&#039;&#039;, Scandiano, RE (&amp;lt;nowiki&amp;gt;http://www.xion-srl.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Software per automazione industriale&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Spikenet&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.spikenet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Marketing Automation (&amp;lt;nowiki&amp;gt;http://en.wikipedia.org/wiki/Marketing_automation&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* Prodotti Mobile per ambienti Apple / Android&lt;br /&gt;
* Sviluppo e personalizzazione di progetti basati su piattaforma eCommerce &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expertweb&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Soluzioni per ecommerce open-source&lt;br /&gt;
* requisiti, installazione e funzionalità, di CMS &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kyros&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.kyros.net/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Integrazione di tecnologie open source&lt;br /&gt;
* Sviluppo di CRM, Social CRM, Business Intelligence, Portali collaborativi, Social network integrati&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Freedom GmbH&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.freedomgmbh.de/en/home&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo e ampliamento sito internet&lt;br /&gt;
* Realizzazione programma per l’invio di newsletter&lt;br /&gt;
* Studio e pianificazione marketing aziendale, anche attraverso l’uso di social network&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Softintime&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.softintime.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Tecnologie avanzate per la gestione nel campo della moda&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perigeo&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.perigeo.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicazioni client-server e Web nell’ambito di progetti SAP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Joint Research Center&#039;&#039;&#039;, Ispra, MI (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Traineeships (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc/index.cfm?id=3720&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Comune di Carpi&#039;&#039;&#039; (&amp;lt;nowiki&amp;gt;http://www.carpidiem.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* informatizzazione dei servizi&lt;br /&gt;
* gestione delle procedure&lt;br /&gt;
* gestione del sistema informativo&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Musei civici di Reggio Emilia&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* supporto informatico alla visita dei musei tramite palmari&lt;br /&gt;
* supporto informatico alla visita della città&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;STMicroelectronics&#039;&#039;&#039;, Milano&lt;br /&gt;
&lt;br /&gt;
* sviluppo di applicazioni per l&#039;elettronica&lt;br /&gt;
&lt;br /&gt;
== Tesi all&#039;estero ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende estere possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Institute of Human and Machine Cognition&#039;&#039;&#039;, Pensacola, USA (&amp;lt;nowiki&amp;gt;http://www.ihmc.us&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sistemi distribuiti&lt;br /&gt;
* mobilità e coordinamento&lt;br /&gt;
* servizi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ABB Corporate Research Center&#039;&#039;&#039;, Ladenburg, Germania (&amp;lt;nowiki&amp;gt;http://www.abb.com/cawp/abbzh254/f7759f8b22a81780c1256b57004fb277.aspx&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni mobili (info)&lt;br /&gt;
* tecnologie semantiche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C7&#039;&#039;&#039;, Buenos Aires, Argentina (&amp;lt;nowiki&amp;gt;http://www.continentesiete.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* modellazione e simulazione di sistemi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Accenture&#039;&#039;&#039;, Sophia Antipolis, Francia (&amp;lt;nowiki&amp;gt;http://www.accenture.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Whitestein&#039;&#039;&#039;, Zurigo, Svizzera (&amp;lt;nowiki&amp;gt;http://www.whitestein.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni ad agenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Università straniere:&#039;&#039;&#039;&lt;br /&gt;
* Groningen (NL)&lt;br /&gt;
* Napier University a Edimburgo (UK)&lt;br /&gt;
* Imperial College a Londra (UK)&lt;br /&gt;
* Bournemouth (UK)&lt;br /&gt;
* Università della Svizzera Italiana (CH)&lt;br /&gt;
* Savoia (F)&lt;br /&gt;
* Vienna (A)&lt;br /&gt;
* Victoria (CAN)&lt;br /&gt;
&lt;br /&gt;
Per informazioni sulle tesi rivolgersi al Prof. Giacomo Cabri ([mailto://Giacomo.cabri@unimore.it giacomo.cabri@unimore.it]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://web.archive.org/web/20220930190641/https://www.didattica.agentgroup.unimo.it/wiki/index.php/Tesi_Giacomo_Cabri Link] alla vecchia pagina archivio.&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=990</id>
		<title>Tesi Giacomo Cabri</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Tesi_Giacomo_Cabri&amp;diff=990"/>
		<updated>2025-04-01T09:15:02Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Tesi per Laurea Triennale */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sono disponibili delle [[Media:LineeGuidaTesi.pdf|linee guida]] per scrivere la tesi o l&#039;elaborato.&lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Magistrale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* implementazione di approcci in auto in sala 1:10&lt;br /&gt;
&lt;br /&gt;
=== Digital twin ===&lt;br /&gt;
&lt;br /&gt;
* astrazioni software di fabbriche fisiche&lt;br /&gt;
* interoperabilità tra macchinari e tra aziende&lt;br /&gt;
* coordinamento di obiettivi aziendali con gestione di macchinari&lt;br /&gt;
&lt;br /&gt;
=== Agenti software ===&lt;br /&gt;
&lt;br /&gt;
* metodologie e infrastrutture per lo sviluppo di applicazioni ad agenti&lt;br /&gt;
* modelli di interazione basati sui ruoli confronti tra diversi approcci o implementazioni a ruoli&lt;br /&gt;
* definizione di linee guida per lo sviluppo di applicazioni ad agenti basate sui ruoli&lt;br /&gt;
* infrastrutture e middleware per permettere agli agenti di assumere ruoli e di interagire&lt;br /&gt;
* estensione di infrastrutture esistenti&lt;br /&gt;
&lt;br /&gt;
=== Ambienti per agenti ===&lt;br /&gt;
&lt;br /&gt;
* gestione della fiducia per le interazioni tra agenti&lt;br /&gt;
* adattabilità degli agenti agli stimoli dell&#039;ambiente&lt;br /&gt;
* agenti per dispositivi mobili (vedi figura)&lt;br /&gt;
* interoperabilità tra sistemi ad agenti Java e quelli basati su altri linguaggi di programmazione&lt;br /&gt;
* studio di piattaforme ad agenti ad alte prestazioni&lt;br /&gt;
&lt;br /&gt;
=== Applicazioni ad agenti ===&lt;br /&gt;
&lt;br /&gt;
* agenti applicati all&#039;e-health (campo medico)&lt;br /&gt;
* agenti mobili per la gestione dei sistemi&lt;br /&gt;
* agenti mobili per trattare la sicurezza dei dati&lt;br /&gt;
* supporto alle visite ai beni culturali&lt;br /&gt;
* e-government&lt;br /&gt;
* agenti mobili per il supporto al green computing &lt;br /&gt;
&lt;br /&gt;
== Tesi per Laurea Triennale ==&lt;br /&gt;
&lt;br /&gt;
=== Coordinamento di veicoli autonomi ===&lt;br /&gt;
&lt;br /&gt;
* algoritmi di coordinamento&lt;br /&gt;
* gestione degli incroci&lt;br /&gt;
* gestione dei parcheggi&lt;br /&gt;
&lt;br /&gt;
=== Passaporto di prodotto digitale ===&lt;br /&gt;
&lt;br /&gt;
* app e applicazioni web per la gestione del passaporto digitale&lt;br /&gt;
* meccanismi di verifica delle caratteristiche del passaporto digitale&lt;br /&gt;
&lt;br /&gt;
=== Digital factory - Industry 4.0 ===&lt;br /&gt;
&lt;br /&gt;
* modelli software per le digital factory&lt;br /&gt;
* piattaforme software di supporto alle digital factory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sviluppo di applicazioni distribuite ===&lt;br /&gt;
&lt;br /&gt;
* giochi socialmente utili ([https://it.wikipedia.org/wiki/Gioco_con_uno_scopo Game With A purpose] site; Video YouTube)&lt;br /&gt;
* gestione di ospedali per Informatici senza frontiere&lt;br /&gt;
&lt;br /&gt;
== Tesi in azienda ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OTConsulting&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.otconsulting.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
* applicazioni Web&lt;br /&gt;
* ciclo di vita del software per sistemi embedded&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Infolog&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.infolog.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Implementazione di un framework in Android per la trasposizione di logiche RF (Radio Frequenza) attraverso interfacce smart e touch screen.&lt;br /&gt;
* Progettazione e implementazione di un tool per l’esecuzione automatica di unit test, al fine di rilevare la coerenza continua delle funzionalità di base del prodotto software di logistica proprietario&lt;br /&gt;
* Studio e implementazione di un algoritmo in grado di ottimizzare il posizionamento di oggetti su un bancale&lt;br /&gt;
* Progetto di visione artificiale in linguaggio Java&lt;br /&gt;
* Applicazione dei framework grafici Swing e JavaFX&lt;br /&gt;
* Progettazione e applicazione pratica di un algoritmo in Java&lt;br /&gt;
* Sviluppo di un algoritmo di Anomaly Detection in grado di rilevare malfunzionamenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Elettric80&#039;&#039;&#039;, Viano (RE) (&amp;lt;nowiki&amp;gt;http://www.elettric80.it/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Android di supporto alla GUI&lt;br /&gt;
* Sistema di gestione di dati distribuiti ed eterogenei&lt;br /&gt;
* Studio SW di un sistema di intralogistica&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Apex&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.apex.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni Web&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TETRA PAK&#039;&#039;&#039; PACKAGING SOLUTIONS, Modena (&amp;lt;nowiki&amp;gt;http://www.tetrapak.com/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Developing of an ETL process and reporting (English knowledge is required)&lt;br /&gt;
* Developing of a dashboard for consumer behaviour insights (English knowledge is required)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CINECA&#039;&#039;&#039;, Bologna (&amp;lt;nowiki&amp;gt;https://www.cineca.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software di interfaccia client RCM (Remote Connection Manager)&lt;br /&gt;
* Sviluppo di un software per monitoraggio delle performance nell&#039;ambito del progetto CHECK (Cluster Health and Environment ChecKing system)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multitraccia&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.multitraccia.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo dell’evoluzione di un progetto esistente di gestionale aziendale in cloud per il controllo dei flussi produttivi&lt;br /&gt;
* Sviluppo di un progetto di evoluzione in versione webapp di un applicativo client/server&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AppAway&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://appaway.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Progettazione e realizzazione librerie di keywords componibili dedicate alla scrittura degli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione delle procedure di devops per ricostruire un ambiente su cui eseguire gli User Acceptance Test&lt;br /&gt;
* Progettazione e realizzazione di un ambiente basato su Apache Mesos e DC/OS, predisposizione pipeline di deploy di un&#039;applicazione di esempio, comparazione con OpenShift e CloudFoundry&lt;br /&gt;
* Progettazione e realizzazione procedure di backup, stress e ripristino dell&#039;ambiente descritto nel del punto precedente&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Doxee&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.doxee.com/it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Produzione documenti ad alte prestazioni in modalità batch: Analisi e sperimentazione delle funzionalità di Amazon Web Services Batch (&amp;lt;nowiki&amp;gt;https://aws.amazon.com/batch/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di applicazioni per la produzione di documenti personalizzati ad alte prestazioni.&lt;br /&gt;
* Produzione di documenti ad alte prestazioni in modalità on-demand: Analisi e sperimentazione delle funzionalità di Docker (&amp;lt;nowiki&amp;gt;https://www.docker.com/&amp;lt;/nowiki&amp;gt;) con sviluppo prototipale di API REST finalizzate alla produzione di documenti ad alte prestazioni ed alta distribuzione in modalità on-demand.&lt;br /&gt;
* Multi-tenancy in applicazioni di calcolo ad alte prestazioni: Dato un sistema produttivo ad alte prestazioni caratterizzato da multi-tenancy (ovvero, applicazioni con diverse finalità che competono per l’utilizzo di risorse di sistema comuni), analisi e prototipazione di tecnologie per la protezione del sistema dal sovraccarico e uso anomalo della capacità produttiva.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dedalus&#039;&#039;&#039; (ex Eurosoft Informatica Medica), Modena (&amp;lt;nowiki&amp;gt;http://www.dedalus.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* software per ambito medico&lt;br /&gt;
* gestione delle prenotazioni visite&lt;br /&gt;
* gestione delle cartelle cliniche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DM Digital&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.dmdigital.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di app per Windows Phone e Windows RT che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di architettura database server scalabile e distribuita;&lt;br /&gt;
* Sviluppo di app per Kindle Fire HD che si colleghi alla piattaforma Inbooki;&lt;br /&gt;
* Studio ed implementazione di versione di libri digitali in-book compatibili con formato e-pub.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Axyon AI&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.axyon.ai/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di sistemi di integrazione con provider di dati finanziari, tramite l&#039;utilizzo di API dedicate&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expert Systems&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertsystem.net/it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sviluppo di una libreria a oggetti per la rappresentazione semantica dei concetti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GM Soft&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.gm-soft.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Applicazioni VB.Net/SQL per l’automazione&lt;br /&gt;
* Applicazioni PHP/MySql&lt;br /&gt;
* Applicazioni Cloud e IoT&lt;br /&gt;
* Digital Forensic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LAPAM&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.lapam.eu/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un portale di gestione degli eventi&lt;br /&gt;
* Sviluppo di un portale per la gestione della formazione&lt;br /&gt;
* Sviluppo di un portale di news&lt;br /&gt;
* Sviluppo di un sistema di creazione e gestione di voucher virtuali &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maserati&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.maserati.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione protocollo di comunicazione per simulazione virtuale&lt;br /&gt;
* Sviluppo di app per la gestione della membership, pagamento e tracciabilità asset per un progetto di Urban Mobility centrato su e-bikes&lt;br /&gt;
* Industrializzazione del software&lt;br /&gt;
* Amministrazione di archivi informativi tramite sharepoint&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Marketz&#039;&#039;&#039;, (&amp;lt;nowiki&amp;gt;https://www.marketz.eu&amp;lt;/nowiki&amp;gt;) &lt;br /&gt;
&lt;br /&gt;
* Implementazione/reingegnerizzazione web application (dettagli)&lt;br /&gt;
* Automatizzazione processi di business (dettagli)&lt;br /&gt;
* Business Intelligence applicata al trading energetico (dettagli)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Isotta Fraschini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.isottafraschini.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Blockchain platform project&lt;br /&gt;
* Certification of asset life-cycle tracking&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Agile telecom&#039;&#039;&#039;, Carpi&lt;br /&gt;
&lt;br /&gt;
* Studio di soluzioni di cloud computing&lt;br /&gt;
* Studio di soluzioni basate su microservizi&lt;br /&gt;
&#039;&#039;&#039;Reply&#039;&#039;&#039;, Torino (&amp;lt;nowiki&amp;gt;https://www.reply.com/cluster-reply/it/proposte-di-tesi-e-tirocini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Data mesh&lt;br /&gt;
* Piattaforme digital twin&lt;br /&gt;
* Analisi tramite NLP&lt;br /&gt;
* Analisi dei mondi virtuali&lt;br /&gt;
* Automazione della PA&lt;br /&gt;
* DevOps&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AVL&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;https://www.avl.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software per la gestione delle vendite in Visual Basic e Excel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DemaNet&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;https://www.demanet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di un software ERP&lt;br /&gt;
* Sviluppo di un software di gestione della produzione secondo le linee Industria 4.0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Panini&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.paninigroup.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione in ambiente di sviluppo Microsoft .Net, Visual Basic 6 e Java &lt;br /&gt;
* MS SQL Server&lt;br /&gt;
* Ambienti di Business Intelligence Business Obejcts e Decisyon&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CREDEMTEL&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.credemtel.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Fatturazione elettronica e l’E.D.I.&lt;br /&gt;
* Social platform per condividere progetti, idee e informazioni&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Web CRM con interfaccia tablet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rinnai&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.rinnai.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Implementazione su server aziendale di un software di ticketing a servizio dell’ufficio tecnico postvendita e call center aziendale; il software al momento identificato è OTRS, software Open Source in linguaggio Perl.&lt;br /&gt;
* Implementazione su server aziendale di un sistema di comunicazione fra CRM Sugar e Centralino Elastix per il riconoscimento delle telefonate entranti e loro gestione anche attraverso il software di ticketing OTRS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Servizio IT dell’Azienda Ospedaliero Universitaria di Modena (Policlinico)&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.policlinico.mo.it/home.html&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Analisi semantica del testo dei referti di specialistica ambulatoriale, tramite l&#039;utilizzo di umls rif. &amp;lt;nowiki&amp;gt;https://www.nlm.nih.gov/research/umls/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Interconnessione e scambio tra gli applicativi aziendali, delle anagrafiche popolazione residenti in Emilia Romagna, utilizzando lo standard fhir &amp;lt;nowiki&amp;gt;http://www.hl7.org/fhir/?ref=learnmore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Huddle Room Technology&#039;&#039;&#039;, Campogalliano (MO) (&amp;lt;nowiki&amp;gt;http://www.huddleroomtechnology.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicativi software per le piattaforme mobili (iOS/Android) e desktop (Windows/MacOSX) per l&#039;interazione con un dispositivo per videoconferenza&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;gruppo ECHO di OGS&#039;&#039;&#039;, Trieste (&amp;lt;nowiki&amp;gt;http://www.ogs.trieste.it/it/content/echo-modellistica-dei-sistemi-marini&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Studio e implementazione di un memory model per l&#039;aumento della località dei dati per il Software Shyfem per lo studio di lagune&lt;br /&gt;
* Ottimizzazione del codice BFM5 standalone &lt;br /&gt;
* Inserimento della formulazione free surface nella parametrizzazione del trasposto orizzontale del codice OPATM&lt;br /&gt;
* Aumento della risoluzione del modello OPATM-BFM da 1/16 a 1/24&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sailing&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.sailingweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Programmazione di applicazioni Java&lt;br /&gt;
* Gestione di aspetti sistemistici come application server &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Twin Set&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.twinset.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Creazione e gestione applicazioni web&lt;br /&gt;
* Gestione infrastruttura IT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Miliaris&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.miliaris.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Gestione distribuita di contenuti multimediali&lt;br /&gt;
* Applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Addiction&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.addiction.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sistemi di intranet aziendali&lt;br /&gt;
* Rich Internet Application&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MDLAB&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://www.mdlab-software.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di interfacce grafiche in ambiente JAVA per software di simulazione di dispositivi elettronici&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALIMAC&#039;&#039;&#039;, Reggio Emilia (&amp;lt;nowiki&amp;gt;http://talimac.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di APP (sia su piattaforme iOS che Android)&lt;br /&gt;
* Soluzioni WEB (siti e gestionali)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kartha&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.kartha.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni di Workflow&lt;br /&gt;
* gestione documentale&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Xion&#039;&#039;&#039;, Scandiano, RE (&amp;lt;nowiki&amp;gt;http://www.xion-srl.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Software per automazione industriale&lt;br /&gt;
* Applicazioni per dispositivi mobili&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Spikenet&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.spikenet.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Marketing Automation (&amp;lt;nowiki&amp;gt;http://en.wikipedia.org/wiki/Marketing_automation&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* Prodotti Mobile per ambienti Apple / Android&lt;br /&gt;
* Sviluppo e personalizzazione di progetti basati su piattaforma eCommerce &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expertweb&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.expertweb.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Soluzioni per ecommerce open-source&lt;br /&gt;
* requisiti, installazione e funzionalità, di CMS &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kyros&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.kyros.net/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Integrazione di tecnologie open source&lt;br /&gt;
* Sviluppo di CRM, Social CRM, Business Intelligence, Portali collaborativi, Social network integrati&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Freedom GmbH&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.freedomgmbh.de/en/home&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo e ampliamento sito internet&lt;br /&gt;
* Realizzazione programma per l’invio di newsletter&lt;br /&gt;
* Studio e pianificazione marketing aziendale, anche attraverso l’uso di social network&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Softintime&#039;&#039;&#039;, Carpi (&amp;lt;nowiki&amp;gt;http://www.softintime.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Web marketing&lt;br /&gt;
* Tecnologie avanzate per la gestione nel campo della moda&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Perigeo&#039;&#039;&#039;, Modena (&amp;lt;nowiki&amp;gt;http://www.perigeo.it/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Sviluppo di applicazioni client-server e Web nell’ambito di progetti SAP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Joint Research Center&#039;&#039;&#039;, Ispra, MI (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* Traineeships (&amp;lt;nowiki&amp;gt;http://ec.europa.eu/dgs/jrc/index.cfm?id=3720&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Comune di Carpi&#039;&#039;&#039; (&amp;lt;nowiki&amp;gt;http://www.carpidiem.it&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* informatizzazione dei servizi&lt;br /&gt;
* gestione delle procedure&lt;br /&gt;
* gestione del sistema informativo&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Musei civici di Reggio Emilia&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* supporto informatico alla visita dei musei tramite palmari&lt;br /&gt;
* supporto informatico alla visita della città&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;STMicroelectronics&#039;&#039;&#039;, Milano&lt;br /&gt;
&lt;br /&gt;
* sviluppo di applicazioni per l&#039;elettronica&lt;br /&gt;
&lt;br /&gt;
== Tesi all&#039;estero ==&lt;br /&gt;
&#039;&#039;&#039;NOTA&#039;&#039;&#039;: i progetti delle aziende estere possono variare di mese in mese&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Institute of Human and Machine Cognition&#039;&#039;&#039;, Pensacola, USA (&amp;lt;nowiki&amp;gt;http://www.ihmc.us&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* sistemi distribuiti&lt;br /&gt;
* mobilità e coordinamento&lt;br /&gt;
* servizi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ABB Corporate Research Center&#039;&#039;&#039;, Ladenburg, Germania (&amp;lt;nowiki&amp;gt;http://www.abb.com/cawp/abbzh254/f7759f8b22a81780c1256b57004fb277.aspx&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni mobili (info)&lt;br /&gt;
* tecnologie semantiche&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C7&#039;&#039;&#039;, Buenos Aires, Argentina (&amp;lt;nowiki&amp;gt;http://www.continentesiete.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* modellazione e simulazione di sistemi distribuiti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Accenture&#039;&#039;&#039;, Sophia Antipolis, Francia (&amp;lt;nowiki&amp;gt;http://www.accenture.com&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni distribuite&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Whitestein&#039;&#039;&#039;, Zurigo, Svizzera (&amp;lt;nowiki&amp;gt;http://www.whitestein.com/&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* applicazioni ad agenti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Università straniere:&#039;&#039;&#039;&lt;br /&gt;
* Groningen (NL)&lt;br /&gt;
* Napier University a Edimburgo (UK)&lt;br /&gt;
* Imperial College a Londra (UK)&lt;br /&gt;
* Bournemouth (UK)&lt;br /&gt;
* Università della Svizzera Italiana (CH)&lt;br /&gt;
* Savoia (F)&lt;br /&gt;
* Vienna (A)&lt;br /&gt;
* Victoria (CAN)&lt;br /&gt;
&lt;br /&gt;
Per informazioni sulle tesi rivolgersi al Prof. Giacomo Cabri ([mailto://Giacomo.cabri@unimore.it giacomo.cabri@unimore.it]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://web.archive.org/web/20220930190641/https://www.didattica.agentgroup.unimo.it/wiki/index.php/Tesi_Giacomo_Cabri Link] alla vecchia pagina archivio.&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=949</id>
		<title>Programmazione ad Oggetti</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=949"/>
		<updated>2025-01-21T08:55:54Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Esame scritto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&lt;br /&gt;
{{/box-testata|News|}}&lt;br /&gt;
{{/Evidenza}}&lt;br /&gt;
{{/box-fondo|[[Europa|Leggi la voce...]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{Userboxtop&lt;br /&gt;
| align = right&lt;br /&gt;
| backgroundcolor = lightyellow&lt;br /&gt;
| bordercolor = black&lt;br /&gt;
| extra-css =&lt;br /&gt;
| textcolor = &lt;br /&gt;
| toptext = NEWS&lt;br /&gt;
&amp;lt;!-- All of the parameters are optional. --&amp;gt;&lt;br /&gt;
&amp;lt;!--}}&lt;br /&gt;
La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
([[Wikipedia:Userboxes|Userboxes]] inserted here)&lt;br /&gt;
{{userboxbottom}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Questa pagina fornisce il materiale didattico e le informazioni relative all&#039;insegnamento di &#039;&#039;&#039;Programmazione ad Oggetti (9 CFU)&#039;&#039;&#039; per il Corso di Laurea in &#039;&#039;&#039;Informatica&#039;&#039;&#039;  e per l&#039;insegnamento di &#039;&#039;&#039;Introduzione alla Programmazione ad Oggetti (6 CFU)&#039;&#039;&#039; a partire dall&#039;AA 2008/2009.&lt;br /&gt;
&lt;br /&gt;
Si veda [http://{{SERVERNAME}}/didattica/lpo/ questa pagina] per informazioni su:&lt;br /&gt;
*Programmazione ad Oggetti (6 CFU - 2007/08)&lt;br /&gt;
*Linguaggi per la Programmazione ad Oggetti (6 CFU - fino al 2006/2007)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
&lt;br /&gt;
==Ultime news==&lt;br /&gt;
   Le lezioni dell&#039;AA 2024/25 si svolgeranno in presenza a partire dal 25/9/2024.&lt;br /&gt;
&lt;br /&gt;
==Vecchie news==&lt;br /&gt;
&lt;br /&gt;
=== 2023/24 ===&lt;br /&gt;
 &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2023/24.&lt;br /&gt;
&lt;br /&gt;
 Le lezioni dell&#039;AA 2023/24 si svolgeranno in presenza a partire dal 27/9/2023.&lt;br /&gt;
&lt;br /&gt;
===2022/23===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2022/23.&lt;br /&gt;
  Le lezioni dell&#039;AA 2022/23 si svolgeranno in presenza a partire dal 28/9/2022.&lt;br /&gt;
&lt;br /&gt;
===2021/22===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2021/22&lt;br /&gt;
  Le lezioni dell&#039;AA 2021/22 si svolgeranno in presenza.&lt;br /&gt;
&lt;br /&gt;
===2020/21===&lt;br /&gt;
  Per l&#039;AA 2020/21 l&#039;esame scritto è sostituito dalla consegna anticipata del progetto.&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni dell&#039;AA 2020/21 si svolgeranno in modalità a distanza tramite la piattaforma Dolly (https://dolly.fim.unimore.it/2020)&lt;br /&gt;
&lt;br /&gt;
===2019/20===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 19/11/2019 si terr&amp;amp;agrave; alle 14 in aula L1.3.&lt;br /&gt;
  La lezione di venerd&amp;amp;igrave; 15/11/2019 non si terr&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
===2017/18===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Sono aperte le iscrizioni tramite ESSE3 al preppello scritto che si svolger&amp;amp;agrave; il 18 dicembre 2017 alle ore 8.45 in Aula M1.4.&lt;br /&gt;
&lt;br /&gt;
===2016/17===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
&lt;br /&gt;
===2015/16===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 29 settembre 2015 si terr&amp;amp;agrave; in aula M1.3 (Aula III) dalle 14 alle 17 invece che in laboratorio&lt;br /&gt;
  Il 21/12/15 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2014/15===&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; in aula M2.5 (ex aula X matematica) dalle 14 alle 17&lt;br /&gt;
  La mattina di luned&amp;amp;igrave; 1 dicembre 2014 sono sospese le lezioni per l&#039;inaugurazione dell&#039;anno accademico&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 24 novembre e mercoled&amp;amp;igrave; 26 novembre 2014 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 30 settembre 2014 si terr&amp;amp;agrave; in aula M1.5 (ex aula IV)&lt;br /&gt;
&lt;br /&gt;
===2013/14===&lt;br /&gt;
  Il 9/12/13 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 2/12/13 &amp;amp;egrave; spostata a marted&amp;amp;igrave; 2/12/13 al posto dell&#039;esercitazione&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 25/11/13 e mercoled&amp;amp;igrave; 27/11/13 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 24/9/13 si terr&amp;amp;agrave; in laboratorio BASE alle ore 14&lt;br /&gt;
&lt;br /&gt;
===2012/13===&lt;br /&gt;
  Il 12/12/12 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3, ma chi ha problemi puo&#039; mandare una email al docente entro il 9/12&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 21 novembre sar&amp;amp;agrave; sostituita da Linguaggi Formali e Compilatori del prof. Leoncini.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 2 ottobre si terr&amp;amp;agrave; in aula V.&lt;br /&gt;
  Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 a causa di un impegno all&#039;estero del docente.&lt;br /&gt;
&lt;br /&gt;
===2011/12===&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 7 dicembre si terr&amp;amp;agrave; regolarmente alle 11, l&#039;ing. Elton Domnori terr&amp;amp;agrave; un seminario sulla programmazione dei dispositivi mobili&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2011/12&lt;br /&gt;
  Luned&amp;amp;igrave; 5 dicembre si terr&amp;amp;agrave; il preappello scritto; &amp;amp;egrave; necessario iscriversi tramite ESSE3.&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 16 novembre &amp;amp;egrave; anticipata alle ore 9.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 7 novembre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 5 ottobre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 27 settembre si terr&amp;amp;agrave; in aula V e NON in laboratorio.&lt;br /&gt;
  &amp;amp;Egrave; stato definito l&#039;orario delle lezioni.&lt;br /&gt;
  Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011.&lt;br /&gt;
&lt;br /&gt;
===2010/11===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2010/11&lt;br /&gt;
  Le lezioni del mercoled&amp;amp;igrave; si tengono in aula V.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 21/12/10 si tiene in aula V&lt;br /&gt;
  Luned&amp;amp;igrave; 20 dicembre 2010 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto;&lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare, deve mandare una email al docente &lt;br /&gt;
  ENTRO venerd&amp;amp;igrave; 17/12 con nome, cognome e numero di matricola&lt;br /&gt;
  Le lezioni inizieranno l&#039;11 ottobre 2010.&lt;br /&gt;
&lt;br /&gt;
===2009/10===&lt;br /&gt;
  L&#039;esame scritto del 15 febbraio 2010 non si terr&amp;amp;agrave; per mancanza di iscritti&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 14/12/09&lt;br /&gt;
  &amp;amp;Egrave; disponibile una traccia del progetto da portare all&#039;esame&lt;br /&gt;
  L&#039;ultima lezione dell&#039;AA 2009/10 si terr&amp;amp;agrave; il 15 dicembre 2009&lt;br /&gt;
  Mercoled&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; una esercitazione sull&#039;esame scritto&lt;br /&gt;
  Luned&amp;amp;igrave; &#039;&#039;&#039;14 dicembre&#039;&#039;&#039; 2009 alle ore &#039;&#039;&#039;11&#039;&#039;&#039; in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto; &lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre 2009;&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 7 dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 1° dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;esercitazione del 30 settembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;appello scritto del 15 luglio 2009 non si terr&amp;amp;agrave; in quanto non c&#039;&amp;amp;egrave; nessun iscritto&lt;br /&gt;
  Venerd&amp;amp;igrave; 12 e sabato 13 giugno 2009 il sistema ESSE3 non sar&amp;amp;agrave; disponibile per iscriversi agli esami e neanche per compilare il questionario di valutazione&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 15/12/08&lt;br /&gt;
  Sono state pubblicate le date degli appelli della sessione straordinaria 2008/2009&lt;br /&gt;
  Sono disponibili alcuni esercizi per l&#039;appello scritto&lt;br /&gt;
  Luned&amp;amp;igrave; 15 dicembre 2008 si terr&amp;amp;agrave; un pre-appello scritto alle ore 11 in aula V a Matematica; per iscriversi contattare il docente&lt;br /&gt;
  I giorni 18 e 19 novembre 2008 non si svolgeranno le lezioni&lt;br /&gt;
  La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
  Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
&lt;br /&gt;
=Informazioni sul docente=&lt;br /&gt;
[[Image:docente.png|left|100px]]&lt;br /&gt;
&#039;&#039;&#039;[[Utente:Giacomo Cabri| Prof. Giacomo Cabri]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Università di Modena e Reggio Emilia, Via Campi 213/B - 41125 Modena&lt;br /&gt;
&lt;br /&gt;
Telefono 0592058320 - Fax 0592055216&lt;br /&gt;
&lt;br /&gt;
[mailto:giacomo.cabri@unimore.it giacomo.cabri@unimore.it]&lt;br /&gt;
&lt;br /&gt;
=Orario delle Lezioni=&lt;br /&gt;
&lt;br /&gt;
L&#039;orario ufficiale è riportato qui: [https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html]&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2023/24==&lt;br /&gt;
Le lezioni dell&#039;AA 2023/24 inizieranno il 25 settembre 2023 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2022/23==&lt;br /&gt;
Le lezioni dell&#039;AA 2022/23 inizieranno il 28 settembre 2022 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2021/22==&lt;br /&gt;
Le lezioni dell&#039;AA 2021/22 inizieranno il 20 settembre 2021 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula L1.3 presso Fisica&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2020/21==&lt;br /&gt;
Le lezioni dell&#039;AA 2020/21 inizieranno il 21 settembre 2020 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;grave; dalle 14 alle 17 a distanza&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2019/20==&lt;br /&gt;
Le lezioni dell&#039;AA 2019/20 inizieranno il 23 settembre 2019 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 10 alle 12 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 13 alle 16 in laboratorio BASE presso Matematica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 12 alle 14 in aula L1.3 presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2018/19==&lt;br /&gt;
Le lezioni dell&#039;AA 2018/19 inizieranno il 24 settembre 2018 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in laboratorio BASE presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.3 (ex aula III) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2017/18==&lt;br /&gt;
Le lezioni dell&#039;AA 2017/18 inizieranno il 25 settembre 2017 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2016/17==&lt;br /&gt;
Le lezioni dell&#039;AA 2016/17 inizieranno il 26 settembre 2016 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2015/16==&lt;br /&gt;
Le lezioni dell&#039;AA 2015/16 inizieranno il 28 settembre 2015 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2014/15==&lt;br /&gt;
Le lezioni dell&#039;AA 2014/15 avranno il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2013/14==&lt;br /&gt;
Le lezioni dell&#039;AA 2013/14 avranno  il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2012/13==&lt;br /&gt;
Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2011/12==&lt;br /&gt;
Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2010/11==&lt;br /&gt;
Le lezioni dell&#039;AA 2010/11 dovrebbero iniziare il 27 settembre 2010 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 9 alle 11 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2009/10==&lt;br /&gt;
Le lezioni dell&#039;AA 2009/10 inizieranno il 28 settembre 2009 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2008/09==&lt;br /&gt;
Le lezioni si tengono dal 29 settembre al 19 dicembre 2008 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
=Finalità Dell&#039;Insegnamento e Consigli Utili=&lt;br /&gt;
&lt;br /&gt;
L&#039;informatica odierna non consiste solo nel definire algoritmi e programmi che realizzano tali algoritmi, ma anche nel comporre architetture software e hardware sulla base di componenti software o hardware. Partendo da questo motivo dominante, l&#039;insegnamento affronta i seguenti argomenti:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;: verranno illustrati i concetti generali, quali incapsulamento, ereditarietà e polimorfismo; verranno accennati i concetti di riusabilità e di composizione dei componenti software, illustrando il passaggio dalla programmazione modulare alla programmazione ad oggetti.&lt;br /&gt;
* &#039;&#039;&#039;Il linguaggio Java&#039;&#039;&#039;: verrà utilizzato come esempio di linguaggio ad oggetti, spiegando come i concetti generali sono implementati in Java; verrà inoltre spiegato come Java può essere sfruttato per lo sviluppo di interfacce grafiche.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per superare agevolmente l&#039;esame si consiglia agli studenti di seguire con continuità le lezioni e le esercitazioni dell&#039;insegnamento. Inoltre, si consiglia di non focalizzare la preparazione dell&#039;esame esclusivamente sullo studio dei libri e degli appunti, ma piuttosto di preparare l&#039;esame sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l&#039;esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ambienti di Programmazione Utilizzati&#039;&#039;: Compilatore C, Java 1.5 di pubblico dominio (disponibili in laboratorio).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Programma dell&#039;insegnamento=&lt;br /&gt;
&#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;&lt;br /&gt;
*Concetti generali&lt;br /&gt;
*Il Linguaggio Java&lt;br /&gt;
*Classi ed ereditarietà in Java&lt;br /&gt;
*I/O in Java&lt;br /&gt;
*Interfacce grafiche in Java&lt;br /&gt;
*Programmazione basata sugli eventi&lt;br /&gt;
*Strutture dati in Java&lt;br /&gt;
*Thread in Java&lt;br /&gt;
&lt;br /&gt;
=Modalità D&#039;Esame=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21, a causa della situazione pandemica, la prova scritta è &#039;&#039;sostituita&#039;&#039; dalla consegna anticipata del progetto. Le conoscenze che precedentemente erano verificate tramite lo scritto, per il 2020/21 verranno verificate sul progetto realizzato.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame si compone di uno scritto e di una discussione di un programma in Java che lo studente deve presentare all&#039;esame (e la cui proposta di progetto deve essere stata preventivamente approvata dal docente). Per maggiori dettagli, vedere il seguito di questa pagina.&lt;br /&gt;
&lt;br /&gt;
==Esame scritto==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;:  nell&#039;AA 2020/21 non è prevista la prova scritta.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame scritto serve a verificare che lo studente abbia acquisito le nozioni di astrazione, classificazione, ereditarietà e polimorfismo.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame consiste nella modellazione di alcune entità e la relativa implementazione in Java.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; possibile vedere il testo di alcuni esercizi: &lt;br /&gt;
*[[Media:EserJava1.pdf|EserJava1]] (Calcolatrice)&lt;br /&gt;
*[[Media:EserJava2.pdf|EserJava2]] (Rettangolo)&lt;br /&gt;
*[[Media:EserJava3.pdf|EserJava3]] (Termometro)&lt;br /&gt;
*[[Media:EserJava4.pdf|EserJava4]] (Lettore da dispositivo) [[Media:SoluzioneEserJava4.pdf|SoluzioneEserJava4]]&lt;br /&gt;
*[[Media:EserJava5.pdf|EserJava5]] (Navigatore)&lt;br /&gt;
*[[Media:EserJava6.pdf|EserJava6]] (Particella)&lt;br /&gt;
*[[Media:EserJava7.pdf|EserJava7]] (Conto)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#per l&#039;iscrizione all&#039;esame scritto è necessario utilizzare &#039;&#039;&#039;ESSE3&#039;&#039;&#039; e iscriversi entro la scadenza (di norma 2-3 giorni prima dell&#039;appello scritto stesso, me &amp;amp;egrave; bene controllare su ESSE3); &lt;br /&gt;
#&amp;amp;egrave; necessario aver superato lo scritto per presentare il progetto;&lt;br /&gt;
#la presentazione del progetto pu&amp;amp;ograve; avvenire anche in un appello diverso da quello dello scritto;&lt;br /&gt;
#la consegna di uno scritto cancella il voto precedente; la partecipazione ad uno scritto &#039;&#039;senza&#039;&#039; consegnare non cancella il voto precedente;&lt;br /&gt;
#il voto dello scritto vale orientativamente 1 anno; contattare il docente entro l&#039;anno se non si riesce a presentare il progetto e si richiede una proroga della validit&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
==Modalità di Sviluppo del Progetto Java==&lt;br /&gt;
All&#039;esame si deve presentare e discutere un programma realizzato in Java e che presenti le seguenti caratteristiche:&lt;br /&gt;
&lt;br /&gt;
* Sia dotato di &#039;&#039;&#039;interfaccia grafica&#039;&#039;&#039; tramite cui interagire con il programma stesso.&lt;br /&gt;
* Sfrutti i meccanismi della programmazione ad oggetti: &lt;br /&gt;
**&#039;&#039;&#039;incapsulamento&#039;&#039;&#039;; &lt;br /&gt;
**&#039;&#039;&#039;ereditarietà&#039;&#039;&#039; e, se necessario, le classi astratte e le interfacce (si considerano &#039;&#039;&#039;escluse&#039;&#039;&#039; le relazioni di ereditarietà diretta da classi di libreria Java); &lt;br /&gt;
**&#039;&#039;&#039;polimorfismo&#039;&#039;&#039;.&lt;br /&gt;
* Sfrutti le classi di sistema Java per la gestione dell&#039;&#039;&#039;&#039;input/output&#039;&#039;&#039; (&amp;lt;tt&amp;gt;Reader&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Writer&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;InputStream&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;OutputStream&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Utilizzi le &#039;&#039;&#039;strutture dati&#039;&#039;&#039; di libreria e i &#039;&#039;&#039;generics&#039;&#039;&#039;, motivando le scelte fatte. &lt;br /&gt;
* Sia diviso coerente in &#039;&#039;&#039;package&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Gli studenti sono invitati a seguire la traccia fornita dal docente.&lt;br /&gt;
In casi particolari, uno studente pu&amp;amp;ograve; proporre una proporia traccia, che &#039;&#039;&#039;deve&#039;&#039;&#039; essere approvata dal docente (anche via email).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Il programma deve essere una applicazione Java e &#039;&#039;&#039;NON&#039;&#039;&#039; una applet. --&amp;gt;&lt;br /&gt;
Il programma deve essere eseguito da &#039;&#039;&#039;linea di comando&#039;&#039;&#039;; non devono essere usate librerie proprietarie (ad es. quelle degli ambienti integrati) a meno di averlo concordato con il docente.&lt;br /&gt;
È opportuno &#039;&#039;&#039;provare&#039;&#039;&#039; il proprio programma su un altro computer (ad es. in laboratorio) prima di presentarlo in sede d&#039;esame, per verificare la portabilità.&lt;br /&gt;
&lt;br /&gt;
Il software deve essere accompagnato da pagine di &#039;&#039;&#039;documentazione&#039;&#039;&#039; HTML (tipicamente le pagine generate tramite Javadoc o altri strumenti come Doxygen) che descrivano le scelte di progetto effettuate e la struttura del sistema software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- A progetto realizzato, si valuterà il progetto (e il voto conseguente), ferma restando la possibilità del docente (e dello studente) di richiedere l&#039;integrazione nel progetto di ulteriori funzionalità/caratteristiche. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il progetto va portato il giorno dell&#039;esame, su un supporto tipo chiavetta USB; portare anche il proprio PC per sicurezza. (&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21 il progetto va consegnato in anticipo).&lt;br /&gt;
&lt;br /&gt;
In casi eccezionali &amp;amp;egrave; possibile presentare progetti di gruppo (2 persone), posto che l&#039;ampiezza del progetto sia tale da giustificare il suo sviluppo cooperativo. In tale caso, comunque, la discussione sarà esplicitamente volta a valutare, per ciascuno dei componenti del gruppo, l&#039;effettiva padronanza d&#039;uso dei concetti di base della programmazione ad oggetti, del linguaggio Java e delle sue librerie Java, oltre naturalmente all&#039;apporto individuale dato al progetto globale da ogni singolo membro del gruppo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Problemi &#039;&#039;&#039;DA EVITARE&#039;&#039;&#039; in sede di esame:&lt;br /&gt;
*Il programma non funziona&lt;br /&gt;
*Manca qualcosa (di solito, la documentazione)&lt;br /&gt;
*Il progetto è diviso su pi&amp;amp;ugrave; programmi (eventualmente da concordare con il docente)&lt;br /&gt;
*L’ereditariet&amp;amp;agrave; &amp;amp;egrave; usata male&lt;br /&gt;
*&amp;quot;Non mi ricordo come funziona perch&amp;amp;eacute; ho fatto il programma tempo fa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Traccia ==&lt;br /&gt;
[[Image:tesina.png|right|90px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; disponibile il [[Media:Tesina2425.pdf| testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
Chi decide di svolgere il progetto proposto dalla traccia, non ha bisogno di approvazione.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2425.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2324.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2223.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2022/23.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2122.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2021/22.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2021.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2020/21.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1920.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2019/20.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1819.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2018/19.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1718.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2017/18.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1617.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2016/17.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1516.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2015/16.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1415.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2014/15.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1314.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2013/14.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1213.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2012/13.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1112.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2011/12.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1011.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2010/11.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina0910.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2009/10.&lt;br /&gt;
&lt;br /&gt;
=Appelli=&lt;br /&gt;
[[Image:iscrizione.png|90px|right]]&lt;br /&gt;
Le date degli appelli sono disponibili sul sito ESSE3 (http://www.esse3.unimore.it).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
del corso di laurea&lt;br /&gt;
all&#039;indirizzo&lt;br /&gt;
&lt;br /&gt;
http://informatica.scienze.unimo.it/lt/Esami.php&lt;br /&gt;
&lt;br /&gt;
Dall&#039;AA 2006/07 viene usata la verbalizzazione elettronica; chi vuole sostenere l&#039;esame DEVE quindi iscriversi tramite il [http://www.esse3.unimore.it sito di ESSE3].&lt;br /&gt;
&lt;br /&gt;
NOTA: sul sito di ESSE3 sono presenti le date degli appelli &#039;&#039;&#039;orali&#039;&#039;&#039;, per la presentazione dei progetto.&lt;br /&gt;
Per l&#039;iscrizione agli appelli &#039;&#039;&#039;scritti&#039;&#039;&#039; &amp;amp;egrave; necessario inviare una email al docente entro 2 giorni prima dell&#039;appello scritto stesso, usando l&#039;indirizzo email &#039;&#039;&#039;universitario&#039;&#039;&#039; e specificando &#039;&#039;&#039;nome&#039;&#039;&#039;, &#039;&#039;&#039;cognome&#039;&#039;&#039; e &#039;&#039;&#039;matricola&#039;&#039;&#039;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Preappello==&lt;br /&gt;
Luned&amp;amp;igrave; 14 dicembre 2009 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un preappello valido per l&#039;esame scritto.&lt;br /&gt;
&lt;br /&gt;
Chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre con nome, cognome e matricola.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Risultati=&lt;br /&gt;
&lt;br /&gt;
Da settembre 2011 i risultati vengono comunicati tramite ESSE3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[RisultatiPO|Risultati]] degli appelli scritti precedenti:&lt;br /&gt;
*16 febbraio 2011&lt;br /&gt;
*20 gennaio 2011&lt;br /&gt;
*20 dicembre 2010&lt;br /&gt;
*18 gennaio 2010&lt;br /&gt;
*14 dicembre 2009&lt;br /&gt;
*22 giugno 2009&lt;br /&gt;
*10 giugno 2009&lt;br /&gt;
*19 febbraio 2009&lt;br /&gt;
*14 gennaio 2009&lt;br /&gt;
*15 dicembre 2008&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Testi Consigliati=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testo Dell&#039;Insegnamento&#039;&#039;&#039;&lt;br /&gt;
[[Image:textbook.png|100px|right]]&lt;br /&gt;
*G. Cabri, F. Zambonelli, &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Altri Testi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* C.S. Horstmann, &amp;quot;Concetti di informatica e fondamenti di Java&amp;quot;, Apogeo.&lt;br /&gt;
* B. Eckel, &amp;quot;Thinking in Java&amp;quot;, 4 edizione italiana, Pearson, (scaricabile gratuitamente da Internet la versione inglese http://www.BruceEckel.com).&lt;br /&gt;
* Arnold, Gosling, Holmes, &amp;quot;Il linguaggio Java. Manuale ufficiale&amp;quot;, Pearson.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per chi vuole approfondire:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mazzanti, Milanese, &amp;quot;Programmazione di applicazioni grafiche in Java&amp;quot;, Apogeo.&lt;br /&gt;
* Gamma, Helm, Johnson, Vlissides, &amp;quot;Design Patterns&amp;quot;, Addison-Wesley.&lt;br /&gt;
* J.R. Hubbard, &amp;quot;Strutture dati in Java&amp;quot;, McGraw-Hill.&lt;br /&gt;
* M.A. Weiss, &amp;quot;Data Structures And Problem Solving Using Java&amp;quot;, 2nd Edition, Addison Wesley.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Slide Dell&#039;Insegnamento=&lt;br /&gt;
&lt;br /&gt;
Il materiale degli insegnamenti di Programmazione ad Oggetti e Introduzione alla Programmazione ad Oggetti &amp;amp;egrave; contenuto nel libro &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
In questa pagina sono riportate le slide usate a lezione.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IntroduzioneInsegnamentoPO.pdf| Introduzione all&#039;insegnamento]]&lt;br /&gt;
# [[Media:01-Motivazioni.pdf | Motivazioni]]&lt;br /&gt;
# [[Media:02-LimitiProgrammazioneTradizionale.pdf|Limiti della programmazione tradizionale]]&lt;br /&gt;
# [[Media:03-IntroOOP.pdf|Introduzione alla programmazione ad oggetti]]&lt;br /&gt;
# [[Media:04-IntroJava.pdf|Introduzione al linguaggio Java]]&lt;br /&gt;
# [[Media:05-OOPJava.pdf|OOP in Java]]&lt;br /&gt;
# [[Media:06-ClassiAstratteIntefacceJava.pdf|Classi astratte e interfacce]]&lt;br /&gt;
# [[Media:07-IOJava.pdf|I/O in Java]]&lt;br /&gt;
# [[Media:08-JavaGUI.pdf|GUI in Java]]&lt;br /&gt;
# [[Media:09-CostruttiAvanzatiJava.pdf|Costrutti avanzati Java]]&lt;br /&gt;
# [[Media:10-GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:11-StruttureDatiJava.pdf|Strutture dati in Java]]&lt;br /&gt;
# [[Media:12-ThreadJava.pdf|Thread in Java]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Vecchie slide&lt;br /&gt;
* [[index.php?title=Media:09-Applet.pdf|Applet in Java]] (fatte fino all&#039;AA 2015/16)&lt;br /&gt;
* [[index.php?title=Media:UML01-LinguaggioUML 1.pdf|UML (prima parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
* [[index.php?title=Media:UML02-LinguaggioUML 2.pdf|UML (seconda parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Media:Classi.pdf|Classi di memorizzazione in C]]&lt;br /&gt;
# [[Media:TabelleMenuLayout.pdf|Tabelle, menu e layout in Java]]&lt;br /&gt;
# [[Media:GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:NovitaJ2SE5.pdf|Novit&amp;amp;agrave; di Java 2 SE 5]]&lt;br /&gt;
&lt;br /&gt;
# [[Media:JavaClassAsInterfacce.pdf| Classi Astratte e Interfacce in Java]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seminari==&lt;br /&gt;
[[index.php?title=Media:SeminarioJavaInfolog2015.pdf|Seminario]] sull&#039;uso di Java in azienda (Infolog, 9/12/2015)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2017.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2017)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2018.pdf|Seminario]] su C# (Paolo Burgio, 3/12/2018)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2015.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2019) - [[index.php?title=Media:ConsoleApp4.zip|Codice]] presentato durante il seminario&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Esempi presentati a lezione =&lt;br /&gt;
[[Image:eserciziLezione.png|right]]&lt;br /&gt;
Gli esempi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma [http://www.adobe.com/it/ Adobe Acrobat], di pubblico domino, altri in semplice formato testo.&lt;br /&gt;
Tutti gli esercizi sono stati realizzati in collaborazione con la Prof. Letizia Leonardi.&lt;br /&gt;
&lt;br /&gt;
*[[index.php?title=Media:ContoCorrente.pdf|Conto corrente in C]]&lt;br /&gt;
*[[index.php?title=Media:IOBinario.pdf|I/O Binario]]&lt;br /&gt;
*[[index.php?title=Media:Calcolatrice.zip|Calcolatrice]]&lt;br /&gt;
*[[index.php?title=Media:GraficoFunzioni.zip|Grafico di funzioni]]&lt;br /&gt;
*[[index.php?title=Media:CampoStellare.zip|Campo stellare]]&lt;br /&gt;
&lt;br /&gt;
===Programmazione ad Oggetti e Java===&lt;br /&gt;
Gli esercizi sono gli stessi contenuti nei lucidi della parte teorica, ma da qui e&#039; possibile salvare su un file (facendo &amp;quot;salva link con nome&amp;quot;) il sorgente della gran parte degli esercizi.&lt;br /&gt;
&lt;br /&gt;
====Java: Le Classi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Classi&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=13|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:Counter.java|Counter.java]], [[index.php?title=Media:Esempio0.java|Esempio0.java]], [[index.php?title=Media:Esempio1.java|Esempio1.java]], [[index.php?title=Media:Esempio2.java|Esempio2.java]], [[index.php?title=Media:Esempio2bis.java|Esempio2bis.java]], [[index.php?title=Media:Esempio3.java|Esempio3.java]], [[index.php?title=Media:Esempio4.java|Esempio4.java]], [[index.php?title=Media:Esempio5.java|Esempio5.java]], [[index.php?title=Media:Esempio5bis.java|Esempio5bis.java]], [[index.php?title=Media:Esempio6.java|Esempio6.java]], [[index.php?title=Media:Esempio7.java|Esempio7.java]], [[index.php?title=Media:Point.java|Point.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Java: Classi Astratte e Interfacce====&lt;br /&gt;
====Java: Ereditarietà====&lt;br /&gt;
====Java: Le Eccezioni====&lt;br /&gt;
====Java: Input e Output====&lt;br /&gt;
====Java: Programmazione Grafica e ad Eventi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Grafica&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=36|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:CalcButton.java|CalcButton.java]], [[index.php?title=Media:CalcPanel.java|CalcPanel.java]], [[index.php?title=Media:Calculator.java|Calculator.java]], [[index.php?title=Media:Es10Panel.java|Es10Panel.java]], [[index.php?title=Media:Es11Panel.java|Es11Panel.java]], [[index.php?title=Media:Es12Panel.java|Es12Panel.java]], [[index.php?title=Media:Es13Panel.java|Es13Panel.java]], [[index.php?title=Media:Es14Panel.java|Es14Panel.java]], [[index.php?title=Media:Es15Panel.java|Es15Panel.java]], [[index.php?title=Media:Es16Panel.java|Es16Panel.java]], [[index.php?title=Media:Es7Panel.java|Es7Panel.java]], [[index.php?title=Media:Es8Panel.java|Es8Panel.java]], [[index.php?title=Media:Es9Panel.java|Es9Panel.java]], [[index.php?title=Media:EsSwing1.java|EsSwing1.java]], [[index.php?title=Media:EsSwing10.java|EsSwing10.java]], [[index.php?title=Media:EsSwing11.java|EsSwing11.java]], [[index.php?title=Media:EsSwing12.java|EsSwing12.java]], [[index.php?title=Media:EsSwing13.java|EsSwing13.java]], [[index.php?title=Media:EsSwing14.java|EsSwing14.java]], [[index.php?title=Media:EsSwing15.java|EsSwing15.java]], [[index.php?title=Media:EsSwing16.java|EsSwing16.java]], [[index.php?title=Media:EsSwing2.java|EsSwing2.java]], [[index.php?title=Media:EsSwing3.java|EsSwing3.java]], [[index.php?title=Media:EsSwing4.java|EsSwing4.java]], [[index.php?title=Media:EsSwing5.java|EsSwing5.java]], [[index.php?title=Media:EsSwing6.java|EsSwing6.java]], [[index.php?title=Media:EsSwing7.java|EsSwing7.java]], [[index.php?title=Media:EsSwing8.java|EsSwing8.java]], [[index.php?title=Media:EsSwing9.java|EsSwing9.java]], [[index.php?title=Media:EsSwingCalculator.java|EsSwingCalculator.java]], [[index.php?title=Media:FunctionPanel.java|FunctionPanel.java]], [[index.php?title=Media:ImgPanel.java|ImgPanel.java]], [[index.php?title=Media:MyFrame.java|MyFrame.java]], [[index.php?title=Media:MyPanel.java|MyPanel.java]], [[index.php?title=Media:Terminator.java|Terminator.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Java: Le Applet====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Applet&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=9|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Applet1.java|Applet1.java]], [[Media:Applet2.java|Applet2.java]], [[Media:Applet2Listener.java|Applet2Listener.java]], [[Media:Applet3.java|Applet3.java]], [[Media:Applet3Listener.java|Applet3Listener.java]], &lt;br /&gt;
[[Media:Applet4.java|Applet4.java]], [[Media:Applet5.java|Applet5.java]], [[Media:Application2.java|Application2.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Strumenti Software=&lt;br /&gt;
[[Image:strumenti.png|right]]&lt;br /&gt;
Si indicano di seguito gli strumenti software che si utilizzano durante l&#039;insegnamento e si indica dove e&#039; possibile reperirli.&lt;br /&gt;
&lt;br /&gt;
* Per sviluppare programmi in Java si utilizza il JDK (Java Development Kit). Si può scaricare:&lt;br /&gt;
**dal sito [https://www.oracle.com/java/technologies/downloads/ Java at Oracle]&lt;br /&gt;
**dal sito [https://openjdk.java.net OpenJDK]&lt;br /&gt;
* &#039;&#039;&#039;NOTA:&#039;&#039;&#039; &amp;amp;Egrave; necessario utilizzare una versione del JDK maggiore o uguale alla 1.5 (Java J2SE 5). Si consiglia almeno la versione 11.&lt;br /&gt;
&amp;lt;!--* Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio--&amp;gt;&lt;br /&gt;
* Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è [http://www.eclipse.org/ Eclipse].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
*È possibile, per la parte C soltanto, usare un ambiente di programmazione integrato per il C disponibile qui: [http://www.delorie.com/djgpp/ Il compilatore DJGPP]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Esercitazioni di laboratorio=&lt;br /&gt;
 &lt;br /&gt;
Gli esercizi di laboratorio si possono trovare nella seguente pagina: [[EserciziPO|Esercizi di Programmazione ad Oggetti]].&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=948</id>
		<title>Programmazione ad Oggetti</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=948"/>
		<updated>2025-01-21T08:55:14Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Esame scritto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&lt;br /&gt;
{{/box-testata|News|}}&lt;br /&gt;
{{/Evidenza}}&lt;br /&gt;
{{/box-fondo|[[Europa|Leggi la voce...]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{Userboxtop&lt;br /&gt;
| align = right&lt;br /&gt;
| backgroundcolor = lightyellow&lt;br /&gt;
| bordercolor = black&lt;br /&gt;
| extra-css =&lt;br /&gt;
| textcolor = &lt;br /&gt;
| toptext = NEWS&lt;br /&gt;
&amp;lt;!-- All of the parameters are optional. --&amp;gt;&lt;br /&gt;
&amp;lt;!--}}&lt;br /&gt;
La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
([[Wikipedia:Userboxes|Userboxes]] inserted here)&lt;br /&gt;
{{userboxbottom}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Questa pagina fornisce il materiale didattico e le informazioni relative all&#039;insegnamento di &#039;&#039;&#039;Programmazione ad Oggetti (9 CFU)&#039;&#039;&#039; per il Corso di Laurea in &#039;&#039;&#039;Informatica&#039;&#039;&#039;  e per l&#039;insegnamento di &#039;&#039;&#039;Introduzione alla Programmazione ad Oggetti (6 CFU)&#039;&#039;&#039; a partire dall&#039;AA 2008/2009.&lt;br /&gt;
&lt;br /&gt;
Si veda [http://{{SERVERNAME}}/didattica/lpo/ questa pagina] per informazioni su:&lt;br /&gt;
*Programmazione ad Oggetti (6 CFU - 2007/08)&lt;br /&gt;
*Linguaggi per la Programmazione ad Oggetti (6 CFU - fino al 2006/2007)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
&lt;br /&gt;
==Ultime news==&lt;br /&gt;
   Le lezioni dell&#039;AA 2024/25 si svolgeranno in presenza a partire dal 25/9/2024.&lt;br /&gt;
&lt;br /&gt;
==Vecchie news==&lt;br /&gt;
&lt;br /&gt;
=== 2023/24 ===&lt;br /&gt;
 &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2023/24.&lt;br /&gt;
&lt;br /&gt;
 Le lezioni dell&#039;AA 2023/24 si svolgeranno in presenza a partire dal 27/9/2023.&lt;br /&gt;
&lt;br /&gt;
===2022/23===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2022/23.&lt;br /&gt;
  Le lezioni dell&#039;AA 2022/23 si svolgeranno in presenza a partire dal 28/9/2022.&lt;br /&gt;
&lt;br /&gt;
===2021/22===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2021/22&lt;br /&gt;
  Le lezioni dell&#039;AA 2021/22 si svolgeranno in presenza.&lt;br /&gt;
&lt;br /&gt;
===2020/21===&lt;br /&gt;
  Per l&#039;AA 2020/21 l&#039;esame scritto è sostituito dalla consegna anticipata del progetto.&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni dell&#039;AA 2020/21 si svolgeranno in modalità a distanza tramite la piattaforma Dolly (https://dolly.fim.unimore.it/2020)&lt;br /&gt;
&lt;br /&gt;
===2019/20===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 19/11/2019 si terr&amp;amp;agrave; alle 14 in aula L1.3.&lt;br /&gt;
  La lezione di venerd&amp;amp;igrave; 15/11/2019 non si terr&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
===2017/18===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Sono aperte le iscrizioni tramite ESSE3 al preppello scritto che si svolger&amp;amp;agrave; il 18 dicembre 2017 alle ore 8.45 in Aula M1.4.&lt;br /&gt;
&lt;br /&gt;
===2016/17===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
&lt;br /&gt;
===2015/16===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 29 settembre 2015 si terr&amp;amp;agrave; in aula M1.3 (Aula III) dalle 14 alle 17 invece che in laboratorio&lt;br /&gt;
  Il 21/12/15 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2014/15===&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; in aula M2.5 (ex aula X matematica) dalle 14 alle 17&lt;br /&gt;
  La mattina di luned&amp;amp;igrave; 1 dicembre 2014 sono sospese le lezioni per l&#039;inaugurazione dell&#039;anno accademico&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 24 novembre e mercoled&amp;amp;igrave; 26 novembre 2014 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 30 settembre 2014 si terr&amp;amp;agrave; in aula M1.5 (ex aula IV)&lt;br /&gt;
&lt;br /&gt;
===2013/14===&lt;br /&gt;
  Il 9/12/13 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 2/12/13 &amp;amp;egrave; spostata a marted&amp;amp;igrave; 2/12/13 al posto dell&#039;esercitazione&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 25/11/13 e mercoled&amp;amp;igrave; 27/11/13 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 24/9/13 si terr&amp;amp;agrave; in laboratorio BASE alle ore 14&lt;br /&gt;
&lt;br /&gt;
===2012/13===&lt;br /&gt;
  Il 12/12/12 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3, ma chi ha problemi puo&#039; mandare una email al docente entro il 9/12&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 21 novembre sar&amp;amp;agrave; sostituita da Linguaggi Formali e Compilatori del prof. Leoncini.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 2 ottobre si terr&amp;amp;agrave; in aula V.&lt;br /&gt;
  Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 a causa di un impegno all&#039;estero del docente.&lt;br /&gt;
&lt;br /&gt;
===2011/12===&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 7 dicembre si terr&amp;amp;agrave; regolarmente alle 11, l&#039;ing. Elton Domnori terr&amp;amp;agrave; un seminario sulla programmazione dei dispositivi mobili&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2011/12&lt;br /&gt;
  Luned&amp;amp;igrave; 5 dicembre si terr&amp;amp;agrave; il preappello scritto; &amp;amp;egrave; necessario iscriversi tramite ESSE3.&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 16 novembre &amp;amp;egrave; anticipata alle ore 9.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 7 novembre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 5 ottobre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 27 settembre si terr&amp;amp;agrave; in aula V e NON in laboratorio.&lt;br /&gt;
  &amp;amp;Egrave; stato definito l&#039;orario delle lezioni.&lt;br /&gt;
  Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011.&lt;br /&gt;
&lt;br /&gt;
===2010/11===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2010/11&lt;br /&gt;
  Le lezioni del mercoled&amp;amp;igrave; si tengono in aula V.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 21/12/10 si tiene in aula V&lt;br /&gt;
  Luned&amp;amp;igrave; 20 dicembre 2010 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto;&lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare, deve mandare una email al docente &lt;br /&gt;
  ENTRO venerd&amp;amp;igrave; 17/12 con nome, cognome e numero di matricola&lt;br /&gt;
  Le lezioni inizieranno l&#039;11 ottobre 2010.&lt;br /&gt;
&lt;br /&gt;
===2009/10===&lt;br /&gt;
  L&#039;esame scritto del 15 febbraio 2010 non si terr&amp;amp;agrave; per mancanza di iscritti&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 14/12/09&lt;br /&gt;
  &amp;amp;Egrave; disponibile una traccia del progetto da portare all&#039;esame&lt;br /&gt;
  L&#039;ultima lezione dell&#039;AA 2009/10 si terr&amp;amp;agrave; il 15 dicembre 2009&lt;br /&gt;
  Mercoled&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; una esercitazione sull&#039;esame scritto&lt;br /&gt;
  Luned&amp;amp;igrave; &#039;&#039;&#039;14 dicembre&#039;&#039;&#039; 2009 alle ore &#039;&#039;&#039;11&#039;&#039;&#039; in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto; &lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre 2009;&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 7 dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 1° dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;esercitazione del 30 settembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;appello scritto del 15 luglio 2009 non si terr&amp;amp;agrave; in quanto non c&#039;&amp;amp;egrave; nessun iscritto&lt;br /&gt;
  Venerd&amp;amp;igrave; 12 e sabato 13 giugno 2009 il sistema ESSE3 non sar&amp;amp;agrave; disponibile per iscriversi agli esami e neanche per compilare il questionario di valutazione&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 15/12/08&lt;br /&gt;
  Sono state pubblicate le date degli appelli della sessione straordinaria 2008/2009&lt;br /&gt;
  Sono disponibili alcuni esercizi per l&#039;appello scritto&lt;br /&gt;
  Luned&amp;amp;igrave; 15 dicembre 2008 si terr&amp;amp;agrave; un pre-appello scritto alle ore 11 in aula V a Matematica; per iscriversi contattare il docente&lt;br /&gt;
  I giorni 18 e 19 novembre 2008 non si svolgeranno le lezioni&lt;br /&gt;
  La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
  Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
&lt;br /&gt;
=Informazioni sul docente=&lt;br /&gt;
[[Image:docente.png|left|100px]]&lt;br /&gt;
&#039;&#039;&#039;[[Utente:Giacomo Cabri| Prof. Giacomo Cabri]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Università di Modena e Reggio Emilia, Via Campi 213/B - 41125 Modena&lt;br /&gt;
&lt;br /&gt;
Telefono 0592058320 - Fax 0592055216&lt;br /&gt;
&lt;br /&gt;
[mailto:giacomo.cabri@unimore.it giacomo.cabri@unimore.it]&lt;br /&gt;
&lt;br /&gt;
=Orario delle Lezioni=&lt;br /&gt;
&lt;br /&gt;
L&#039;orario ufficiale è riportato qui: [https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html]&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2023/24==&lt;br /&gt;
Le lezioni dell&#039;AA 2023/24 inizieranno il 25 settembre 2023 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2022/23==&lt;br /&gt;
Le lezioni dell&#039;AA 2022/23 inizieranno il 28 settembre 2022 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2021/22==&lt;br /&gt;
Le lezioni dell&#039;AA 2021/22 inizieranno il 20 settembre 2021 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula L1.3 presso Fisica&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2020/21==&lt;br /&gt;
Le lezioni dell&#039;AA 2020/21 inizieranno il 21 settembre 2020 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;grave; dalle 14 alle 17 a distanza&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2019/20==&lt;br /&gt;
Le lezioni dell&#039;AA 2019/20 inizieranno il 23 settembre 2019 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 10 alle 12 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 13 alle 16 in laboratorio BASE presso Matematica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 12 alle 14 in aula L1.3 presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2018/19==&lt;br /&gt;
Le lezioni dell&#039;AA 2018/19 inizieranno il 24 settembre 2018 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in laboratorio BASE presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.3 (ex aula III) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2017/18==&lt;br /&gt;
Le lezioni dell&#039;AA 2017/18 inizieranno il 25 settembre 2017 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2016/17==&lt;br /&gt;
Le lezioni dell&#039;AA 2016/17 inizieranno il 26 settembre 2016 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2015/16==&lt;br /&gt;
Le lezioni dell&#039;AA 2015/16 inizieranno il 28 settembre 2015 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2014/15==&lt;br /&gt;
Le lezioni dell&#039;AA 2014/15 avranno il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2013/14==&lt;br /&gt;
Le lezioni dell&#039;AA 2013/14 avranno  il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2012/13==&lt;br /&gt;
Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2011/12==&lt;br /&gt;
Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2010/11==&lt;br /&gt;
Le lezioni dell&#039;AA 2010/11 dovrebbero iniziare il 27 settembre 2010 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 9 alle 11 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2009/10==&lt;br /&gt;
Le lezioni dell&#039;AA 2009/10 inizieranno il 28 settembre 2009 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2008/09==&lt;br /&gt;
Le lezioni si tengono dal 29 settembre al 19 dicembre 2008 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
=Finalità Dell&#039;Insegnamento e Consigli Utili=&lt;br /&gt;
&lt;br /&gt;
L&#039;informatica odierna non consiste solo nel definire algoritmi e programmi che realizzano tali algoritmi, ma anche nel comporre architetture software e hardware sulla base di componenti software o hardware. Partendo da questo motivo dominante, l&#039;insegnamento affronta i seguenti argomenti:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;: verranno illustrati i concetti generali, quali incapsulamento, ereditarietà e polimorfismo; verranno accennati i concetti di riusabilità e di composizione dei componenti software, illustrando il passaggio dalla programmazione modulare alla programmazione ad oggetti.&lt;br /&gt;
* &#039;&#039;&#039;Il linguaggio Java&#039;&#039;&#039;: verrà utilizzato come esempio di linguaggio ad oggetti, spiegando come i concetti generali sono implementati in Java; verrà inoltre spiegato come Java può essere sfruttato per lo sviluppo di interfacce grafiche.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per superare agevolmente l&#039;esame si consiglia agli studenti di seguire con continuità le lezioni e le esercitazioni dell&#039;insegnamento. Inoltre, si consiglia di non focalizzare la preparazione dell&#039;esame esclusivamente sullo studio dei libri e degli appunti, ma piuttosto di preparare l&#039;esame sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l&#039;esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ambienti di Programmazione Utilizzati&#039;&#039;: Compilatore C, Java 1.5 di pubblico dominio (disponibili in laboratorio).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Programma dell&#039;insegnamento=&lt;br /&gt;
&#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;&lt;br /&gt;
*Concetti generali&lt;br /&gt;
*Il Linguaggio Java&lt;br /&gt;
*Classi ed ereditarietà in Java&lt;br /&gt;
*I/O in Java&lt;br /&gt;
*Interfacce grafiche in Java&lt;br /&gt;
*Programmazione basata sugli eventi&lt;br /&gt;
*Strutture dati in Java&lt;br /&gt;
*Thread in Java&lt;br /&gt;
&lt;br /&gt;
=Modalità D&#039;Esame=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21, a causa della situazione pandemica, la prova scritta è &#039;&#039;sostituita&#039;&#039; dalla consegna anticipata del progetto. Le conoscenze che precedentemente erano verificate tramite lo scritto, per il 2020/21 verranno verificate sul progetto realizzato.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame si compone di uno scritto e di una discussione di un programma in Java che lo studente deve presentare all&#039;esame (e la cui proposta di progetto deve essere stata preventivamente approvata dal docente). Per maggiori dettagli, vedere il seguito di questa pagina.&lt;br /&gt;
&lt;br /&gt;
==Esame scritto==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;:  nell&#039;AA 2020/21 non è prevista la prova scritta.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame scritto serve a verificare che lo studente abbia acquisito le nozioni di astrazione, classificazione, ereditarietà e polimorfismo.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame consiste nella modellazione di alcune entità e la relativa implementazione in Java.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; possibile vedere il testo di alcuni esercizi: &lt;br /&gt;
*[[Media:EserJava1.pdf|EserJava1]] (Calcolatrice)&lt;br /&gt;
*[[Media:EserJava2.pdf|EserJava2]] (Rettangolo)&lt;br /&gt;
*[[Media:EserJava3.pdf|EserJava3]] (Termometro)&lt;br /&gt;
*[[Media:EserJava4.pdf|EserJava4]] (Lettore da dispositivo) [[Media:SoluzioneEserJava4.pdf|SoluzioneEserJava4]]&lt;br /&gt;
*[[Media:EserJava5.pdf|EserJava5]] &lt;br /&gt;
*[[Media:EserJava6.pdf|EserJava6]] &lt;br /&gt;
*[[Media:EserJava7.pdf|EserJava7]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#per l&#039;iscrizione all&#039;esame scritto è necessario utilizzare &#039;&#039;&#039;ESSE3&#039;&#039;&#039; e iscriversi entro la scadenza (di norma 2-3 giorni prima dell&#039;appello scritto stesso, me &amp;amp;egrave; bene controllare su ESSE3); &lt;br /&gt;
#&amp;amp;egrave; necessario aver superato lo scritto per presentare il progetto;&lt;br /&gt;
#la presentazione del progetto pu&amp;amp;ograve; avvenire anche in un appello diverso da quello dello scritto;&lt;br /&gt;
#la consegna di uno scritto cancella il voto precedente; la partecipazione ad uno scritto &#039;&#039;senza&#039;&#039; consegnare non cancella il voto precedente;&lt;br /&gt;
#il voto dello scritto vale orientativamente 1 anno; contattare il docente entro l&#039;anno se non si riesce a presentare il progetto e si richiede una proroga della validit&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
==Modalità di Sviluppo del Progetto Java==&lt;br /&gt;
All&#039;esame si deve presentare e discutere un programma realizzato in Java e che presenti le seguenti caratteristiche:&lt;br /&gt;
&lt;br /&gt;
* Sia dotato di &#039;&#039;&#039;interfaccia grafica&#039;&#039;&#039; tramite cui interagire con il programma stesso.&lt;br /&gt;
* Sfrutti i meccanismi della programmazione ad oggetti: &lt;br /&gt;
**&#039;&#039;&#039;incapsulamento&#039;&#039;&#039;; &lt;br /&gt;
**&#039;&#039;&#039;ereditarietà&#039;&#039;&#039; e, se necessario, le classi astratte e le interfacce (si considerano &#039;&#039;&#039;escluse&#039;&#039;&#039; le relazioni di ereditarietà diretta da classi di libreria Java); &lt;br /&gt;
**&#039;&#039;&#039;polimorfismo&#039;&#039;&#039;.&lt;br /&gt;
* Sfrutti le classi di sistema Java per la gestione dell&#039;&#039;&#039;&#039;input/output&#039;&#039;&#039; (&amp;lt;tt&amp;gt;Reader&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Writer&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;InputStream&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;OutputStream&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Utilizzi le &#039;&#039;&#039;strutture dati&#039;&#039;&#039; di libreria e i &#039;&#039;&#039;generics&#039;&#039;&#039;, motivando le scelte fatte. &lt;br /&gt;
* Sia diviso coerente in &#039;&#039;&#039;package&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Gli studenti sono invitati a seguire la traccia fornita dal docente.&lt;br /&gt;
In casi particolari, uno studente pu&amp;amp;ograve; proporre una proporia traccia, che &#039;&#039;&#039;deve&#039;&#039;&#039; essere approvata dal docente (anche via email).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Il programma deve essere una applicazione Java e &#039;&#039;&#039;NON&#039;&#039;&#039; una applet. --&amp;gt;&lt;br /&gt;
Il programma deve essere eseguito da &#039;&#039;&#039;linea di comando&#039;&#039;&#039;; non devono essere usate librerie proprietarie (ad es. quelle degli ambienti integrati) a meno di averlo concordato con il docente.&lt;br /&gt;
È opportuno &#039;&#039;&#039;provare&#039;&#039;&#039; il proprio programma su un altro computer (ad es. in laboratorio) prima di presentarlo in sede d&#039;esame, per verificare la portabilità.&lt;br /&gt;
&lt;br /&gt;
Il software deve essere accompagnato da pagine di &#039;&#039;&#039;documentazione&#039;&#039;&#039; HTML (tipicamente le pagine generate tramite Javadoc o altri strumenti come Doxygen) che descrivano le scelte di progetto effettuate e la struttura del sistema software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- A progetto realizzato, si valuterà il progetto (e il voto conseguente), ferma restando la possibilità del docente (e dello studente) di richiedere l&#039;integrazione nel progetto di ulteriori funzionalità/caratteristiche. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il progetto va portato il giorno dell&#039;esame, su un supporto tipo chiavetta USB; portare anche il proprio PC per sicurezza. (&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21 il progetto va consegnato in anticipo).&lt;br /&gt;
&lt;br /&gt;
In casi eccezionali &amp;amp;egrave; possibile presentare progetti di gruppo (2 persone), posto che l&#039;ampiezza del progetto sia tale da giustificare il suo sviluppo cooperativo. In tale caso, comunque, la discussione sarà esplicitamente volta a valutare, per ciascuno dei componenti del gruppo, l&#039;effettiva padronanza d&#039;uso dei concetti di base della programmazione ad oggetti, del linguaggio Java e delle sue librerie Java, oltre naturalmente all&#039;apporto individuale dato al progetto globale da ogni singolo membro del gruppo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Problemi &#039;&#039;&#039;DA EVITARE&#039;&#039;&#039; in sede di esame:&lt;br /&gt;
*Il programma non funziona&lt;br /&gt;
*Manca qualcosa (di solito, la documentazione)&lt;br /&gt;
*Il progetto è diviso su pi&amp;amp;ugrave; programmi (eventualmente da concordare con il docente)&lt;br /&gt;
*L’ereditariet&amp;amp;agrave; &amp;amp;egrave; usata male&lt;br /&gt;
*&amp;quot;Non mi ricordo come funziona perch&amp;amp;eacute; ho fatto il programma tempo fa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Traccia ==&lt;br /&gt;
[[Image:tesina.png|right|90px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; disponibile il [[Media:Tesina2425.pdf| testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
Chi decide di svolgere il progetto proposto dalla traccia, non ha bisogno di approvazione.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2425.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2324.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2223.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2022/23.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2122.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2021/22.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2021.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2020/21.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1920.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2019/20.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1819.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2018/19.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1718.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2017/18.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1617.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2016/17.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1516.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2015/16.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1415.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2014/15.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1314.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2013/14.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1213.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2012/13.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1112.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2011/12.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1011.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2010/11.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina0910.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2009/10.&lt;br /&gt;
&lt;br /&gt;
=Appelli=&lt;br /&gt;
[[Image:iscrizione.png|90px|right]]&lt;br /&gt;
Le date degli appelli sono disponibili sul sito ESSE3 (http://www.esse3.unimore.it).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
del corso di laurea&lt;br /&gt;
all&#039;indirizzo&lt;br /&gt;
&lt;br /&gt;
http://informatica.scienze.unimo.it/lt/Esami.php&lt;br /&gt;
&lt;br /&gt;
Dall&#039;AA 2006/07 viene usata la verbalizzazione elettronica; chi vuole sostenere l&#039;esame DEVE quindi iscriversi tramite il [http://www.esse3.unimore.it sito di ESSE3].&lt;br /&gt;
&lt;br /&gt;
NOTA: sul sito di ESSE3 sono presenti le date degli appelli &#039;&#039;&#039;orali&#039;&#039;&#039;, per la presentazione dei progetto.&lt;br /&gt;
Per l&#039;iscrizione agli appelli &#039;&#039;&#039;scritti&#039;&#039;&#039; &amp;amp;egrave; necessario inviare una email al docente entro 2 giorni prima dell&#039;appello scritto stesso, usando l&#039;indirizzo email &#039;&#039;&#039;universitario&#039;&#039;&#039; e specificando &#039;&#039;&#039;nome&#039;&#039;&#039;, &#039;&#039;&#039;cognome&#039;&#039;&#039; e &#039;&#039;&#039;matricola&#039;&#039;&#039;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Preappello==&lt;br /&gt;
Luned&amp;amp;igrave; 14 dicembre 2009 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un preappello valido per l&#039;esame scritto.&lt;br /&gt;
&lt;br /&gt;
Chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre con nome, cognome e matricola.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Risultati=&lt;br /&gt;
&lt;br /&gt;
Da settembre 2011 i risultati vengono comunicati tramite ESSE3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[RisultatiPO|Risultati]] degli appelli scritti precedenti:&lt;br /&gt;
*16 febbraio 2011&lt;br /&gt;
*20 gennaio 2011&lt;br /&gt;
*20 dicembre 2010&lt;br /&gt;
*18 gennaio 2010&lt;br /&gt;
*14 dicembre 2009&lt;br /&gt;
*22 giugno 2009&lt;br /&gt;
*10 giugno 2009&lt;br /&gt;
*19 febbraio 2009&lt;br /&gt;
*14 gennaio 2009&lt;br /&gt;
*15 dicembre 2008&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Testi Consigliati=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testo Dell&#039;Insegnamento&#039;&#039;&#039;&lt;br /&gt;
[[Image:textbook.png|100px|right]]&lt;br /&gt;
*G. Cabri, F. Zambonelli, &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Altri Testi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* C.S. Horstmann, &amp;quot;Concetti di informatica e fondamenti di Java&amp;quot;, Apogeo.&lt;br /&gt;
* B. Eckel, &amp;quot;Thinking in Java&amp;quot;, 4 edizione italiana, Pearson, (scaricabile gratuitamente da Internet la versione inglese http://www.BruceEckel.com).&lt;br /&gt;
* Arnold, Gosling, Holmes, &amp;quot;Il linguaggio Java. Manuale ufficiale&amp;quot;, Pearson.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per chi vuole approfondire:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mazzanti, Milanese, &amp;quot;Programmazione di applicazioni grafiche in Java&amp;quot;, Apogeo.&lt;br /&gt;
* Gamma, Helm, Johnson, Vlissides, &amp;quot;Design Patterns&amp;quot;, Addison-Wesley.&lt;br /&gt;
* J.R. Hubbard, &amp;quot;Strutture dati in Java&amp;quot;, McGraw-Hill.&lt;br /&gt;
* M.A. Weiss, &amp;quot;Data Structures And Problem Solving Using Java&amp;quot;, 2nd Edition, Addison Wesley.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Slide Dell&#039;Insegnamento=&lt;br /&gt;
&lt;br /&gt;
Il materiale degli insegnamenti di Programmazione ad Oggetti e Introduzione alla Programmazione ad Oggetti &amp;amp;egrave; contenuto nel libro &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
In questa pagina sono riportate le slide usate a lezione.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IntroduzioneInsegnamentoPO.pdf| Introduzione all&#039;insegnamento]]&lt;br /&gt;
# [[Media:01-Motivazioni.pdf | Motivazioni]]&lt;br /&gt;
# [[Media:02-LimitiProgrammazioneTradizionale.pdf|Limiti della programmazione tradizionale]]&lt;br /&gt;
# [[Media:03-IntroOOP.pdf|Introduzione alla programmazione ad oggetti]]&lt;br /&gt;
# [[Media:04-IntroJava.pdf|Introduzione al linguaggio Java]]&lt;br /&gt;
# [[Media:05-OOPJava.pdf|OOP in Java]]&lt;br /&gt;
# [[Media:06-ClassiAstratteIntefacceJava.pdf|Classi astratte e interfacce]]&lt;br /&gt;
# [[Media:07-IOJava.pdf|I/O in Java]]&lt;br /&gt;
# [[Media:08-JavaGUI.pdf|GUI in Java]]&lt;br /&gt;
# [[Media:09-CostruttiAvanzatiJava.pdf|Costrutti avanzati Java]]&lt;br /&gt;
# [[Media:10-GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:11-StruttureDatiJava.pdf|Strutture dati in Java]]&lt;br /&gt;
# [[Media:12-ThreadJava.pdf|Thread in Java]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Vecchie slide&lt;br /&gt;
* [[index.php?title=Media:09-Applet.pdf|Applet in Java]] (fatte fino all&#039;AA 2015/16)&lt;br /&gt;
* [[index.php?title=Media:UML01-LinguaggioUML 1.pdf|UML (prima parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
* [[index.php?title=Media:UML02-LinguaggioUML 2.pdf|UML (seconda parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Media:Classi.pdf|Classi di memorizzazione in C]]&lt;br /&gt;
# [[Media:TabelleMenuLayout.pdf|Tabelle, menu e layout in Java]]&lt;br /&gt;
# [[Media:GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:NovitaJ2SE5.pdf|Novit&amp;amp;agrave; di Java 2 SE 5]]&lt;br /&gt;
&lt;br /&gt;
# [[Media:JavaClassAsInterfacce.pdf| Classi Astratte e Interfacce in Java]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seminari==&lt;br /&gt;
[[index.php?title=Media:SeminarioJavaInfolog2015.pdf|Seminario]] sull&#039;uso di Java in azienda (Infolog, 9/12/2015)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2017.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2017)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2018.pdf|Seminario]] su C# (Paolo Burgio, 3/12/2018)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2015.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2019) - [[index.php?title=Media:ConsoleApp4.zip|Codice]] presentato durante il seminario&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Esempi presentati a lezione =&lt;br /&gt;
[[Image:eserciziLezione.png|right]]&lt;br /&gt;
Gli esempi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma [http://www.adobe.com/it/ Adobe Acrobat], di pubblico domino, altri in semplice formato testo.&lt;br /&gt;
Tutti gli esercizi sono stati realizzati in collaborazione con la Prof. Letizia Leonardi.&lt;br /&gt;
&lt;br /&gt;
*[[index.php?title=Media:ContoCorrente.pdf|Conto corrente in C]]&lt;br /&gt;
*[[index.php?title=Media:IOBinario.pdf|I/O Binario]]&lt;br /&gt;
*[[index.php?title=Media:Calcolatrice.zip|Calcolatrice]]&lt;br /&gt;
*[[index.php?title=Media:GraficoFunzioni.zip|Grafico di funzioni]]&lt;br /&gt;
*[[index.php?title=Media:CampoStellare.zip|Campo stellare]]&lt;br /&gt;
&lt;br /&gt;
===Programmazione ad Oggetti e Java===&lt;br /&gt;
Gli esercizi sono gli stessi contenuti nei lucidi della parte teorica, ma da qui e&#039; possibile salvare su un file (facendo &amp;quot;salva link con nome&amp;quot;) il sorgente della gran parte degli esercizi.&lt;br /&gt;
&lt;br /&gt;
====Java: Le Classi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Classi&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=13|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:Counter.java|Counter.java]], [[index.php?title=Media:Esempio0.java|Esempio0.java]], [[index.php?title=Media:Esempio1.java|Esempio1.java]], [[index.php?title=Media:Esempio2.java|Esempio2.java]], [[index.php?title=Media:Esempio2bis.java|Esempio2bis.java]], [[index.php?title=Media:Esempio3.java|Esempio3.java]], [[index.php?title=Media:Esempio4.java|Esempio4.java]], [[index.php?title=Media:Esempio5.java|Esempio5.java]], [[index.php?title=Media:Esempio5bis.java|Esempio5bis.java]], [[index.php?title=Media:Esempio6.java|Esempio6.java]], [[index.php?title=Media:Esempio7.java|Esempio7.java]], [[index.php?title=Media:Point.java|Point.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Java: Classi Astratte e Interfacce====&lt;br /&gt;
====Java: Ereditarietà====&lt;br /&gt;
====Java: Le Eccezioni====&lt;br /&gt;
====Java: Input e Output====&lt;br /&gt;
====Java: Programmazione Grafica e ad Eventi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Grafica&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=36|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:CalcButton.java|CalcButton.java]], [[index.php?title=Media:CalcPanel.java|CalcPanel.java]], [[index.php?title=Media:Calculator.java|Calculator.java]], [[index.php?title=Media:Es10Panel.java|Es10Panel.java]], [[index.php?title=Media:Es11Panel.java|Es11Panel.java]], [[index.php?title=Media:Es12Panel.java|Es12Panel.java]], [[index.php?title=Media:Es13Panel.java|Es13Panel.java]], [[index.php?title=Media:Es14Panel.java|Es14Panel.java]], [[index.php?title=Media:Es15Panel.java|Es15Panel.java]], [[index.php?title=Media:Es16Panel.java|Es16Panel.java]], [[index.php?title=Media:Es7Panel.java|Es7Panel.java]], [[index.php?title=Media:Es8Panel.java|Es8Panel.java]], [[index.php?title=Media:Es9Panel.java|Es9Panel.java]], [[index.php?title=Media:EsSwing1.java|EsSwing1.java]], [[index.php?title=Media:EsSwing10.java|EsSwing10.java]], [[index.php?title=Media:EsSwing11.java|EsSwing11.java]], [[index.php?title=Media:EsSwing12.java|EsSwing12.java]], [[index.php?title=Media:EsSwing13.java|EsSwing13.java]], [[index.php?title=Media:EsSwing14.java|EsSwing14.java]], [[index.php?title=Media:EsSwing15.java|EsSwing15.java]], [[index.php?title=Media:EsSwing16.java|EsSwing16.java]], [[index.php?title=Media:EsSwing2.java|EsSwing2.java]], [[index.php?title=Media:EsSwing3.java|EsSwing3.java]], [[index.php?title=Media:EsSwing4.java|EsSwing4.java]], [[index.php?title=Media:EsSwing5.java|EsSwing5.java]], [[index.php?title=Media:EsSwing6.java|EsSwing6.java]], [[index.php?title=Media:EsSwing7.java|EsSwing7.java]], [[index.php?title=Media:EsSwing8.java|EsSwing8.java]], [[index.php?title=Media:EsSwing9.java|EsSwing9.java]], [[index.php?title=Media:EsSwingCalculator.java|EsSwingCalculator.java]], [[index.php?title=Media:FunctionPanel.java|FunctionPanel.java]], [[index.php?title=Media:ImgPanel.java|ImgPanel.java]], [[index.php?title=Media:MyFrame.java|MyFrame.java]], [[index.php?title=Media:MyPanel.java|MyPanel.java]], [[index.php?title=Media:Terminator.java|Terminator.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Java: Le Applet====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Applet&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=9|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Applet1.java|Applet1.java]], [[Media:Applet2.java|Applet2.java]], [[Media:Applet2Listener.java|Applet2Listener.java]], [[Media:Applet3.java|Applet3.java]], [[Media:Applet3Listener.java|Applet3Listener.java]], &lt;br /&gt;
[[Media:Applet4.java|Applet4.java]], [[Media:Applet5.java|Applet5.java]], [[Media:Application2.java|Application2.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Strumenti Software=&lt;br /&gt;
[[Image:strumenti.png|right]]&lt;br /&gt;
Si indicano di seguito gli strumenti software che si utilizzano durante l&#039;insegnamento e si indica dove e&#039; possibile reperirli.&lt;br /&gt;
&lt;br /&gt;
* Per sviluppare programmi in Java si utilizza il JDK (Java Development Kit). Si può scaricare:&lt;br /&gt;
**dal sito [https://www.oracle.com/java/technologies/downloads/ Java at Oracle]&lt;br /&gt;
**dal sito [https://openjdk.java.net OpenJDK]&lt;br /&gt;
* &#039;&#039;&#039;NOTA:&#039;&#039;&#039; &amp;amp;Egrave; necessario utilizzare una versione del JDK maggiore o uguale alla 1.5 (Java J2SE 5). Si consiglia almeno la versione 11.&lt;br /&gt;
&amp;lt;!--* Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio--&amp;gt;&lt;br /&gt;
* Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è [http://www.eclipse.org/ Eclipse].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
*È possibile, per la parte C soltanto, usare un ambiente di programmazione integrato per il C disponibile qui: [http://www.delorie.com/djgpp/ Il compilatore DJGPP]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Esercitazioni di laboratorio=&lt;br /&gt;
 &lt;br /&gt;
Gli esercizi di laboratorio si possono trovare nella seguente pagina: [[EserciziPO|Esercizi di Programmazione ad Oggetti]].&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina2425.pdf&amp;diff=943</id>
		<title>File:Tesina2425.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina2425.pdf&amp;diff=943"/>
		<updated>2024-12-30T11:19:11Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: Giacomo Cabri ha caricato una nuova versione di File:Tesina2425.pdf.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=942</id>
		<title>Programmazione ad Oggetti</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=942"/>
		<updated>2024-12-30T11:17:54Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Traccia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&lt;br /&gt;
{{/box-testata|News|}}&lt;br /&gt;
{{/Evidenza}}&lt;br /&gt;
{{/box-fondo|[[Europa|Leggi la voce...]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{Userboxtop&lt;br /&gt;
| align = right&lt;br /&gt;
| backgroundcolor = lightyellow&lt;br /&gt;
| bordercolor = black&lt;br /&gt;
| extra-css =&lt;br /&gt;
| textcolor = &lt;br /&gt;
| toptext = NEWS&lt;br /&gt;
&amp;lt;!-- All of the parameters are optional. --&amp;gt;&lt;br /&gt;
&amp;lt;!--}}&lt;br /&gt;
La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
([[Wikipedia:Userboxes|Userboxes]] inserted here)&lt;br /&gt;
{{userboxbottom}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Questa pagina fornisce il materiale didattico e le informazioni relative all&#039;insegnamento di &#039;&#039;&#039;Programmazione ad Oggetti (9 CFU)&#039;&#039;&#039; per il Corso di Laurea in &#039;&#039;&#039;Informatica&#039;&#039;&#039;  e per l&#039;insegnamento di &#039;&#039;&#039;Introduzione alla Programmazione ad Oggetti (6 CFU)&#039;&#039;&#039; a partire dall&#039;AA 2008/2009.&lt;br /&gt;
&lt;br /&gt;
Si veda [http://{{SERVERNAME}}/didattica/lpo/ questa pagina] per informazioni su:&lt;br /&gt;
*Programmazione ad Oggetti (6 CFU - 2007/08)&lt;br /&gt;
*Linguaggi per la Programmazione ad Oggetti (6 CFU - fino al 2006/2007)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
&lt;br /&gt;
==Ultime news==&lt;br /&gt;
   Le lezioni dell&#039;AA 2024/25 si svolgeranno in presenza a partire dal 25/9/2024.&lt;br /&gt;
&lt;br /&gt;
==Vecchie news==&lt;br /&gt;
&lt;br /&gt;
=== 2023/24 ===&lt;br /&gt;
 &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2023/24.&lt;br /&gt;
&lt;br /&gt;
 Le lezioni dell&#039;AA 2023/24 si svolgeranno in presenza a partire dal 27/9/2023.&lt;br /&gt;
&lt;br /&gt;
===2022/23===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2022/23.&lt;br /&gt;
  Le lezioni dell&#039;AA 2022/23 si svolgeranno in presenza a partire dal 28/9/2022.&lt;br /&gt;
&lt;br /&gt;
===2021/22===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2021/22&lt;br /&gt;
  Le lezioni dell&#039;AA 2021/22 si svolgeranno in presenza.&lt;br /&gt;
&lt;br /&gt;
===2020/21===&lt;br /&gt;
  Per l&#039;AA 2020/21 l&#039;esame scritto è sostituito dalla consegna anticipata del progetto.&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni dell&#039;AA 2020/21 si svolgeranno in modalità a distanza tramite la piattaforma Dolly (https://dolly.fim.unimore.it/2020)&lt;br /&gt;
&lt;br /&gt;
===2019/20===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 19/11/2019 si terr&amp;amp;agrave; alle 14 in aula L1.3.&lt;br /&gt;
  La lezione di venerd&amp;amp;igrave; 15/11/2019 non si terr&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
===2017/18===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Sono aperte le iscrizioni tramite ESSE3 al preppello scritto che si svolger&amp;amp;agrave; il 18 dicembre 2017 alle ore 8.45 in Aula M1.4.&lt;br /&gt;
&lt;br /&gt;
===2016/17===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
&lt;br /&gt;
===2015/16===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 29 settembre 2015 si terr&amp;amp;agrave; in aula M1.3 (Aula III) dalle 14 alle 17 invece che in laboratorio&lt;br /&gt;
  Il 21/12/15 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2014/15===&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; in aula M2.5 (ex aula X matematica) dalle 14 alle 17&lt;br /&gt;
  La mattina di luned&amp;amp;igrave; 1 dicembre 2014 sono sospese le lezioni per l&#039;inaugurazione dell&#039;anno accademico&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 24 novembre e mercoled&amp;amp;igrave; 26 novembre 2014 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 30 settembre 2014 si terr&amp;amp;agrave; in aula M1.5 (ex aula IV)&lt;br /&gt;
&lt;br /&gt;
===2013/14===&lt;br /&gt;
  Il 9/12/13 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 2/12/13 &amp;amp;egrave; spostata a marted&amp;amp;igrave; 2/12/13 al posto dell&#039;esercitazione&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 25/11/13 e mercoled&amp;amp;igrave; 27/11/13 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 24/9/13 si terr&amp;amp;agrave; in laboratorio BASE alle ore 14&lt;br /&gt;
&lt;br /&gt;
===2012/13===&lt;br /&gt;
  Il 12/12/12 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3, ma chi ha problemi puo&#039; mandare una email al docente entro il 9/12&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 21 novembre sar&amp;amp;agrave; sostituita da Linguaggi Formali e Compilatori del prof. Leoncini.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 2 ottobre si terr&amp;amp;agrave; in aula V.&lt;br /&gt;
  Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 a causa di un impegno all&#039;estero del docente.&lt;br /&gt;
&lt;br /&gt;
===2011/12===&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 7 dicembre si terr&amp;amp;agrave; regolarmente alle 11, l&#039;ing. Elton Domnori terr&amp;amp;agrave; un seminario sulla programmazione dei dispositivi mobili&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2011/12&lt;br /&gt;
  Luned&amp;amp;igrave; 5 dicembre si terr&amp;amp;agrave; il preappello scritto; &amp;amp;egrave; necessario iscriversi tramite ESSE3.&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 16 novembre &amp;amp;egrave; anticipata alle ore 9.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 7 novembre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 5 ottobre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 27 settembre si terr&amp;amp;agrave; in aula V e NON in laboratorio.&lt;br /&gt;
  &amp;amp;Egrave; stato definito l&#039;orario delle lezioni.&lt;br /&gt;
  Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011.&lt;br /&gt;
&lt;br /&gt;
===2010/11===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2010/11&lt;br /&gt;
  Le lezioni del mercoled&amp;amp;igrave; si tengono in aula V.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 21/12/10 si tiene in aula V&lt;br /&gt;
  Luned&amp;amp;igrave; 20 dicembre 2010 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto;&lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare, deve mandare una email al docente &lt;br /&gt;
  ENTRO venerd&amp;amp;igrave; 17/12 con nome, cognome e numero di matricola&lt;br /&gt;
  Le lezioni inizieranno l&#039;11 ottobre 2010.&lt;br /&gt;
&lt;br /&gt;
===2009/10===&lt;br /&gt;
  L&#039;esame scritto del 15 febbraio 2010 non si terr&amp;amp;agrave; per mancanza di iscritti&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 14/12/09&lt;br /&gt;
  &amp;amp;Egrave; disponibile una traccia del progetto da portare all&#039;esame&lt;br /&gt;
  L&#039;ultima lezione dell&#039;AA 2009/10 si terr&amp;amp;agrave; il 15 dicembre 2009&lt;br /&gt;
  Mercoled&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; una esercitazione sull&#039;esame scritto&lt;br /&gt;
  Luned&amp;amp;igrave; &#039;&#039;&#039;14 dicembre&#039;&#039;&#039; 2009 alle ore &#039;&#039;&#039;11&#039;&#039;&#039; in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto; &lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre 2009;&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 7 dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 1° dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;esercitazione del 30 settembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;appello scritto del 15 luglio 2009 non si terr&amp;amp;agrave; in quanto non c&#039;&amp;amp;egrave; nessun iscritto&lt;br /&gt;
  Venerd&amp;amp;igrave; 12 e sabato 13 giugno 2009 il sistema ESSE3 non sar&amp;amp;agrave; disponibile per iscriversi agli esami e neanche per compilare il questionario di valutazione&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 15/12/08&lt;br /&gt;
  Sono state pubblicate le date degli appelli della sessione straordinaria 2008/2009&lt;br /&gt;
  Sono disponibili alcuni esercizi per l&#039;appello scritto&lt;br /&gt;
  Luned&amp;amp;igrave; 15 dicembre 2008 si terr&amp;amp;agrave; un pre-appello scritto alle ore 11 in aula V a Matematica; per iscriversi contattare il docente&lt;br /&gt;
  I giorni 18 e 19 novembre 2008 non si svolgeranno le lezioni&lt;br /&gt;
  La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
  Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
&lt;br /&gt;
=Informazioni sul docente=&lt;br /&gt;
[[Image:docente.png|left|100px]]&lt;br /&gt;
&#039;&#039;&#039;[[Utente:Giacomo Cabri| Prof. Giacomo Cabri]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Università di Modena e Reggio Emilia, Via Campi 213/B - 41125 Modena&lt;br /&gt;
&lt;br /&gt;
Telefono 0592058320 - Fax 0592055216&lt;br /&gt;
&lt;br /&gt;
[mailto:giacomo.cabri@unimore.it giacomo.cabri@unimore.it]&lt;br /&gt;
&lt;br /&gt;
=Orario delle Lezioni=&lt;br /&gt;
&lt;br /&gt;
L&#039;orario ufficiale è riportato qui: [https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html]&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2023/24==&lt;br /&gt;
Le lezioni dell&#039;AA 2023/24 inizieranno il 25 settembre 2023 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2022/23==&lt;br /&gt;
Le lezioni dell&#039;AA 2022/23 inizieranno il 28 settembre 2022 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2021/22==&lt;br /&gt;
Le lezioni dell&#039;AA 2021/22 inizieranno il 20 settembre 2021 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula L1.3 presso Fisica&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2020/21==&lt;br /&gt;
Le lezioni dell&#039;AA 2020/21 inizieranno il 21 settembre 2020 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;grave; dalle 14 alle 17 a distanza&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2019/20==&lt;br /&gt;
Le lezioni dell&#039;AA 2019/20 inizieranno il 23 settembre 2019 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 10 alle 12 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 13 alle 16 in laboratorio BASE presso Matematica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 12 alle 14 in aula L1.3 presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2018/19==&lt;br /&gt;
Le lezioni dell&#039;AA 2018/19 inizieranno il 24 settembre 2018 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in laboratorio BASE presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.3 (ex aula III) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2017/18==&lt;br /&gt;
Le lezioni dell&#039;AA 2017/18 inizieranno il 25 settembre 2017 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2016/17==&lt;br /&gt;
Le lezioni dell&#039;AA 2016/17 inizieranno il 26 settembre 2016 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2015/16==&lt;br /&gt;
Le lezioni dell&#039;AA 2015/16 inizieranno il 28 settembre 2015 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2014/15==&lt;br /&gt;
Le lezioni dell&#039;AA 2014/15 avranno il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2013/14==&lt;br /&gt;
Le lezioni dell&#039;AA 2013/14 avranno  il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2012/13==&lt;br /&gt;
Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2011/12==&lt;br /&gt;
Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2010/11==&lt;br /&gt;
Le lezioni dell&#039;AA 2010/11 dovrebbero iniziare il 27 settembre 2010 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 9 alle 11 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2009/10==&lt;br /&gt;
Le lezioni dell&#039;AA 2009/10 inizieranno il 28 settembre 2009 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2008/09==&lt;br /&gt;
Le lezioni si tengono dal 29 settembre al 19 dicembre 2008 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
=Finalità Dell&#039;Insegnamento e Consigli Utili=&lt;br /&gt;
&lt;br /&gt;
L&#039;informatica odierna non consiste solo nel definire algoritmi e programmi che realizzano tali algoritmi, ma anche nel comporre architetture software e hardware sulla base di componenti software o hardware. Partendo da questo motivo dominante, l&#039;insegnamento affronta i seguenti argomenti:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;: verranno illustrati i concetti generali, quali incapsulamento, ereditarietà e polimorfismo; verranno accennati i concetti di riusabilità e di composizione dei componenti software, illustrando il passaggio dalla programmazione modulare alla programmazione ad oggetti.&lt;br /&gt;
* &#039;&#039;&#039;Il linguaggio Java&#039;&#039;&#039;: verrà utilizzato come esempio di linguaggio ad oggetti, spiegando come i concetti generali sono implementati in Java; verrà inoltre spiegato come Java può essere sfruttato per lo sviluppo di interfacce grafiche.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per superare agevolmente l&#039;esame si consiglia agli studenti di seguire con continuità le lezioni e le esercitazioni dell&#039;insegnamento. Inoltre, si consiglia di non focalizzare la preparazione dell&#039;esame esclusivamente sullo studio dei libri e degli appunti, ma piuttosto di preparare l&#039;esame sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l&#039;esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ambienti di Programmazione Utilizzati&#039;&#039;: Compilatore C, Java 1.5 di pubblico dominio (disponibili in laboratorio).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Programma dell&#039;insegnamento=&lt;br /&gt;
&#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;&lt;br /&gt;
*Concetti generali&lt;br /&gt;
*Il Linguaggio Java&lt;br /&gt;
*Classi ed ereditarietà in Java&lt;br /&gt;
*I/O in Java&lt;br /&gt;
*Interfacce grafiche in Java&lt;br /&gt;
*Programmazione basata sugli eventi&lt;br /&gt;
*Strutture dati in Java&lt;br /&gt;
*Thread in Java&lt;br /&gt;
&lt;br /&gt;
=Modalità D&#039;Esame=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21, a causa della situazione pandemica, la prova scritta è &#039;&#039;sostituita&#039;&#039; dalla consegna anticipata del progetto. Le conoscenze che precedentemente erano verificate tramite lo scritto, per il 2020/21 verranno verificate sul progetto realizzato.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame si compone di uno scritto e di una discussione di un programma in Java che lo studente deve presentare all&#039;esame (e la cui proposta di progetto deve essere stata preventivamente approvata dal docente). Per maggiori dettagli, vedere il seguito di questa pagina.&lt;br /&gt;
&lt;br /&gt;
==Esame scritto==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;:  nell&#039;AA 2020/21 non è prevista la prova scritta.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame scritto serve a verificare che lo studente abbia acquisito le nozioni di astrazione, classificazione, ereditarietà e polimorfismo.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame consiste nella modellazione di alcune entità e la relativa implementazione in Java.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; possibile vedere il testo di alcuni esercizi: &lt;br /&gt;
*[[Media:EserJava1.pdf|EserJava1]] &lt;br /&gt;
*[[Media:EserJava2.pdf|EserJava2]] &lt;br /&gt;
*[[Media:EserJava3.pdf|EserJava3]] &lt;br /&gt;
*[[Media:EserJava4.pdf|EserJava4]] [[Media:SoluzioneEserJava4.pdf|SoluzioneEserJava4]]&lt;br /&gt;
*[[Media:EserJava5.pdf|EserJava5]] &lt;br /&gt;
*[[Media:EserJava6.pdf|EserJava6]] &lt;br /&gt;
*[[Media:EserJava7.pdf|EserJava7]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#per l&#039;iscrizione all&#039;esame scritto è necessario utilizzare &#039;&#039;&#039;ESSE3&#039;&#039;&#039; e iscriversi entro la scadenza (di norma 2-3 giorni prima dell&#039;appello scritto stesso, me &amp;amp;egrave; bene controllare su ESSE3); &lt;br /&gt;
#&amp;amp;egrave; necessario aver superato lo scritto per presentare il progetto;&lt;br /&gt;
#la presentazione del progetto pu&amp;amp;ograve; avvenire anche in un appello diverso da quello dello scritto;&lt;br /&gt;
#la consegna di uno scritto cancella il voto precedente; la partecipazione ad uno scritto &#039;&#039;senza&#039;&#039; consegnare non cancella il voto precedente;&lt;br /&gt;
#il voto dello scritto vale orientativamente 1 anno; contattare il docente entro l&#039;anno se non si riesce a presentare il progetto e si richiede una proroga della validit&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
==Modalità di Sviluppo del Progetto Java==&lt;br /&gt;
All&#039;esame si deve presentare e discutere un programma realizzato in Java e che presenti le seguenti caratteristiche:&lt;br /&gt;
&lt;br /&gt;
* Sia dotato di &#039;&#039;&#039;interfaccia grafica&#039;&#039;&#039; tramite cui interagire con il programma stesso.&lt;br /&gt;
* Sfrutti i meccanismi della programmazione ad oggetti: &lt;br /&gt;
**&#039;&#039;&#039;incapsulamento&#039;&#039;&#039;; &lt;br /&gt;
**&#039;&#039;&#039;ereditarietà&#039;&#039;&#039; e, se necessario, le classi astratte e le interfacce (si considerano &#039;&#039;&#039;escluse&#039;&#039;&#039; le relazioni di ereditarietà diretta da classi di libreria Java); &lt;br /&gt;
**&#039;&#039;&#039;polimorfismo&#039;&#039;&#039;.&lt;br /&gt;
* Sfrutti le classi di sistema Java per la gestione dell&#039;&#039;&#039;&#039;input/output&#039;&#039;&#039; (&amp;lt;tt&amp;gt;Reader&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Writer&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;InputStream&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;OutputStream&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Utilizzi le &#039;&#039;&#039;strutture dati&#039;&#039;&#039; di libreria e i &#039;&#039;&#039;generics&#039;&#039;&#039;, motivando le scelte fatte. &lt;br /&gt;
* Sia diviso coerente in &#039;&#039;&#039;package&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Gli studenti sono invitati a seguire la traccia fornita dal docente.&lt;br /&gt;
In casi particolari, uno studente pu&amp;amp;ograve; proporre una proporia traccia, che &#039;&#039;&#039;deve&#039;&#039;&#039; essere approvata dal docente (anche via email).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Il programma deve essere una applicazione Java e &#039;&#039;&#039;NON&#039;&#039;&#039; una applet. --&amp;gt;&lt;br /&gt;
Il programma deve essere eseguito da &#039;&#039;&#039;linea di comando&#039;&#039;&#039;; non devono essere usate librerie proprietarie (ad es. quelle degli ambienti integrati) a meno di averlo concordato con il docente.&lt;br /&gt;
È opportuno &#039;&#039;&#039;provare&#039;&#039;&#039; il proprio programma su un altro computer (ad es. in laboratorio) prima di presentarlo in sede d&#039;esame, per verificare la portabilità.&lt;br /&gt;
&lt;br /&gt;
Il software deve essere accompagnato da pagine di &#039;&#039;&#039;documentazione&#039;&#039;&#039; HTML (tipicamente le pagine generate tramite Javadoc o altri strumenti come Doxygen) che descrivano le scelte di progetto effettuate e la struttura del sistema software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- A progetto realizzato, si valuterà il progetto (e il voto conseguente), ferma restando la possibilità del docente (e dello studente) di richiedere l&#039;integrazione nel progetto di ulteriori funzionalità/caratteristiche. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il progetto va portato il giorno dell&#039;esame, su un supporto tipo chiavetta USB; portare anche il proprio PC per sicurezza. (&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21 il progetto va consegnato in anticipo).&lt;br /&gt;
&lt;br /&gt;
In casi eccezionali &amp;amp;egrave; possibile presentare progetti di gruppo (2 persone), posto che l&#039;ampiezza del progetto sia tale da giustificare il suo sviluppo cooperativo. In tale caso, comunque, la discussione sarà esplicitamente volta a valutare, per ciascuno dei componenti del gruppo, l&#039;effettiva padronanza d&#039;uso dei concetti di base della programmazione ad oggetti, del linguaggio Java e delle sue librerie Java, oltre naturalmente all&#039;apporto individuale dato al progetto globale da ogni singolo membro del gruppo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Problemi &#039;&#039;&#039;DA EVITARE&#039;&#039;&#039; in sede di esame:&lt;br /&gt;
*Il programma non funziona&lt;br /&gt;
*Manca qualcosa (di solito, la documentazione)&lt;br /&gt;
*Il progetto è diviso su pi&amp;amp;ugrave; programmi (eventualmente da concordare con il docente)&lt;br /&gt;
*L’ereditariet&amp;amp;agrave; &amp;amp;egrave; usata male&lt;br /&gt;
*&amp;quot;Non mi ricordo come funziona perch&amp;amp;eacute; ho fatto il programma tempo fa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Traccia ==&lt;br /&gt;
[[Image:tesina.png|right|90px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; disponibile il [[Media:Tesina2425.pdf| testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
Chi decide di svolgere il progetto proposto dalla traccia, non ha bisogno di approvazione.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2425.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2324.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2223.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2022/23.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2122.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2021/22.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2021.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2020/21.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1920.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2019/20.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1819.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2018/19.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1718.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2017/18.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1617.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2016/17.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1516.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2015/16.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1415.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2014/15.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1314.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2013/14.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1213.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2012/13.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1112.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2011/12.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1011.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2010/11.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina0910.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2009/10.&lt;br /&gt;
&lt;br /&gt;
=Appelli=&lt;br /&gt;
[[Image:iscrizione.png|90px|right]]&lt;br /&gt;
Le date degli appelli sono disponibili sul sito ESSE3 (http://www.esse3.unimore.it).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
del corso di laurea&lt;br /&gt;
all&#039;indirizzo&lt;br /&gt;
&lt;br /&gt;
http://informatica.scienze.unimo.it/lt/Esami.php&lt;br /&gt;
&lt;br /&gt;
Dall&#039;AA 2006/07 viene usata la verbalizzazione elettronica; chi vuole sostenere l&#039;esame DEVE quindi iscriversi tramite il [http://www.esse3.unimore.it sito di ESSE3].&lt;br /&gt;
&lt;br /&gt;
NOTA: sul sito di ESSE3 sono presenti le date degli appelli &#039;&#039;&#039;orali&#039;&#039;&#039;, per la presentazione dei progetto.&lt;br /&gt;
Per l&#039;iscrizione agli appelli &#039;&#039;&#039;scritti&#039;&#039;&#039; &amp;amp;egrave; necessario inviare una email al docente entro 2 giorni prima dell&#039;appello scritto stesso, usando l&#039;indirizzo email &#039;&#039;&#039;universitario&#039;&#039;&#039; e specificando &#039;&#039;&#039;nome&#039;&#039;&#039;, &#039;&#039;&#039;cognome&#039;&#039;&#039; e &#039;&#039;&#039;matricola&#039;&#039;&#039;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Preappello==&lt;br /&gt;
Luned&amp;amp;igrave; 14 dicembre 2009 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un preappello valido per l&#039;esame scritto.&lt;br /&gt;
&lt;br /&gt;
Chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre con nome, cognome e matricola.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Risultati=&lt;br /&gt;
&lt;br /&gt;
Da settembre 2011 i risultati vengono comunicati tramite ESSE3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[RisultatiPO|Risultati]] degli appelli scritti precedenti:&lt;br /&gt;
*16 febbraio 2011&lt;br /&gt;
*20 gennaio 2011&lt;br /&gt;
*20 dicembre 2010&lt;br /&gt;
*18 gennaio 2010&lt;br /&gt;
*14 dicembre 2009&lt;br /&gt;
*22 giugno 2009&lt;br /&gt;
*10 giugno 2009&lt;br /&gt;
*19 febbraio 2009&lt;br /&gt;
*14 gennaio 2009&lt;br /&gt;
*15 dicembre 2008&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Testi Consigliati=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testo Dell&#039;Insegnamento&#039;&#039;&#039;&lt;br /&gt;
[[Image:textbook.png|100px|right]]&lt;br /&gt;
*G. Cabri, F. Zambonelli, &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Altri Testi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* C.S. Horstmann, &amp;quot;Concetti di informatica e fondamenti di Java&amp;quot;, Apogeo.&lt;br /&gt;
* B. Eckel, &amp;quot;Thinking in Java&amp;quot;, 4 edizione italiana, Pearson, (scaricabile gratuitamente da Internet la versione inglese http://www.BruceEckel.com).&lt;br /&gt;
* Arnold, Gosling, Holmes, &amp;quot;Il linguaggio Java. Manuale ufficiale&amp;quot;, Pearson.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per chi vuole approfondire:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mazzanti, Milanese, &amp;quot;Programmazione di applicazioni grafiche in Java&amp;quot;, Apogeo.&lt;br /&gt;
* Gamma, Helm, Johnson, Vlissides, &amp;quot;Design Patterns&amp;quot;, Addison-Wesley.&lt;br /&gt;
* J.R. Hubbard, &amp;quot;Strutture dati in Java&amp;quot;, McGraw-Hill.&lt;br /&gt;
* M.A. Weiss, &amp;quot;Data Structures And Problem Solving Using Java&amp;quot;, 2nd Edition, Addison Wesley.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Slide Dell&#039;Insegnamento=&lt;br /&gt;
&lt;br /&gt;
Il materiale degli insegnamenti di Programmazione ad Oggetti e Introduzione alla Programmazione ad Oggetti &amp;amp;egrave; contenuto nel libro &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
In questa pagina sono riportate le slide usate a lezione.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IntroduzioneInsegnamentoPO.pdf| Introduzione all&#039;insegnamento]]&lt;br /&gt;
# [[Media:01-Motivazioni.pdf | Motivazioni]]&lt;br /&gt;
# [[Media:02-LimitiProgrammazioneTradizionale.pdf|Limiti della programmazione tradizionale]]&lt;br /&gt;
# [[Media:03-IntroOOP.pdf|Introduzione alla programmazione ad oggetti]]&lt;br /&gt;
# [[Media:04-IntroJava.pdf|Introduzione al linguaggio Java]]&lt;br /&gt;
# [[Media:05-OOPJava.pdf|OOP in Java]]&lt;br /&gt;
# [[Media:06-ClassiAstratteIntefacceJava.pdf|Classi astratte e interfacce]]&lt;br /&gt;
# [[Media:07-IOJava.pdf|I/O in Java]]&lt;br /&gt;
# [[Media:08-JavaGUI.pdf|GUI in Java]]&lt;br /&gt;
# [[Media:09-CostruttiAvanzatiJava.pdf|Costrutti avanzati Java]]&lt;br /&gt;
# [[Media:10-GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:11-StruttureDatiJava.pdf|Strutture dati in Java]]&lt;br /&gt;
# [[Media:12-ThreadJava.pdf|Thread in Java]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Vecchie slide&lt;br /&gt;
* [[index.php?title=Media:09-Applet.pdf|Applet in Java]] (fatte fino all&#039;AA 2015/16)&lt;br /&gt;
* [[index.php?title=Media:UML01-LinguaggioUML 1.pdf|UML (prima parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
* [[index.php?title=Media:UML02-LinguaggioUML 2.pdf|UML (seconda parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Media:Classi.pdf|Classi di memorizzazione in C]]&lt;br /&gt;
# [[Media:TabelleMenuLayout.pdf|Tabelle, menu e layout in Java]]&lt;br /&gt;
# [[Media:GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:NovitaJ2SE5.pdf|Novit&amp;amp;agrave; di Java 2 SE 5]]&lt;br /&gt;
&lt;br /&gt;
# [[Media:JavaClassAsInterfacce.pdf| Classi Astratte e Interfacce in Java]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seminari==&lt;br /&gt;
[[index.php?title=Media:SeminarioJavaInfolog2015.pdf|Seminario]] sull&#039;uso di Java in azienda (Infolog, 9/12/2015)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2017.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2017)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2018.pdf|Seminario]] su C# (Paolo Burgio, 3/12/2018)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2015.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2019) - [[index.php?title=Media:ConsoleApp4.zip|Codice]] presentato durante il seminario&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Esempi presentati a lezione =&lt;br /&gt;
[[Image:eserciziLezione.png|right]]&lt;br /&gt;
Gli esempi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma [http://www.adobe.com/it/ Adobe Acrobat], di pubblico domino, altri in semplice formato testo.&lt;br /&gt;
Tutti gli esercizi sono stati realizzati in collaborazione con la Prof. Letizia Leonardi.&lt;br /&gt;
&lt;br /&gt;
*[[index.php?title=Media:ContoCorrente.pdf|Conto corrente in C]]&lt;br /&gt;
*[[index.php?title=Media:IOBinario.pdf|I/O Binario]]&lt;br /&gt;
*[[index.php?title=Media:Calcolatrice.zip|Calcolatrice]]&lt;br /&gt;
*[[index.php?title=Media:GraficoFunzioni.zip|Grafico di funzioni]]&lt;br /&gt;
*[[index.php?title=Media:CampoStellare.zip|Campo stellare]]&lt;br /&gt;
&lt;br /&gt;
===Programmazione ad Oggetti e Java===&lt;br /&gt;
Gli esercizi sono gli stessi contenuti nei lucidi della parte teorica, ma da qui e&#039; possibile salvare su un file (facendo &amp;quot;salva link con nome&amp;quot;) il sorgente della gran parte degli esercizi.&lt;br /&gt;
&lt;br /&gt;
====Java: Le Classi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Classi&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=13|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:Counter.java|Counter.java]], [[index.php?title=Media:Esempio0.java|Esempio0.java]], [[index.php?title=Media:Esempio1.java|Esempio1.java]], [[index.php?title=Media:Esempio2.java|Esempio2.java]], [[index.php?title=Media:Esempio2bis.java|Esempio2bis.java]], [[index.php?title=Media:Esempio3.java|Esempio3.java]], [[index.php?title=Media:Esempio4.java|Esempio4.java]], [[index.php?title=Media:Esempio5.java|Esempio5.java]], [[index.php?title=Media:Esempio5bis.java|Esempio5bis.java]], [[index.php?title=Media:Esempio6.java|Esempio6.java]], [[index.php?title=Media:Esempio7.java|Esempio7.java]], [[index.php?title=Media:Point.java|Point.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Java: Classi Astratte e Interfacce====&lt;br /&gt;
====Java: Ereditarietà====&lt;br /&gt;
====Java: Le Eccezioni====&lt;br /&gt;
====Java: Input e Output====&lt;br /&gt;
====Java: Programmazione Grafica e ad Eventi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Grafica&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=36|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:CalcButton.java|CalcButton.java]], [[index.php?title=Media:CalcPanel.java|CalcPanel.java]], [[index.php?title=Media:Calculator.java|Calculator.java]], [[index.php?title=Media:Es10Panel.java|Es10Panel.java]], [[index.php?title=Media:Es11Panel.java|Es11Panel.java]], [[index.php?title=Media:Es12Panel.java|Es12Panel.java]], [[index.php?title=Media:Es13Panel.java|Es13Panel.java]], [[index.php?title=Media:Es14Panel.java|Es14Panel.java]], [[index.php?title=Media:Es15Panel.java|Es15Panel.java]], [[index.php?title=Media:Es16Panel.java|Es16Panel.java]], [[index.php?title=Media:Es7Panel.java|Es7Panel.java]], [[index.php?title=Media:Es8Panel.java|Es8Panel.java]], [[index.php?title=Media:Es9Panel.java|Es9Panel.java]], [[index.php?title=Media:EsSwing1.java|EsSwing1.java]], [[index.php?title=Media:EsSwing10.java|EsSwing10.java]], [[index.php?title=Media:EsSwing11.java|EsSwing11.java]], [[index.php?title=Media:EsSwing12.java|EsSwing12.java]], [[index.php?title=Media:EsSwing13.java|EsSwing13.java]], [[index.php?title=Media:EsSwing14.java|EsSwing14.java]], [[index.php?title=Media:EsSwing15.java|EsSwing15.java]], [[index.php?title=Media:EsSwing16.java|EsSwing16.java]], [[index.php?title=Media:EsSwing2.java|EsSwing2.java]], [[index.php?title=Media:EsSwing3.java|EsSwing3.java]], [[index.php?title=Media:EsSwing4.java|EsSwing4.java]], [[index.php?title=Media:EsSwing5.java|EsSwing5.java]], [[index.php?title=Media:EsSwing6.java|EsSwing6.java]], [[index.php?title=Media:EsSwing7.java|EsSwing7.java]], [[index.php?title=Media:EsSwing8.java|EsSwing8.java]], [[index.php?title=Media:EsSwing9.java|EsSwing9.java]], [[index.php?title=Media:EsSwingCalculator.java|EsSwingCalculator.java]], [[index.php?title=Media:FunctionPanel.java|FunctionPanel.java]], [[index.php?title=Media:ImgPanel.java|ImgPanel.java]], [[index.php?title=Media:MyFrame.java|MyFrame.java]], [[index.php?title=Media:MyPanel.java|MyPanel.java]], [[index.php?title=Media:Terminator.java|Terminator.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Java: Le Applet====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Applet&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=9|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Applet1.java|Applet1.java]], [[Media:Applet2.java|Applet2.java]], [[Media:Applet2Listener.java|Applet2Listener.java]], [[Media:Applet3.java|Applet3.java]], [[Media:Applet3Listener.java|Applet3Listener.java]], &lt;br /&gt;
[[Media:Applet4.java|Applet4.java]], [[Media:Applet5.java|Applet5.java]], [[Media:Application2.java|Application2.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Strumenti Software=&lt;br /&gt;
[[Image:strumenti.png|right]]&lt;br /&gt;
Si indicano di seguito gli strumenti software che si utilizzano durante l&#039;insegnamento e si indica dove e&#039; possibile reperirli.&lt;br /&gt;
&lt;br /&gt;
* Per sviluppare programmi in Java si utilizza il JDK (Java Development Kit). Si può scaricare:&lt;br /&gt;
**dal sito [https://www.oracle.com/java/technologies/downloads/ Java at Oracle]&lt;br /&gt;
**dal sito [https://openjdk.java.net OpenJDK]&lt;br /&gt;
* &#039;&#039;&#039;NOTA:&#039;&#039;&#039; &amp;amp;Egrave; necessario utilizzare una versione del JDK maggiore o uguale alla 1.5 (Java J2SE 5). Si consiglia almeno la versione 11.&lt;br /&gt;
&amp;lt;!--* Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio--&amp;gt;&lt;br /&gt;
* Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è [http://www.eclipse.org/ Eclipse].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
*È possibile, per la parte C soltanto, usare un ambiente di programmazione integrato per il C disponibile qui: [http://www.delorie.com/djgpp/ Il compilatore DJGPP]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Esercitazioni di laboratorio=&lt;br /&gt;
 &lt;br /&gt;
Gli esercizi di laboratorio si possono trovare nella seguente pagina: [[EserciziPO|Esercizi di Programmazione ad Oggetti]].&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:01-Motivazioni.pdf&amp;diff=936</id>
		<title>File:01-Motivazioni.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:01-Motivazioni.pdf&amp;diff=936"/>
		<updated>2024-12-06T10:52:45Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=935</id>
		<title>Programmazione ad Oggetti</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=935"/>
		<updated>2024-12-06T10:52:24Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Slide Dell&amp;#039;Insegnamento */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&lt;br /&gt;
{{/box-testata|News|}}&lt;br /&gt;
{{/Evidenza}}&lt;br /&gt;
{{/box-fondo|[[Europa|Leggi la voce...]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{Userboxtop&lt;br /&gt;
| align = right&lt;br /&gt;
| backgroundcolor = lightyellow&lt;br /&gt;
| bordercolor = black&lt;br /&gt;
| extra-css =&lt;br /&gt;
| textcolor = &lt;br /&gt;
| toptext = NEWS&lt;br /&gt;
&amp;lt;!-- All of the parameters are optional. --&amp;gt;&lt;br /&gt;
&amp;lt;!--}}&lt;br /&gt;
La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
([[Wikipedia:Userboxes|Userboxes]] inserted here)&lt;br /&gt;
{{userboxbottom}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Questa pagina fornisce il materiale didattico e le informazioni relative all&#039;insegnamento di &#039;&#039;&#039;Programmazione ad Oggetti (9 CFU)&#039;&#039;&#039; per il Corso di Laurea in &#039;&#039;&#039;Informatica&#039;&#039;&#039;  e per l&#039;insegnamento di &#039;&#039;&#039;Introduzione alla Programmazione ad Oggetti (6 CFU)&#039;&#039;&#039; a partire dall&#039;AA 2008/2009.&lt;br /&gt;
&lt;br /&gt;
Si veda [http://{{SERVERNAME}}/didattica/lpo/ questa pagina] per informazioni su:&lt;br /&gt;
*Programmazione ad Oggetti (6 CFU - 2007/08)&lt;br /&gt;
*Linguaggi per la Programmazione ad Oggetti (6 CFU - fino al 2006/2007)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
&lt;br /&gt;
==Ultime news==&lt;br /&gt;
   Le lezioni dell&#039;AA 2024/25 si svolgeranno in presenza a partire dal 25/9/2024.&lt;br /&gt;
&lt;br /&gt;
==Vecchie news==&lt;br /&gt;
&lt;br /&gt;
=== 2023/24 ===&lt;br /&gt;
 &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2023/24.&lt;br /&gt;
&lt;br /&gt;
 Le lezioni dell&#039;AA 2023/24 si svolgeranno in presenza a partire dal 27/9/2023.&lt;br /&gt;
&lt;br /&gt;
===2022/23===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2022/23.&lt;br /&gt;
  Le lezioni dell&#039;AA 2022/23 si svolgeranno in presenza a partire dal 28/9/2022.&lt;br /&gt;
&lt;br /&gt;
===2021/22===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2021/22&lt;br /&gt;
  Le lezioni dell&#039;AA 2021/22 si svolgeranno in presenza.&lt;br /&gt;
&lt;br /&gt;
===2020/21===&lt;br /&gt;
  Per l&#039;AA 2020/21 l&#039;esame scritto è sostituito dalla consegna anticipata del progetto.&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni dell&#039;AA 2020/21 si svolgeranno in modalità a distanza tramite la piattaforma Dolly (https://dolly.fim.unimore.it/2020)&lt;br /&gt;
&lt;br /&gt;
===2019/20===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 19/11/2019 si terr&amp;amp;agrave; alle 14 in aula L1.3.&lt;br /&gt;
  La lezione di venerd&amp;amp;igrave; 15/11/2019 non si terr&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
===2017/18===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Sono aperte le iscrizioni tramite ESSE3 al preppello scritto che si svolger&amp;amp;agrave; il 18 dicembre 2017 alle ore 8.45 in Aula M1.4.&lt;br /&gt;
&lt;br /&gt;
===2016/17===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
&lt;br /&gt;
===2015/16===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 29 settembre 2015 si terr&amp;amp;agrave; in aula M1.3 (Aula III) dalle 14 alle 17 invece che in laboratorio&lt;br /&gt;
  Il 21/12/15 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2014/15===&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; in aula M2.5 (ex aula X matematica) dalle 14 alle 17&lt;br /&gt;
  La mattina di luned&amp;amp;igrave; 1 dicembre 2014 sono sospese le lezioni per l&#039;inaugurazione dell&#039;anno accademico&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 24 novembre e mercoled&amp;amp;igrave; 26 novembre 2014 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 30 settembre 2014 si terr&amp;amp;agrave; in aula M1.5 (ex aula IV)&lt;br /&gt;
&lt;br /&gt;
===2013/14===&lt;br /&gt;
  Il 9/12/13 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 2/12/13 &amp;amp;egrave; spostata a marted&amp;amp;igrave; 2/12/13 al posto dell&#039;esercitazione&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 25/11/13 e mercoled&amp;amp;igrave; 27/11/13 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 24/9/13 si terr&amp;amp;agrave; in laboratorio BASE alle ore 14&lt;br /&gt;
&lt;br /&gt;
===2012/13===&lt;br /&gt;
  Il 12/12/12 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3, ma chi ha problemi puo&#039; mandare una email al docente entro il 9/12&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 21 novembre sar&amp;amp;agrave; sostituita da Linguaggi Formali e Compilatori del prof. Leoncini.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 2 ottobre si terr&amp;amp;agrave; in aula V.&lt;br /&gt;
  Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 a causa di un impegno all&#039;estero del docente.&lt;br /&gt;
&lt;br /&gt;
===2011/12===&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 7 dicembre si terr&amp;amp;agrave; regolarmente alle 11, l&#039;ing. Elton Domnori terr&amp;amp;agrave; un seminario sulla programmazione dei dispositivi mobili&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2011/12&lt;br /&gt;
  Luned&amp;amp;igrave; 5 dicembre si terr&amp;amp;agrave; il preappello scritto; &amp;amp;egrave; necessario iscriversi tramite ESSE3.&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 16 novembre &amp;amp;egrave; anticipata alle ore 9.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 7 novembre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 5 ottobre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 27 settembre si terr&amp;amp;agrave; in aula V e NON in laboratorio.&lt;br /&gt;
  &amp;amp;Egrave; stato definito l&#039;orario delle lezioni.&lt;br /&gt;
  Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011.&lt;br /&gt;
&lt;br /&gt;
===2010/11===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2010/11&lt;br /&gt;
  Le lezioni del mercoled&amp;amp;igrave; si tengono in aula V.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 21/12/10 si tiene in aula V&lt;br /&gt;
  Luned&amp;amp;igrave; 20 dicembre 2010 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto;&lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare, deve mandare una email al docente &lt;br /&gt;
  ENTRO venerd&amp;amp;igrave; 17/12 con nome, cognome e numero di matricola&lt;br /&gt;
  Le lezioni inizieranno l&#039;11 ottobre 2010.&lt;br /&gt;
&lt;br /&gt;
===2009/10===&lt;br /&gt;
  L&#039;esame scritto del 15 febbraio 2010 non si terr&amp;amp;agrave; per mancanza di iscritti&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 14/12/09&lt;br /&gt;
  &amp;amp;Egrave; disponibile una traccia del progetto da portare all&#039;esame&lt;br /&gt;
  L&#039;ultima lezione dell&#039;AA 2009/10 si terr&amp;amp;agrave; il 15 dicembre 2009&lt;br /&gt;
  Mercoled&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; una esercitazione sull&#039;esame scritto&lt;br /&gt;
  Luned&amp;amp;igrave; &#039;&#039;&#039;14 dicembre&#039;&#039;&#039; 2009 alle ore &#039;&#039;&#039;11&#039;&#039;&#039; in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto; &lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre 2009;&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 7 dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 1° dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;esercitazione del 30 settembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;appello scritto del 15 luglio 2009 non si terr&amp;amp;agrave; in quanto non c&#039;&amp;amp;egrave; nessun iscritto&lt;br /&gt;
  Venerd&amp;amp;igrave; 12 e sabato 13 giugno 2009 il sistema ESSE3 non sar&amp;amp;agrave; disponibile per iscriversi agli esami e neanche per compilare il questionario di valutazione&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 15/12/08&lt;br /&gt;
  Sono state pubblicate le date degli appelli della sessione straordinaria 2008/2009&lt;br /&gt;
  Sono disponibili alcuni esercizi per l&#039;appello scritto&lt;br /&gt;
  Luned&amp;amp;igrave; 15 dicembre 2008 si terr&amp;amp;agrave; un pre-appello scritto alle ore 11 in aula V a Matematica; per iscriversi contattare il docente&lt;br /&gt;
  I giorni 18 e 19 novembre 2008 non si svolgeranno le lezioni&lt;br /&gt;
  La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
  Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
&lt;br /&gt;
=Informazioni sul docente=&lt;br /&gt;
[[Image:docente.png|left|100px]]&lt;br /&gt;
&#039;&#039;&#039;[[Utente:Giacomo Cabri| Prof. Giacomo Cabri]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Università di Modena e Reggio Emilia, Via Campi 213/B - 41125 Modena&lt;br /&gt;
&lt;br /&gt;
Telefono 0592058320 - Fax 0592055216&lt;br /&gt;
&lt;br /&gt;
[mailto:giacomo.cabri@unimore.it giacomo.cabri@unimore.it]&lt;br /&gt;
&lt;br /&gt;
=Orario delle Lezioni=&lt;br /&gt;
&lt;br /&gt;
L&#039;orario ufficiale è riportato qui: [https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html]&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2023/24==&lt;br /&gt;
Le lezioni dell&#039;AA 2023/24 inizieranno il 25 settembre 2023 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2022/23==&lt;br /&gt;
Le lezioni dell&#039;AA 2022/23 inizieranno il 28 settembre 2022 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2021/22==&lt;br /&gt;
Le lezioni dell&#039;AA 2021/22 inizieranno il 20 settembre 2021 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula L1.3 presso Fisica&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2020/21==&lt;br /&gt;
Le lezioni dell&#039;AA 2020/21 inizieranno il 21 settembre 2020 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;grave; dalle 14 alle 17 a distanza&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2019/20==&lt;br /&gt;
Le lezioni dell&#039;AA 2019/20 inizieranno il 23 settembre 2019 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 10 alle 12 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 13 alle 16 in laboratorio BASE presso Matematica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 12 alle 14 in aula L1.3 presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2018/19==&lt;br /&gt;
Le lezioni dell&#039;AA 2018/19 inizieranno il 24 settembre 2018 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in laboratorio BASE presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.3 (ex aula III) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2017/18==&lt;br /&gt;
Le lezioni dell&#039;AA 2017/18 inizieranno il 25 settembre 2017 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2016/17==&lt;br /&gt;
Le lezioni dell&#039;AA 2016/17 inizieranno il 26 settembre 2016 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2015/16==&lt;br /&gt;
Le lezioni dell&#039;AA 2015/16 inizieranno il 28 settembre 2015 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2014/15==&lt;br /&gt;
Le lezioni dell&#039;AA 2014/15 avranno il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2013/14==&lt;br /&gt;
Le lezioni dell&#039;AA 2013/14 avranno  il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2012/13==&lt;br /&gt;
Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2011/12==&lt;br /&gt;
Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2010/11==&lt;br /&gt;
Le lezioni dell&#039;AA 2010/11 dovrebbero iniziare il 27 settembre 2010 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 9 alle 11 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2009/10==&lt;br /&gt;
Le lezioni dell&#039;AA 2009/10 inizieranno il 28 settembre 2009 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2008/09==&lt;br /&gt;
Le lezioni si tengono dal 29 settembre al 19 dicembre 2008 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
=Finalità Dell&#039;Insegnamento e Consigli Utili=&lt;br /&gt;
&lt;br /&gt;
L&#039;informatica odierna non consiste solo nel definire algoritmi e programmi che realizzano tali algoritmi, ma anche nel comporre architetture software e hardware sulla base di componenti software o hardware. Partendo da questo motivo dominante, l&#039;insegnamento affronta i seguenti argomenti:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;: verranno illustrati i concetti generali, quali incapsulamento, ereditarietà e polimorfismo; verranno accennati i concetti di riusabilità e di composizione dei componenti software, illustrando il passaggio dalla programmazione modulare alla programmazione ad oggetti.&lt;br /&gt;
* &#039;&#039;&#039;Il linguaggio Java&#039;&#039;&#039;: verrà utilizzato come esempio di linguaggio ad oggetti, spiegando come i concetti generali sono implementati in Java; verrà inoltre spiegato come Java può essere sfruttato per lo sviluppo di interfacce grafiche.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per superare agevolmente l&#039;esame si consiglia agli studenti di seguire con continuità le lezioni e le esercitazioni dell&#039;insegnamento. Inoltre, si consiglia di non focalizzare la preparazione dell&#039;esame esclusivamente sullo studio dei libri e degli appunti, ma piuttosto di preparare l&#039;esame sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l&#039;esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ambienti di Programmazione Utilizzati&#039;&#039;: Compilatore C, Java 1.5 di pubblico dominio (disponibili in laboratorio).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Programma dell&#039;insegnamento=&lt;br /&gt;
&#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;&lt;br /&gt;
*Concetti generali&lt;br /&gt;
*Il Linguaggio Java&lt;br /&gt;
*Classi ed ereditarietà in Java&lt;br /&gt;
*I/O in Java&lt;br /&gt;
*Interfacce grafiche in Java&lt;br /&gt;
*Programmazione basata sugli eventi&lt;br /&gt;
*Strutture dati in Java&lt;br /&gt;
*Thread in Java&lt;br /&gt;
&lt;br /&gt;
=Modalità D&#039;Esame=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21, a causa della situazione pandemica, la prova scritta è &#039;&#039;sostituita&#039;&#039; dalla consegna anticipata del progetto. Le conoscenze che precedentemente erano verificate tramite lo scritto, per il 2020/21 verranno verificate sul progetto realizzato.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame si compone di uno scritto e di una discussione di un programma in Java che lo studente deve presentare all&#039;esame (e la cui proposta di progetto deve essere stata preventivamente approvata dal docente). Per maggiori dettagli, vedere il seguito di questa pagina.&lt;br /&gt;
&lt;br /&gt;
==Esame scritto==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;:  nell&#039;AA 2020/21 non è prevista la prova scritta.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame scritto serve a verificare che lo studente abbia acquisito le nozioni di astrazione, classificazione, ereditarietà e polimorfismo.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame consiste nella modellazione di alcune entità e la relativa implementazione in Java.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; possibile vedere il testo di alcuni esercizi: &lt;br /&gt;
*[[Media:EserJava1.pdf|EserJava1]] &lt;br /&gt;
*[[Media:EserJava2.pdf|EserJava2]] &lt;br /&gt;
*[[Media:EserJava3.pdf|EserJava3]] &lt;br /&gt;
*[[Media:EserJava4.pdf|EserJava4]] [[Media:SoluzioneEserJava4.pdf|SoluzioneEserJava4]]&lt;br /&gt;
*[[Media:EserJava5.pdf|EserJava5]] &lt;br /&gt;
*[[Media:EserJava6.pdf|EserJava6]] &lt;br /&gt;
*[[Media:EserJava7.pdf|EserJava7]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#per l&#039;iscrizione all&#039;esame scritto è necessario utilizzare &#039;&#039;&#039;ESSE3&#039;&#039;&#039; e iscriversi entro la scadenza (di norma 2-3 giorni prima dell&#039;appello scritto stesso, me &amp;amp;egrave; bene controllare su ESSE3); &lt;br /&gt;
#&amp;amp;egrave; necessario aver superato lo scritto per presentare il progetto;&lt;br /&gt;
#la presentazione del progetto pu&amp;amp;ograve; avvenire anche in un appello diverso da quello dello scritto;&lt;br /&gt;
#la consegna di uno scritto cancella il voto precedente; la partecipazione ad uno scritto &#039;&#039;senza&#039;&#039; consegnare non cancella il voto precedente;&lt;br /&gt;
#il voto dello scritto vale orientativamente 1 anno; contattare il docente entro l&#039;anno se non si riesce a presentare il progetto e si richiede una proroga della validit&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
==Modalità di Sviluppo del Progetto Java==&lt;br /&gt;
All&#039;esame si deve presentare e discutere un programma realizzato in Java e che presenti le seguenti caratteristiche:&lt;br /&gt;
&lt;br /&gt;
* Sia dotato di &#039;&#039;&#039;interfaccia grafica&#039;&#039;&#039; tramite cui interagire con il programma stesso.&lt;br /&gt;
* Sfrutti i meccanismi della programmazione ad oggetti: &lt;br /&gt;
**&#039;&#039;&#039;incapsulamento&#039;&#039;&#039;; &lt;br /&gt;
**&#039;&#039;&#039;ereditarietà&#039;&#039;&#039; e, se necessario, le classi astratte e le interfacce (si considerano &#039;&#039;&#039;escluse&#039;&#039;&#039; le relazioni di ereditarietà diretta da classi di libreria Java); &lt;br /&gt;
**&#039;&#039;&#039;polimorfismo&#039;&#039;&#039;.&lt;br /&gt;
* Sfrutti le classi di sistema Java per la gestione dell&#039;&#039;&#039;&#039;input/output&#039;&#039;&#039; (&amp;lt;tt&amp;gt;Reader&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Writer&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;InputStream&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;OutputStream&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Utilizzi le &#039;&#039;&#039;strutture dati&#039;&#039;&#039; di libreria e i &#039;&#039;&#039;generics&#039;&#039;&#039;, motivando le scelte fatte. &lt;br /&gt;
* Sia diviso coerente in &#039;&#039;&#039;package&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Gli studenti sono invitati a seguire la traccia fornita dal docente.&lt;br /&gt;
In casi particolari, uno studente pu&amp;amp;ograve; proporre una proporia traccia, che &#039;&#039;&#039;deve&#039;&#039;&#039; essere approvata dal docente (anche via email).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Il programma deve essere una applicazione Java e &#039;&#039;&#039;NON&#039;&#039;&#039; una applet. --&amp;gt;&lt;br /&gt;
Il programma deve essere eseguito da &#039;&#039;&#039;linea di comando&#039;&#039;&#039;; non devono essere usate librerie proprietarie (ad es. quelle degli ambienti integrati) a meno di averlo concordato con il docente.&lt;br /&gt;
È opportuno &#039;&#039;&#039;provare&#039;&#039;&#039; il proprio programma su un altro computer (ad es. in laboratorio) prima di presentarlo in sede d&#039;esame, per verificare la portabilità.&lt;br /&gt;
&lt;br /&gt;
Il software deve essere accompagnato da pagine di &#039;&#039;&#039;documentazione&#039;&#039;&#039; HTML (tipicamente le pagine generate tramite Javadoc o altri strumenti come Doxygen) che descrivano le scelte di progetto effettuate e la struttura del sistema software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- A progetto realizzato, si valuterà il progetto (e il voto conseguente), ferma restando la possibilità del docente (e dello studente) di richiedere l&#039;integrazione nel progetto di ulteriori funzionalità/caratteristiche. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il progetto va portato il giorno dell&#039;esame, su un supporto tipo chiavetta USB; portare anche il proprio PC per sicurezza. (&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21 il progetto va consegnato in anticipo).&lt;br /&gt;
&lt;br /&gt;
In casi eccezionali &amp;amp;egrave; possibile presentare progetti di gruppo (2 persone), posto che l&#039;ampiezza del progetto sia tale da giustificare il suo sviluppo cooperativo. In tale caso, comunque, la discussione sarà esplicitamente volta a valutare, per ciascuno dei componenti del gruppo, l&#039;effettiva padronanza d&#039;uso dei concetti di base della programmazione ad oggetti, del linguaggio Java e delle sue librerie Java, oltre naturalmente all&#039;apporto individuale dato al progetto globale da ogni singolo membro del gruppo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Problemi &#039;&#039;&#039;DA EVITARE&#039;&#039;&#039; in sede di esame:&lt;br /&gt;
*Il programma non funziona&lt;br /&gt;
*Manca qualcosa (di solito, la documentazione)&lt;br /&gt;
*Il progetto è diviso su pi&amp;amp;ugrave; programmi (eventualmente da concordare con il docente)&lt;br /&gt;
*L’ereditariet&amp;amp;agrave; &amp;amp;egrave; usata male&lt;br /&gt;
*&amp;quot;Non mi ricordo come funziona perch&amp;amp;eacute; ho fatto il programma tempo fa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Traccia ==&lt;br /&gt;
[[Image:tesina.png|right|90px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; disponibile il [[Media:Tesina2425.pdf| testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
Chi decide di svolgere il progetto proposto dalla traccia, non ha bisogno di approvazione.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2425.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2324.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2223.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2022/23.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2122.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2021/22.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2021.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2020/21.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1920.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2019/20.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1819.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2018/19.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1718.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2017/18.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1617.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2016/17.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1516.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2015/16.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1415.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2014/15.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1314.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2013/14.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1213.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2012/13.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1112.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2011/12.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1011.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2010/11.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina0910.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2009/10.&lt;br /&gt;
&lt;br /&gt;
=Appelli=&lt;br /&gt;
[[Image:iscrizione.png|90px|right]]&lt;br /&gt;
Le date degli appelli sono disponibili sul sito ESSE3 (http://www.esse3.unimore.it).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
del corso di laurea&lt;br /&gt;
all&#039;indirizzo&lt;br /&gt;
&lt;br /&gt;
http://informatica.scienze.unimo.it/lt/Esami.php&lt;br /&gt;
&lt;br /&gt;
Dall&#039;AA 2006/07 viene usata la verbalizzazione elettronica; chi vuole sostenere l&#039;esame DEVE quindi iscriversi tramite il [http://www.esse3.unimore.it sito di ESSE3].&lt;br /&gt;
&lt;br /&gt;
NOTA: sul sito di ESSE3 sono presenti le date degli appelli &#039;&#039;&#039;orali&#039;&#039;&#039;, per la presentazione dei progetto.&lt;br /&gt;
Per l&#039;iscrizione agli appelli &#039;&#039;&#039;scritti&#039;&#039;&#039; &amp;amp;egrave; necessario inviare una email al docente entro 2 giorni prima dell&#039;appello scritto stesso, usando l&#039;indirizzo email &#039;&#039;&#039;universitario&#039;&#039;&#039; e specificando &#039;&#039;&#039;nome&#039;&#039;&#039;, &#039;&#039;&#039;cognome&#039;&#039;&#039; e &#039;&#039;&#039;matricola&#039;&#039;&#039;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Preappello==&lt;br /&gt;
Luned&amp;amp;igrave; 14 dicembre 2009 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un preappello valido per l&#039;esame scritto.&lt;br /&gt;
&lt;br /&gt;
Chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre con nome, cognome e matricola.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Risultati=&lt;br /&gt;
&lt;br /&gt;
Da settembre 2011 i risultati vengono comunicati tramite ESSE3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[RisultatiPO|Risultati]] degli appelli scritti precedenti:&lt;br /&gt;
*16 febbraio 2011&lt;br /&gt;
*20 gennaio 2011&lt;br /&gt;
*20 dicembre 2010&lt;br /&gt;
*18 gennaio 2010&lt;br /&gt;
*14 dicembre 2009&lt;br /&gt;
*22 giugno 2009&lt;br /&gt;
*10 giugno 2009&lt;br /&gt;
*19 febbraio 2009&lt;br /&gt;
*14 gennaio 2009&lt;br /&gt;
*15 dicembre 2008&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Testi Consigliati=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testo Dell&#039;Insegnamento&#039;&#039;&#039;&lt;br /&gt;
[[Image:textbook.png|100px|right]]&lt;br /&gt;
*G. Cabri, F. Zambonelli, &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Altri Testi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* C.S. Horstmann, &amp;quot;Concetti di informatica e fondamenti di Java&amp;quot;, Apogeo.&lt;br /&gt;
* B. Eckel, &amp;quot;Thinking in Java&amp;quot;, 4 edizione italiana, Pearson, (scaricabile gratuitamente da Internet la versione inglese http://www.BruceEckel.com).&lt;br /&gt;
* Arnold, Gosling, Holmes, &amp;quot;Il linguaggio Java. Manuale ufficiale&amp;quot;, Pearson.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per chi vuole approfondire:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mazzanti, Milanese, &amp;quot;Programmazione di applicazioni grafiche in Java&amp;quot;, Apogeo.&lt;br /&gt;
* Gamma, Helm, Johnson, Vlissides, &amp;quot;Design Patterns&amp;quot;, Addison-Wesley.&lt;br /&gt;
* J.R. Hubbard, &amp;quot;Strutture dati in Java&amp;quot;, McGraw-Hill.&lt;br /&gt;
* M.A. Weiss, &amp;quot;Data Structures And Problem Solving Using Java&amp;quot;, 2nd Edition, Addison Wesley.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Slide Dell&#039;Insegnamento=&lt;br /&gt;
&lt;br /&gt;
Il materiale degli insegnamenti di Programmazione ad Oggetti e Introduzione alla Programmazione ad Oggetti &amp;amp;egrave; contenuto nel libro &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
In questa pagina sono riportate le slide usate a lezione.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IntroduzioneInsegnamentoPO.pdf| Introduzione all&#039;insegnamento]]&lt;br /&gt;
# [[Media:01-Motivazioni.pdf | Motivazioni]]&lt;br /&gt;
# [[Media:02-LimitiProgrammazioneTradizionale.pdf|Limiti della programmazione tradizionale]]&lt;br /&gt;
# [[Media:03-IntroOOP.pdf|Introduzione alla programmazione ad oggetti]]&lt;br /&gt;
# [[Media:04-IntroJava.pdf|Introduzione al linguaggio Java]]&lt;br /&gt;
# [[Media:05-OOPJava.pdf|OOP in Java]]&lt;br /&gt;
# [[Media:06-ClassiAstratteIntefacceJava.pdf|Classi astratte e interfacce]]&lt;br /&gt;
# [[Media:07-IOJava.pdf|I/O in Java]]&lt;br /&gt;
# [[Media:08-JavaGUI.pdf|GUI in Java]]&lt;br /&gt;
# [[Media:09-CostruttiAvanzatiJava.pdf|Costrutti avanzati Java]]&lt;br /&gt;
# [[Media:10-GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:11-StruttureDatiJava.pdf|Strutture dati in Java]]&lt;br /&gt;
# [[Media:12-ThreadJava.pdf|Thread in Java]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Vecchie slide&lt;br /&gt;
* [[index.php?title=Media:09-Applet.pdf|Applet in Java]] (fatte fino all&#039;AA 2015/16)&lt;br /&gt;
* [[index.php?title=Media:UML01-LinguaggioUML 1.pdf|UML (prima parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
* [[index.php?title=Media:UML02-LinguaggioUML 2.pdf|UML (seconda parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Media:Classi.pdf|Classi di memorizzazione in C]]&lt;br /&gt;
# [[Media:TabelleMenuLayout.pdf|Tabelle, menu e layout in Java]]&lt;br /&gt;
# [[Media:GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:NovitaJ2SE5.pdf|Novit&amp;amp;agrave; di Java 2 SE 5]]&lt;br /&gt;
&lt;br /&gt;
# [[Media:JavaClassAsInterfacce.pdf| Classi Astratte e Interfacce in Java]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seminari==&lt;br /&gt;
[[index.php?title=Media:SeminarioJavaInfolog2015.pdf|Seminario]] sull&#039;uso di Java in azienda (Infolog, 9/12/2015)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2017.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2017)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2018.pdf|Seminario]] su C# (Paolo Burgio, 3/12/2018)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2015.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2019) - [[index.php?title=Media:ConsoleApp4.zip|Codice]] presentato durante il seminario&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Esempi presentati a lezione =&lt;br /&gt;
[[Image:eserciziLezione.png|right]]&lt;br /&gt;
Gli esempi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma [http://www.adobe.com/it/ Adobe Acrobat], di pubblico domino, altri in semplice formato testo.&lt;br /&gt;
Tutti gli esercizi sono stati realizzati in collaborazione con la Prof. Letizia Leonardi.&lt;br /&gt;
&lt;br /&gt;
*[[index.php?title=Media:ContoCorrente.pdf|Conto corrente in C]]&lt;br /&gt;
*[[index.php?title=Media:IOBinario.pdf|I/O Binario]]&lt;br /&gt;
*[[index.php?title=Media:Calcolatrice.zip|Calcolatrice]]&lt;br /&gt;
*[[index.php?title=Media:GraficoFunzioni.zip|Grafico di funzioni]]&lt;br /&gt;
*[[index.php?title=Media:CampoStellare.zip|Campo stellare]]&lt;br /&gt;
&lt;br /&gt;
===Programmazione ad Oggetti e Java===&lt;br /&gt;
Gli esercizi sono gli stessi contenuti nei lucidi della parte teorica, ma da qui e&#039; possibile salvare su un file (facendo &amp;quot;salva link con nome&amp;quot;) il sorgente della gran parte degli esercizi.&lt;br /&gt;
&lt;br /&gt;
====Java: Le Classi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Classi&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=13|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:Counter.java|Counter.java]], [[index.php?title=Media:Esempio0.java|Esempio0.java]], [[index.php?title=Media:Esempio1.java|Esempio1.java]], [[index.php?title=Media:Esempio2.java|Esempio2.java]], [[index.php?title=Media:Esempio2bis.java|Esempio2bis.java]], [[index.php?title=Media:Esempio3.java|Esempio3.java]], [[index.php?title=Media:Esempio4.java|Esempio4.java]], [[index.php?title=Media:Esempio5.java|Esempio5.java]], [[index.php?title=Media:Esempio5bis.java|Esempio5bis.java]], [[index.php?title=Media:Esempio6.java|Esempio6.java]], [[index.php?title=Media:Esempio7.java|Esempio7.java]], [[index.php?title=Media:Point.java|Point.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Java: Classi Astratte e Interfacce====&lt;br /&gt;
====Java: Ereditarietà====&lt;br /&gt;
====Java: Le Eccezioni====&lt;br /&gt;
====Java: Input e Output====&lt;br /&gt;
====Java: Programmazione Grafica e ad Eventi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Grafica&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=36|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:CalcButton.java|CalcButton.java]], [[index.php?title=Media:CalcPanel.java|CalcPanel.java]], [[index.php?title=Media:Calculator.java|Calculator.java]], [[index.php?title=Media:Es10Panel.java|Es10Panel.java]], [[index.php?title=Media:Es11Panel.java|Es11Panel.java]], [[index.php?title=Media:Es12Panel.java|Es12Panel.java]], [[index.php?title=Media:Es13Panel.java|Es13Panel.java]], [[index.php?title=Media:Es14Panel.java|Es14Panel.java]], [[index.php?title=Media:Es15Panel.java|Es15Panel.java]], [[index.php?title=Media:Es16Panel.java|Es16Panel.java]], [[index.php?title=Media:Es7Panel.java|Es7Panel.java]], [[index.php?title=Media:Es8Panel.java|Es8Panel.java]], [[index.php?title=Media:Es9Panel.java|Es9Panel.java]], [[index.php?title=Media:EsSwing1.java|EsSwing1.java]], [[index.php?title=Media:EsSwing10.java|EsSwing10.java]], [[index.php?title=Media:EsSwing11.java|EsSwing11.java]], [[index.php?title=Media:EsSwing12.java|EsSwing12.java]], [[index.php?title=Media:EsSwing13.java|EsSwing13.java]], [[index.php?title=Media:EsSwing14.java|EsSwing14.java]], [[index.php?title=Media:EsSwing15.java|EsSwing15.java]], [[index.php?title=Media:EsSwing16.java|EsSwing16.java]], [[index.php?title=Media:EsSwing2.java|EsSwing2.java]], [[index.php?title=Media:EsSwing3.java|EsSwing3.java]], [[index.php?title=Media:EsSwing4.java|EsSwing4.java]], [[index.php?title=Media:EsSwing5.java|EsSwing5.java]], [[index.php?title=Media:EsSwing6.java|EsSwing6.java]], [[index.php?title=Media:EsSwing7.java|EsSwing7.java]], [[index.php?title=Media:EsSwing8.java|EsSwing8.java]], [[index.php?title=Media:EsSwing9.java|EsSwing9.java]], [[index.php?title=Media:EsSwingCalculator.java|EsSwingCalculator.java]], [[index.php?title=Media:FunctionPanel.java|FunctionPanel.java]], [[index.php?title=Media:ImgPanel.java|ImgPanel.java]], [[index.php?title=Media:MyFrame.java|MyFrame.java]], [[index.php?title=Media:MyPanel.java|MyPanel.java]], [[index.php?title=Media:Terminator.java|Terminator.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Java: Le Applet====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Applet&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=9|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Applet1.java|Applet1.java]], [[Media:Applet2.java|Applet2.java]], [[Media:Applet2Listener.java|Applet2Listener.java]], [[Media:Applet3.java|Applet3.java]], [[Media:Applet3Listener.java|Applet3Listener.java]], &lt;br /&gt;
[[Media:Applet4.java|Applet4.java]], [[Media:Applet5.java|Applet5.java]], [[Media:Application2.java|Application2.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Strumenti Software=&lt;br /&gt;
[[Image:strumenti.png|right]]&lt;br /&gt;
Si indicano di seguito gli strumenti software che si utilizzano durante l&#039;insegnamento e si indica dove e&#039; possibile reperirli.&lt;br /&gt;
&lt;br /&gt;
* Per sviluppare programmi in Java si utilizza il JDK (Java Development Kit). Si può scaricare:&lt;br /&gt;
**dal sito [https://www.oracle.com/java/technologies/downloads/ Java at Oracle]&lt;br /&gt;
**dal sito [https://openjdk.java.net OpenJDK]&lt;br /&gt;
* &#039;&#039;&#039;NOTA:&#039;&#039;&#039; &amp;amp;Egrave; necessario utilizzare una versione del JDK maggiore o uguale alla 1.5 (Java J2SE 5). Si consiglia almeno la versione 11.&lt;br /&gt;
&amp;lt;!--* Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio--&amp;gt;&lt;br /&gt;
* Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è [http://www.eclipse.org/ Eclipse].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
*È possibile, per la parte C soltanto, usare un ambiente di programmazione integrato per il C disponibile qui: [http://www.delorie.com/djgpp/ Il compilatore DJGPP]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Esercitazioni di laboratorio=&lt;br /&gt;
 &lt;br /&gt;
Gli esercizi di laboratorio si possono trovare nella seguente pagina: [[EserciziPO|Esercizi di Programmazione ad Oggetti]].&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:IntroduzioneInsegnamentoPO.pdf&amp;diff=934</id>
		<title>File:IntroduzioneInsegnamentoPO.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:IntroduzioneInsegnamentoPO.pdf&amp;diff=934"/>
		<updated>2024-12-06T10:50:19Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=933</id>
		<title>Programmazione ad Oggetti</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=933"/>
		<updated>2024-12-06T10:49:59Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Slide Dell&amp;#039;Insegnamento */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&lt;br /&gt;
{{/box-testata|News|}}&lt;br /&gt;
{{/Evidenza}}&lt;br /&gt;
{{/box-fondo|[[Europa|Leggi la voce...]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{Userboxtop&lt;br /&gt;
| align = right&lt;br /&gt;
| backgroundcolor = lightyellow&lt;br /&gt;
| bordercolor = black&lt;br /&gt;
| extra-css =&lt;br /&gt;
| textcolor = &lt;br /&gt;
| toptext = NEWS&lt;br /&gt;
&amp;lt;!-- All of the parameters are optional. --&amp;gt;&lt;br /&gt;
&amp;lt;!--}}&lt;br /&gt;
La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
([[Wikipedia:Userboxes|Userboxes]] inserted here)&lt;br /&gt;
{{userboxbottom}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Questa pagina fornisce il materiale didattico e le informazioni relative all&#039;insegnamento di &#039;&#039;&#039;Programmazione ad Oggetti (9 CFU)&#039;&#039;&#039; per il Corso di Laurea in &#039;&#039;&#039;Informatica&#039;&#039;&#039;  e per l&#039;insegnamento di &#039;&#039;&#039;Introduzione alla Programmazione ad Oggetti (6 CFU)&#039;&#039;&#039; a partire dall&#039;AA 2008/2009.&lt;br /&gt;
&lt;br /&gt;
Si veda [http://{{SERVERNAME}}/didattica/lpo/ questa pagina] per informazioni su:&lt;br /&gt;
*Programmazione ad Oggetti (6 CFU - 2007/08)&lt;br /&gt;
*Linguaggi per la Programmazione ad Oggetti (6 CFU - fino al 2006/2007)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
&lt;br /&gt;
==Ultime news==&lt;br /&gt;
   Le lezioni dell&#039;AA 2024/25 si svolgeranno in presenza a partire dal 25/9/2024.&lt;br /&gt;
&lt;br /&gt;
==Vecchie news==&lt;br /&gt;
&lt;br /&gt;
=== 2023/24 ===&lt;br /&gt;
 &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2023/24.&lt;br /&gt;
&lt;br /&gt;
 Le lezioni dell&#039;AA 2023/24 si svolgeranno in presenza a partire dal 27/9/2023.&lt;br /&gt;
&lt;br /&gt;
===2022/23===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2022/23.&lt;br /&gt;
  Le lezioni dell&#039;AA 2022/23 si svolgeranno in presenza a partire dal 28/9/2022.&lt;br /&gt;
&lt;br /&gt;
===2021/22===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2021/22&lt;br /&gt;
  Le lezioni dell&#039;AA 2021/22 si svolgeranno in presenza.&lt;br /&gt;
&lt;br /&gt;
===2020/21===&lt;br /&gt;
  Per l&#039;AA 2020/21 l&#039;esame scritto è sostituito dalla consegna anticipata del progetto.&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni dell&#039;AA 2020/21 si svolgeranno in modalità a distanza tramite la piattaforma Dolly (https://dolly.fim.unimore.it/2020)&lt;br /&gt;
&lt;br /&gt;
===2019/20===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 19/11/2019 si terr&amp;amp;agrave; alle 14 in aula L1.3.&lt;br /&gt;
  La lezione di venerd&amp;amp;igrave; 15/11/2019 non si terr&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
===2017/18===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Sono aperte le iscrizioni tramite ESSE3 al preppello scritto che si svolger&amp;amp;agrave; il 18 dicembre 2017 alle ore 8.45 in Aula M1.4.&lt;br /&gt;
&lt;br /&gt;
===2016/17===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
&lt;br /&gt;
===2015/16===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 29 settembre 2015 si terr&amp;amp;agrave; in aula M1.3 (Aula III) dalle 14 alle 17 invece che in laboratorio&lt;br /&gt;
  Il 21/12/15 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2014/15===&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; in aula M2.5 (ex aula X matematica) dalle 14 alle 17&lt;br /&gt;
  La mattina di luned&amp;amp;igrave; 1 dicembre 2014 sono sospese le lezioni per l&#039;inaugurazione dell&#039;anno accademico&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 24 novembre e mercoled&amp;amp;igrave; 26 novembre 2014 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 30 settembre 2014 si terr&amp;amp;agrave; in aula M1.5 (ex aula IV)&lt;br /&gt;
&lt;br /&gt;
===2013/14===&lt;br /&gt;
  Il 9/12/13 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 2/12/13 &amp;amp;egrave; spostata a marted&amp;amp;igrave; 2/12/13 al posto dell&#039;esercitazione&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 25/11/13 e mercoled&amp;amp;igrave; 27/11/13 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 24/9/13 si terr&amp;amp;agrave; in laboratorio BASE alle ore 14&lt;br /&gt;
&lt;br /&gt;
===2012/13===&lt;br /&gt;
  Il 12/12/12 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3, ma chi ha problemi puo&#039; mandare una email al docente entro il 9/12&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 21 novembre sar&amp;amp;agrave; sostituita da Linguaggi Formali e Compilatori del prof. Leoncini.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 2 ottobre si terr&amp;amp;agrave; in aula V.&lt;br /&gt;
  Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 a causa di un impegno all&#039;estero del docente.&lt;br /&gt;
&lt;br /&gt;
===2011/12===&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 7 dicembre si terr&amp;amp;agrave; regolarmente alle 11, l&#039;ing. Elton Domnori terr&amp;amp;agrave; un seminario sulla programmazione dei dispositivi mobili&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2011/12&lt;br /&gt;
  Luned&amp;amp;igrave; 5 dicembre si terr&amp;amp;agrave; il preappello scritto; &amp;amp;egrave; necessario iscriversi tramite ESSE3.&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 16 novembre &amp;amp;egrave; anticipata alle ore 9.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 7 novembre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 5 ottobre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 27 settembre si terr&amp;amp;agrave; in aula V e NON in laboratorio.&lt;br /&gt;
  &amp;amp;Egrave; stato definito l&#039;orario delle lezioni.&lt;br /&gt;
  Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011.&lt;br /&gt;
&lt;br /&gt;
===2010/11===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2010/11&lt;br /&gt;
  Le lezioni del mercoled&amp;amp;igrave; si tengono in aula V.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 21/12/10 si tiene in aula V&lt;br /&gt;
  Luned&amp;amp;igrave; 20 dicembre 2010 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto;&lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare, deve mandare una email al docente &lt;br /&gt;
  ENTRO venerd&amp;amp;igrave; 17/12 con nome, cognome e numero di matricola&lt;br /&gt;
  Le lezioni inizieranno l&#039;11 ottobre 2010.&lt;br /&gt;
&lt;br /&gt;
===2009/10===&lt;br /&gt;
  L&#039;esame scritto del 15 febbraio 2010 non si terr&amp;amp;agrave; per mancanza di iscritti&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 14/12/09&lt;br /&gt;
  &amp;amp;Egrave; disponibile una traccia del progetto da portare all&#039;esame&lt;br /&gt;
  L&#039;ultima lezione dell&#039;AA 2009/10 si terr&amp;amp;agrave; il 15 dicembre 2009&lt;br /&gt;
  Mercoled&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; una esercitazione sull&#039;esame scritto&lt;br /&gt;
  Luned&amp;amp;igrave; &#039;&#039;&#039;14 dicembre&#039;&#039;&#039; 2009 alle ore &#039;&#039;&#039;11&#039;&#039;&#039; in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto; &lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre 2009;&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 7 dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 1° dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;esercitazione del 30 settembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;appello scritto del 15 luglio 2009 non si terr&amp;amp;agrave; in quanto non c&#039;&amp;amp;egrave; nessun iscritto&lt;br /&gt;
  Venerd&amp;amp;igrave; 12 e sabato 13 giugno 2009 il sistema ESSE3 non sar&amp;amp;agrave; disponibile per iscriversi agli esami e neanche per compilare il questionario di valutazione&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 15/12/08&lt;br /&gt;
  Sono state pubblicate le date degli appelli della sessione straordinaria 2008/2009&lt;br /&gt;
  Sono disponibili alcuni esercizi per l&#039;appello scritto&lt;br /&gt;
  Luned&amp;amp;igrave; 15 dicembre 2008 si terr&amp;amp;agrave; un pre-appello scritto alle ore 11 in aula V a Matematica; per iscriversi contattare il docente&lt;br /&gt;
  I giorni 18 e 19 novembre 2008 non si svolgeranno le lezioni&lt;br /&gt;
  La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
  Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
&lt;br /&gt;
=Informazioni sul docente=&lt;br /&gt;
[[Image:docente.png|left|100px]]&lt;br /&gt;
&#039;&#039;&#039;[[Utente:Giacomo Cabri| Prof. Giacomo Cabri]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Università di Modena e Reggio Emilia, Via Campi 213/B - 41125 Modena&lt;br /&gt;
&lt;br /&gt;
Telefono 0592058320 - Fax 0592055216&lt;br /&gt;
&lt;br /&gt;
[mailto:giacomo.cabri@unimore.it giacomo.cabri@unimore.it]&lt;br /&gt;
&lt;br /&gt;
=Orario delle Lezioni=&lt;br /&gt;
&lt;br /&gt;
L&#039;orario ufficiale è riportato qui: [https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html]&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2023/24==&lt;br /&gt;
Le lezioni dell&#039;AA 2023/24 inizieranno il 25 settembre 2023 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2022/23==&lt;br /&gt;
Le lezioni dell&#039;AA 2022/23 inizieranno il 28 settembre 2022 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2021/22==&lt;br /&gt;
Le lezioni dell&#039;AA 2021/22 inizieranno il 20 settembre 2021 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula L1.3 presso Fisica&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2020/21==&lt;br /&gt;
Le lezioni dell&#039;AA 2020/21 inizieranno il 21 settembre 2020 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;grave; dalle 14 alle 17 a distanza&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2019/20==&lt;br /&gt;
Le lezioni dell&#039;AA 2019/20 inizieranno il 23 settembre 2019 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 10 alle 12 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 13 alle 16 in laboratorio BASE presso Matematica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 12 alle 14 in aula L1.3 presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2018/19==&lt;br /&gt;
Le lezioni dell&#039;AA 2018/19 inizieranno il 24 settembre 2018 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in laboratorio BASE presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.3 (ex aula III) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2017/18==&lt;br /&gt;
Le lezioni dell&#039;AA 2017/18 inizieranno il 25 settembre 2017 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2016/17==&lt;br /&gt;
Le lezioni dell&#039;AA 2016/17 inizieranno il 26 settembre 2016 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2015/16==&lt;br /&gt;
Le lezioni dell&#039;AA 2015/16 inizieranno il 28 settembre 2015 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2014/15==&lt;br /&gt;
Le lezioni dell&#039;AA 2014/15 avranno il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2013/14==&lt;br /&gt;
Le lezioni dell&#039;AA 2013/14 avranno  il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2012/13==&lt;br /&gt;
Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2011/12==&lt;br /&gt;
Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2010/11==&lt;br /&gt;
Le lezioni dell&#039;AA 2010/11 dovrebbero iniziare il 27 settembre 2010 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 9 alle 11 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2009/10==&lt;br /&gt;
Le lezioni dell&#039;AA 2009/10 inizieranno il 28 settembre 2009 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2008/09==&lt;br /&gt;
Le lezioni si tengono dal 29 settembre al 19 dicembre 2008 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
=Finalità Dell&#039;Insegnamento e Consigli Utili=&lt;br /&gt;
&lt;br /&gt;
L&#039;informatica odierna non consiste solo nel definire algoritmi e programmi che realizzano tali algoritmi, ma anche nel comporre architetture software e hardware sulla base di componenti software o hardware. Partendo da questo motivo dominante, l&#039;insegnamento affronta i seguenti argomenti:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;: verranno illustrati i concetti generali, quali incapsulamento, ereditarietà e polimorfismo; verranno accennati i concetti di riusabilità e di composizione dei componenti software, illustrando il passaggio dalla programmazione modulare alla programmazione ad oggetti.&lt;br /&gt;
* &#039;&#039;&#039;Il linguaggio Java&#039;&#039;&#039;: verrà utilizzato come esempio di linguaggio ad oggetti, spiegando come i concetti generali sono implementati in Java; verrà inoltre spiegato come Java può essere sfruttato per lo sviluppo di interfacce grafiche.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per superare agevolmente l&#039;esame si consiglia agli studenti di seguire con continuità le lezioni e le esercitazioni dell&#039;insegnamento. Inoltre, si consiglia di non focalizzare la preparazione dell&#039;esame esclusivamente sullo studio dei libri e degli appunti, ma piuttosto di preparare l&#039;esame sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l&#039;esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ambienti di Programmazione Utilizzati&#039;&#039;: Compilatore C, Java 1.5 di pubblico dominio (disponibili in laboratorio).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Programma dell&#039;insegnamento=&lt;br /&gt;
&#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;&lt;br /&gt;
*Concetti generali&lt;br /&gt;
*Il Linguaggio Java&lt;br /&gt;
*Classi ed ereditarietà in Java&lt;br /&gt;
*I/O in Java&lt;br /&gt;
*Interfacce grafiche in Java&lt;br /&gt;
*Programmazione basata sugli eventi&lt;br /&gt;
*Strutture dati in Java&lt;br /&gt;
*Thread in Java&lt;br /&gt;
&lt;br /&gt;
=Modalità D&#039;Esame=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21, a causa della situazione pandemica, la prova scritta è &#039;&#039;sostituita&#039;&#039; dalla consegna anticipata del progetto. Le conoscenze che precedentemente erano verificate tramite lo scritto, per il 2020/21 verranno verificate sul progetto realizzato.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame si compone di uno scritto e di una discussione di un programma in Java che lo studente deve presentare all&#039;esame (e la cui proposta di progetto deve essere stata preventivamente approvata dal docente). Per maggiori dettagli, vedere il seguito di questa pagina.&lt;br /&gt;
&lt;br /&gt;
==Esame scritto==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;:  nell&#039;AA 2020/21 non è prevista la prova scritta.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame scritto serve a verificare che lo studente abbia acquisito le nozioni di astrazione, classificazione, ereditarietà e polimorfismo.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame consiste nella modellazione di alcune entità e la relativa implementazione in Java.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; possibile vedere il testo di alcuni esercizi: &lt;br /&gt;
*[[Media:EserJava1.pdf|EserJava1]] &lt;br /&gt;
*[[Media:EserJava2.pdf|EserJava2]] &lt;br /&gt;
*[[Media:EserJava3.pdf|EserJava3]] &lt;br /&gt;
*[[Media:EserJava4.pdf|EserJava4]] [[Media:SoluzioneEserJava4.pdf|SoluzioneEserJava4]]&lt;br /&gt;
*[[Media:EserJava5.pdf|EserJava5]] &lt;br /&gt;
*[[Media:EserJava6.pdf|EserJava6]] &lt;br /&gt;
*[[Media:EserJava7.pdf|EserJava7]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#per l&#039;iscrizione all&#039;esame scritto è necessario utilizzare &#039;&#039;&#039;ESSE3&#039;&#039;&#039; e iscriversi entro la scadenza (di norma 2-3 giorni prima dell&#039;appello scritto stesso, me &amp;amp;egrave; bene controllare su ESSE3); &lt;br /&gt;
#&amp;amp;egrave; necessario aver superato lo scritto per presentare il progetto;&lt;br /&gt;
#la presentazione del progetto pu&amp;amp;ograve; avvenire anche in un appello diverso da quello dello scritto;&lt;br /&gt;
#la consegna di uno scritto cancella il voto precedente; la partecipazione ad uno scritto &#039;&#039;senza&#039;&#039; consegnare non cancella il voto precedente;&lt;br /&gt;
#il voto dello scritto vale orientativamente 1 anno; contattare il docente entro l&#039;anno se non si riesce a presentare il progetto e si richiede una proroga della validit&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
==Modalità di Sviluppo del Progetto Java==&lt;br /&gt;
All&#039;esame si deve presentare e discutere un programma realizzato in Java e che presenti le seguenti caratteristiche:&lt;br /&gt;
&lt;br /&gt;
* Sia dotato di &#039;&#039;&#039;interfaccia grafica&#039;&#039;&#039; tramite cui interagire con il programma stesso.&lt;br /&gt;
* Sfrutti i meccanismi della programmazione ad oggetti: &lt;br /&gt;
**&#039;&#039;&#039;incapsulamento&#039;&#039;&#039;; &lt;br /&gt;
**&#039;&#039;&#039;ereditarietà&#039;&#039;&#039; e, se necessario, le classi astratte e le interfacce (si considerano &#039;&#039;&#039;escluse&#039;&#039;&#039; le relazioni di ereditarietà diretta da classi di libreria Java); &lt;br /&gt;
**&#039;&#039;&#039;polimorfismo&#039;&#039;&#039;.&lt;br /&gt;
* Sfrutti le classi di sistema Java per la gestione dell&#039;&#039;&#039;&#039;input/output&#039;&#039;&#039; (&amp;lt;tt&amp;gt;Reader&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Writer&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;InputStream&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;OutputStream&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Utilizzi le &#039;&#039;&#039;strutture dati&#039;&#039;&#039; di libreria e i &#039;&#039;&#039;generics&#039;&#039;&#039;, motivando le scelte fatte. &lt;br /&gt;
* Sia diviso coerente in &#039;&#039;&#039;package&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Gli studenti sono invitati a seguire la traccia fornita dal docente.&lt;br /&gt;
In casi particolari, uno studente pu&amp;amp;ograve; proporre una proporia traccia, che &#039;&#039;&#039;deve&#039;&#039;&#039; essere approvata dal docente (anche via email).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Il programma deve essere una applicazione Java e &#039;&#039;&#039;NON&#039;&#039;&#039; una applet. --&amp;gt;&lt;br /&gt;
Il programma deve essere eseguito da &#039;&#039;&#039;linea di comando&#039;&#039;&#039;; non devono essere usate librerie proprietarie (ad es. quelle degli ambienti integrati) a meno di averlo concordato con il docente.&lt;br /&gt;
È opportuno &#039;&#039;&#039;provare&#039;&#039;&#039; il proprio programma su un altro computer (ad es. in laboratorio) prima di presentarlo in sede d&#039;esame, per verificare la portabilità.&lt;br /&gt;
&lt;br /&gt;
Il software deve essere accompagnato da pagine di &#039;&#039;&#039;documentazione&#039;&#039;&#039; HTML (tipicamente le pagine generate tramite Javadoc o altri strumenti come Doxygen) che descrivano le scelte di progetto effettuate e la struttura del sistema software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- A progetto realizzato, si valuterà il progetto (e il voto conseguente), ferma restando la possibilità del docente (e dello studente) di richiedere l&#039;integrazione nel progetto di ulteriori funzionalità/caratteristiche. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il progetto va portato il giorno dell&#039;esame, su un supporto tipo chiavetta USB; portare anche il proprio PC per sicurezza. (&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21 il progetto va consegnato in anticipo).&lt;br /&gt;
&lt;br /&gt;
In casi eccezionali &amp;amp;egrave; possibile presentare progetti di gruppo (2 persone), posto che l&#039;ampiezza del progetto sia tale da giustificare il suo sviluppo cooperativo. In tale caso, comunque, la discussione sarà esplicitamente volta a valutare, per ciascuno dei componenti del gruppo, l&#039;effettiva padronanza d&#039;uso dei concetti di base della programmazione ad oggetti, del linguaggio Java e delle sue librerie Java, oltre naturalmente all&#039;apporto individuale dato al progetto globale da ogni singolo membro del gruppo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Problemi &#039;&#039;&#039;DA EVITARE&#039;&#039;&#039; in sede di esame:&lt;br /&gt;
*Il programma non funziona&lt;br /&gt;
*Manca qualcosa (di solito, la documentazione)&lt;br /&gt;
*Il progetto è diviso su pi&amp;amp;ugrave; programmi (eventualmente da concordare con il docente)&lt;br /&gt;
*L’ereditariet&amp;amp;agrave; &amp;amp;egrave; usata male&lt;br /&gt;
*&amp;quot;Non mi ricordo come funziona perch&amp;amp;eacute; ho fatto il programma tempo fa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Traccia ==&lt;br /&gt;
[[Image:tesina.png|right|90px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; disponibile il [[Media:Tesina2425.pdf| testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
Chi decide di svolgere il progetto proposto dalla traccia, non ha bisogno di approvazione.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2425.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2324.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2223.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2022/23.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2122.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2021/22.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2021.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2020/21.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1920.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2019/20.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1819.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2018/19.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1718.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2017/18.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1617.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2016/17.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1516.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2015/16.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1415.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2014/15.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1314.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2013/14.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1213.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2012/13.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1112.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2011/12.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1011.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2010/11.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina0910.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2009/10.&lt;br /&gt;
&lt;br /&gt;
=Appelli=&lt;br /&gt;
[[Image:iscrizione.png|90px|right]]&lt;br /&gt;
Le date degli appelli sono disponibili sul sito ESSE3 (http://www.esse3.unimore.it).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
del corso di laurea&lt;br /&gt;
all&#039;indirizzo&lt;br /&gt;
&lt;br /&gt;
http://informatica.scienze.unimo.it/lt/Esami.php&lt;br /&gt;
&lt;br /&gt;
Dall&#039;AA 2006/07 viene usata la verbalizzazione elettronica; chi vuole sostenere l&#039;esame DEVE quindi iscriversi tramite il [http://www.esse3.unimore.it sito di ESSE3].&lt;br /&gt;
&lt;br /&gt;
NOTA: sul sito di ESSE3 sono presenti le date degli appelli &#039;&#039;&#039;orali&#039;&#039;&#039;, per la presentazione dei progetto.&lt;br /&gt;
Per l&#039;iscrizione agli appelli &#039;&#039;&#039;scritti&#039;&#039;&#039; &amp;amp;egrave; necessario inviare una email al docente entro 2 giorni prima dell&#039;appello scritto stesso, usando l&#039;indirizzo email &#039;&#039;&#039;universitario&#039;&#039;&#039; e specificando &#039;&#039;&#039;nome&#039;&#039;&#039;, &#039;&#039;&#039;cognome&#039;&#039;&#039; e &#039;&#039;&#039;matricola&#039;&#039;&#039;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Preappello==&lt;br /&gt;
Luned&amp;amp;igrave; 14 dicembre 2009 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un preappello valido per l&#039;esame scritto.&lt;br /&gt;
&lt;br /&gt;
Chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre con nome, cognome e matricola.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Risultati=&lt;br /&gt;
&lt;br /&gt;
Da settembre 2011 i risultati vengono comunicati tramite ESSE3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[RisultatiPO|Risultati]] degli appelli scritti precedenti:&lt;br /&gt;
*16 febbraio 2011&lt;br /&gt;
*20 gennaio 2011&lt;br /&gt;
*20 dicembre 2010&lt;br /&gt;
*18 gennaio 2010&lt;br /&gt;
*14 dicembre 2009&lt;br /&gt;
*22 giugno 2009&lt;br /&gt;
*10 giugno 2009&lt;br /&gt;
*19 febbraio 2009&lt;br /&gt;
*14 gennaio 2009&lt;br /&gt;
*15 dicembre 2008&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Testi Consigliati=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testo Dell&#039;Insegnamento&#039;&#039;&#039;&lt;br /&gt;
[[Image:textbook.png|100px|right]]&lt;br /&gt;
*G. Cabri, F. Zambonelli, &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Altri Testi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* C.S. Horstmann, &amp;quot;Concetti di informatica e fondamenti di Java&amp;quot;, Apogeo.&lt;br /&gt;
* B. Eckel, &amp;quot;Thinking in Java&amp;quot;, 4 edizione italiana, Pearson, (scaricabile gratuitamente da Internet la versione inglese http://www.BruceEckel.com).&lt;br /&gt;
* Arnold, Gosling, Holmes, &amp;quot;Il linguaggio Java. Manuale ufficiale&amp;quot;, Pearson.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per chi vuole approfondire:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mazzanti, Milanese, &amp;quot;Programmazione di applicazioni grafiche in Java&amp;quot;, Apogeo.&lt;br /&gt;
* Gamma, Helm, Johnson, Vlissides, &amp;quot;Design Patterns&amp;quot;, Addison-Wesley.&lt;br /&gt;
* J.R. Hubbard, &amp;quot;Strutture dati in Java&amp;quot;, McGraw-Hill.&lt;br /&gt;
* M.A. Weiss, &amp;quot;Data Structures And Problem Solving Using Java&amp;quot;, 2nd Edition, Addison Wesley.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Slide Dell&#039;Insegnamento=&lt;br /&gt;
&lt;br /&gt;
Il materiale degli insegnamenti di Programmazione ad Oggetti e Introduzione alla Programmazione ad Oggetti &amp;amp;egrave; contenuto nel libro &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
In questa pagina sono riportate le slide usate a lezione.&lt;br /&gt;
&lt;br /&gt;
* [[Media:IntroduzioneInsegnamentoPO.pdf| Introduzione all&#039;insegnamento]]&lt;br /&gt;
# [[Media: Motivazioni.pdf | Motivazioni.]]&lt;br /&gt;
# [[Media:02-LimitiProgrammazioneTradizionale.pdf|Limiti della programmazione tradizionale]]&lt;br /&gt;
# [[index.php?title=Media:03-IntroOOP.pdf|Introduzione alla programmazione ad oggetti]]&lt;br /&gt;
# [[index.php?title=Media:04-IntroJava.pdf|Introduzione al linguaggio Java]]&lt;br /&gt;
# [[index.php?title=Media:05-OOPJava.pdf|OOP in Java]]&lt;br /&gt;
# [[index.php?title=Media:06-ClassiAstratteIntefacceJava.pdf|Classi astratte e interfacce]]&lt;br /&gt;
# [[index.php?title=Media:07-IOJava.pdf|I/O in Java]]&lt;br /&gt;
# [[index.php?title=Media:08-JavaGUI.pdf|GUI in Java]]&lt;br /&gt;
# [[index.php?title=Media:09-CostruttiAvanzatiJava.pdf|Costrutti avanzati Java]]&lt;br /&gt;
# [[index.php?title=Media:10-GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[index.php?title=Media:11-StruttureDatiJava.pdf|Strutture dati in Java]]&lt;br /&gt;
# [[index.php?title=Media:12-ThreadJava.pdf|Thread in Java]]&lt;br /&gt;
&lt;br /&gt;
Vecchie slide&lt;br /&gt;
* [[index.php?title=Media:09-Applet.pdf|Applet in Java]] (fatte fino all&#039;AA 2015/16)&lt;br /&gt;
* [[index.php?title=Media:UML01-LinguaggioUML 1.pdf|UML (prima parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
* [[index.php?title=Media:UML02-LinguaggioUML 2.pdf|UML (seconda parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Media:Classi.pdf|Classi di memorizzazione in C]]&lt;br /&gt;
# [[Media:TabelleMenuLayout.pdf|Tabelle, menu e layout in Java]]&lt;br /&gt;
# [[Media:GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:NovitaJ2SE5.pdf|Novit&amp;amp;agrave; di Java 2 SE 5]]&lt;br /&gt;
&lt;br /&gt;
# [[Media:JavaClassAsInterfacce.pdf| Classi Astratte e Interfacce in Java]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seminari==&lt;br /&gt;
[[index.php?title=Media:SeminarioJavaInfolog2015.pdf|Seminario]] sull&#039;uso di Java in azienda (Infolog, 9/12/2015)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2017.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2017)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2018.pdf|Seminario]] su C# (Paolo Burgio, 3/12/2018)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2015.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2019) - [[index.php?title=Media:ConsoleApp4.zip|Codice]] presentato durante il seminario&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Esempi presentati a lezione =&lt;br /&gt;
[[Image:eserciziLezione.png|right]]&lt;br /&gt;
Gli esempi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma [http://www.adobe.com/it/ Adobe Acrobat], di pubblico domino, altri in semplice formato testo.&lt;br /&gt;
Tutti gli esercizi sono stati realizzati in collaborazione con la Prof. Letizia Leonardi.&lt;br /&gt;
&lt;br /&gt;
*[[index.php?title=Media:ContoCorrente.pdf|Conto corrente in C]]&lt;br /&gt;
*[[index.php?title=Media:IOBinario.pdf|I/O Binario]]&lt;br /&gt;
*[[index.php?title=Media:Calcolatrice.zip|Calcolatrice]]&lt;br /&gt;
*[[index.php?title=Media:GraficoFunzioni.zip|Grafico di funzioni]]&lt;br /&gt;
*[[index.php?title=Media:CampoStellare.zip|Campo stellare]]&lt;br /&gt;
&lt;br /&gt;
===Programmazione ad Oggetti e Java===&lt;br /&gt;
Gli esercizi sono gli stessi contenuti nei lucidi della parte teorica, ma da qui e&#039; possibile salvare su un file (facendo &amp;quot;salva link con nome&amp;quot;) il sorgente della gran parte degli esercizi.&lt;br /&gt;
&lt;br /&gt;
====Java: Le Classi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Classi&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=13|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:Counter.java|Counter.java]], [[index.php?title=Media:Esempio0.java|Esempio0.java]], [[index.php?title=Media:Esempio1.java|Esempio1.java]], [[index.php?title=Media:Esempio2.java|Esempio2.java]], [[index.php?title=Media:Esempio2bis.java|Esempio2bis.java]], [[index.php?title=Media:Esempio3.java|Esempio3.java]], [[index.php?title=Media:Esempio4.java|Esempio4.java]], [[index.php?title=Media:Esempio5.java|Esempio5.java]], [[index.php?title=Media:Esempio5bis.java|Esempio5bis.java]], [[index.php?title=Media:Esempio6.java|Esempio6.java]], [[index.php?title=Media:Esempio7.java|Esempio7.java]], [[index.php?title=Media:Point.java|Point.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Java: Classi Astratte e Interfacce====&lt;br /&gt;
====Java: Ereditarietà====&lt;br /&gt;
====Java: Le Eccezioni====&lt;br /&gt;
====Java: Input e Output====&lt;br /&gt;
====Java: Programmazione Grafica e ad Eventi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Grafica&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=36|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:CalcButton.java|CalcButton.java]], [[index.php?title=Media:CalcPanel.java|CalcPanel.java]], [[index.php?title=Media:Calculator.java|Calculator.java]], [[index.php?title=Media:Es10Panel.java|Es10Panel.java]], [[index.php?title=Media:Es11Panel.java|Es11Panel.java]], [[index.php?title=Media:Es12Panel.java|Es12Panel.java]], [[index.php?title=Media:Es13Panel.java|Es13Panel.java]], [[index.php?title=Media:Es14Panel.java|Es14Panel.java]], [[index.php?title=Media:Es15Panel.java|Es15Panel.java]], [[index.php?title=Media:Es16Panel.java|Es16Panel.java]], [[index.php?title=Media:Es7Panel.java|Es7Panel.java]], [[index.php?title=Media:Es8Panel.java|Es8Panel.java]], [[index.php?title=Media:Es9Panel.java|Es9Panel.java]], [[index.php?title=Media:EsSwing1.java|EsSwing1.java]], [[index.php?title=Media:EsSwing10.java|EsSwing10.java]], [[index.php?title=Media:EsSwing11.java|EsSwing11.java]], [[index.php?title=Media:EsSwing12.java|EsSwing12.java]], [[index.php?title=Media:EsSwing13.java|EsSwing13.java]], [[index.php?title=Media:EsSwing14.java|EsSwing14.java]], [[index.php?title=Media:EsSwing15.java|EsSwing15.java]], [[index.php?title=Media:EsSwing16.java|EsSwing16.java]], [[index.php?title=Media:EsSwing2.java|EsSwing2.java]], [[index.php?title=Media:EsSwing3.java|EsSwing3.java]], [[index.php?title=Media:EsSwing4.java|EsSwing4.java]], [[index.php?title=Media:EsSwing5.java|EsSwing5.java]], [[index.php?title=Media:EsSwing6.java|EsSwing6.java]], [[index.php?title=Media:EsSwing7.java|EsSwing7.java]], [[index.php?title=Media:EsSwing8.java|EsSwing8.java]], [[index.php?title=Media:EsSwing9.java|EsSwing9.java]], [[index.php?title=Media:EsSwingCalculator.java|EsSwingCalculator.java]], [[index.php?title=Media:FunctionPanel.java|FunctionPanel.java]], [[index.php?title=Media:ImgPanel.java|ImgPanel.java]], [[index.php?title=Media:MyFrame.java|MyFrame.java]], [[index.php?title=Media:MyPanel.java|MyPanel.java]], [[index.php?title=Media:Terminator.java|Terminator.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Java: Le Applet====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Applet&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=9|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Applet1.java|Applet1.java]], [[Media:Applet2.java|Applet2.java]], [[Media:Applet2Listener.java|Applet2Listener.java]], [[Media:Applet3.java|Applet3.java]], [[Media:Applet3Listener.java|Applet3Listener.java]], &lt;br /&gt;
[[Media:Applet4.java|Applet4.java]], [[Media:Applet5.java|Applet5.java]], [[Media:Application2.java|Application2.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Strumenti Software=&lt;br /&gt;
[[Image:strumenti.png|right]]&lt;br /&gt;
Si indicano di seguito gli strumenti software che si utilizzano durante l&#039;insegnamento e si indica dove e&#039; possibile reperirli.&lt;br /&gt;
&lt;br /&gt;
* Per sviluppare programmi in Java si utilizza il JDK (Java Development Kit). Si può scaricare:&lt;br /&gt;
**dal sito [https://www.oracle.com/java/technologies/downloads/ Java at Oracle]&lt;br /&gt;
**dal sito [https://openjdk.java.net OpenJDK]&lt;br /&gt;
* &#039;&#039;&#039;NOTA:&#039;&#039;&#039; &amp;amp;Egrave; necessario utilizzare una versione del JDK maggiore o uguale alla 1.5 (Java J2SE 5). Si consiglia almeno la versione 11.&lt;br /&gt;
&amp;lt;!--* Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio--&amp;gt;&lt;br /&gt;
* Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è [http://www.eclipse.org/ Eclipse].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
*È possibile, per la parte C soltanto, usare un ambiente di programmazione integrato per il C disponibile qui: [http://www.delorie.com/djgpp/ Il compilatore DJGPP]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Esercitazioni di laboratorio=&lt;br /&gt;
 &lt;br /&gt;
Gli esercizi di laboratorio si possono trovare nella seguente pagina: [[EserciziPO|Esercizi di Programmazione ad Oggetti]].&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina0910.pdf&amp;diff=932</id>
		<title>File:Tesina0910.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina0910.pdf&amp;diff=932"/>
		<updated>2024-12-06T10:47:13Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1011.pdf&amp;diff=931</id>
		<title>File:Tesina1011.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1011.pdf&amp;diff=931"/>
		<updated>2024-12-06T10:46:56Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1112.pdf&amp;diff=930</id>
		<title>File:Tesina1112.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1112.pdf&amp;diff=930"/>
		<updated>2024-12-06T10:46:37Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1213.pdf&amp;diff=929</id>
		<title>File:Tesina1213.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1213.pdf&amp;diff=929"/>
		<updated>2024-12-06T10:46:18Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1314.pdf&amp;diff=928</id>
		<title>File:Tesina1314.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1314.pdf&amp;diff=928"/>
		<updated>2024-12-06T10:45:59Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=927</id>
		<title>Programmazione ad Oggetti</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=Programmazione_ad_Oggetti&amp;diff=927"/>
		<updated>2024-12-06T10:45:42Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: /* Traccia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;&amp;quot;&amp;gt;&lt;br /&gt;
{{/box-testata|News|}}&lt;br /&gt;
{{/Evidenza}}&lt;br /&gt;
{{/box-fondo|[[Europa|Leggi la voce...]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{Userboxtop&lt;br /&gt;
| align = right&lt;br /&gt;
| backgroundcolor = lightyellow&lt;br /&gt;
| bordercolor = black&lt;br /&gt;
| extra-css =&lt;br /&gt;
| textcolor = &lt;br /&gt;
| toptext = NEWS&lt;br /&gt;
&amp;lt;!-- All of the parameters are optional. --&amp;gt;&lt;br /&gt;
&amp;lt;!--}}&lt;br /&gt;
La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
([[Wikipedia:Userboxes|Userboxes]] inserted here)&lt;br /&gt;
{{userboxbottom}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Questa pagina fornisce il materiale didattico e le informazioni relative all&#039;insegnamento di &#039;&#039;&#039;Programmazione ad Oggetti (9 CFU)&#039;&#039;&#039; per il Corso di Laurea in &#039;&#039;&#039;Informatica&#039;&#039;&#039;  e per l&#039;insegnamento di &#039;&#039;&#039;Introduzione alla Programmazione ad Oggetti (6 CFU)&#039;&#039;&#039; a partire dall&#039;AA 2008/2009.&lt;br /&gt;
&lt;br /&gt;
Si veda [http://{{SERVERNAME}}/didattica/lpo/ questa pagina] per informazioni su:&lt;br /&gt;
*Programmazione ad Oggetti (6 CFU - 2007/08)&lt;br /&gt;
*Linguaggi per la Programmazione ad Oggetti (6 CFU - fino al 2006/2007)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= News =&lt;br /&gt;
&lt;br /&gt;
==Ultime news==&lt;br /&gt;
   Le lezioni dell&#039;AA 2024/25 si svolgeranno in presenza a partire dal 25/9/2024.&lt;br /&gt;
&lt;br /&gt;
==Vecchie news==&lt;br /&gt;
&lt;br /&gt;
=== 2023/24 ===&lt;br /&gt;
 &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2023/24.&lt;br /&gt;
&lt;br /&gt;
 Le lezioni dell&#039;AA 2023/24 si svolgeranno in presenza a partire dal 27/9/2023.&lt;br /&gt;
&lt;br /&gt;
===2022/23===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2022/23.&lt;br /&gt;
  Le lezioni dell&#039;AA 2022/23 si svolgeranno in presenza a partire dal 28/9/2022.&lt;br /&gt;
&lt;br /&gt;
===2021/22===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame 2021/22&lt;br /&gt;
  Le lezioni dell&#039;AA 2021/22 si svolgeranno in presenza.&lt;br /&gt;
&lt;br /&gt;
===2020/21===&lt;br /&gt;
  Per l&#039;AA 2020/21 l&#039;esame scritto è sostituito dalla consegna anticipata del progetto.&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni dell&#039;AA 2020/21 si svolgeranno in modalità a distanza tramite la piattaforma Dolly (https://dolly.fim.unimore.it/2020)&lt;br /&gt;
&lt;br /&gt;
===2019/20===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 19/11/2019 si terr&amp;amp;agrave; alle 14 in aula L1.3.&lt;br /&gt;
  La lezione di venerd&amp;amp;igrave; 15/11/2019 non si terr&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
===2017/18===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Sono aperte le iscrizioni tramite ESSE3 al preppello scritto che si svolger&amp;amp;agrave; il 18 dicembre 2017 alle ore 8.45 in Aula M1.4.&lt;br /&gt;
&lt;br /&gt;
===2016/17===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
&lt;br /&gt;
===2015/16===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 29 settembre 2015 si terr&amp;amp;agrave; in aula M1.3 (Aula III) dalle 14 alle 17 invece che in laboratorio&lt;br /&gt;
  Il 21/12/15 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2014/15===&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; in aula M2.5 (ex aula X matematica) dalle 14 alle 17&lt;br /&gt;
  La mattina di luned&amp;amp;igrave; 1 dicembre 2014 sono sospese le lezioni per l&#039;inaugurazione dell&#039;anno accademico&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 24 novembre e mercoled&amp;amp;igrave; 26 novembre 2014 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 30 settembre 2014 si terr&amp;amp;agrave; in aula M1.5 (ex aula IV)&lt;br /&gt;
&lt;br /&gt;
===2013/14===&lt;br /&gt;
  Il 9/12/13 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 2/12/13 &amp;amp;egrave; spostata a marted&amp;amp;igrave; 2/12/13 al posto dell&#039;esercitazione&lt;br /&gt;
  Le lezioni di luned&amp;amp;igrave; 25/11/13 e mercoled&amp;amp;igrave; 27/11/13 non si terranno a causa di un impegno all&#039;estero del docente&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 24/9/13 si terr&amp;amp;agrave; in laboratorio BASE alle ore 14&lt;br /&gt;
&lt;br /&gt;
===2012/13===&lt;br /&gt;
  Il 12/12/12 si terr&amp;amp;agrave; un pre-appello scritto; l&#039;iscrizione avviene tramite ESSE3, ma chi ha problemi puo&#039; mandare una email al docente entro il 9/12&lt;br /&gt;
  &amp;amp;Egrave; disponibile la traccia per il progetto da presentare all&#039;esame&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 21 novembre sar&amp;amp;agrave; sostituita da Linguaggi Formali e Compilatori del prof. Leoncini.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 2 ottobre si terr&amp;amp;agrave; in aula V.&lt;br /&gt;
  Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 a causa di un impegno all&#039;estero del docente.&lt;br /&gt;
&lt;br /&gt;
===2011/12===&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 7 dicembre si terr&amp;amp;agrave; regolarmente alle 11, l&#039;ing. Elton Domnori terr&amp;amp;agrave; un seminario sulla programmazione dei dispositivi mobili&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2011/12&lt;br /&gt;
  Luned&amp;amp;igrave; 5 dicembre si terr&amp;amp;agrave; il preappello scritto; &amp;amp;egrave; necessario iscriversi tramite ESSE3.&lt;br /&gt;
  La lezione di mercoled&amp;amp;igrave; 16 novembre &amp;amp;egrave; anticipata alle ore 9.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 7 novembre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  Mercoled&amp;amp;igrave; 5 ottobre non ci sar&amp;amp;agrave; lezione.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 27 settembre si terr&amp;amp;agrave; in aula V e NON in laboratorio.&lt;br /&gt;
  &amp;amp;Egrave; stato definito l&#039;orario delle lezioni.&lt;br /&gt;
  Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011.&lt;br /&gt;
&lt;br /&gt;
===2010/11===&lt;br /&gt;
  &amp;amp;Egrave; disponibile la tesina per l&#039;AA 2010/11&lt;br /&gt;
  Le lezioni del mercoled&amp;amp;igrave; si tengono in aula V.&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 21/12/10 si tiene in aula V&lt;br /&gt;
  Luned&amp;amp;igrave; 20 dicembre 2010 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto;&lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare, deve mandare una email al docente &lt;br /&gt;
  ENTRO venerd&amp;amp;igrave; 17/12 con nome, cognome e numero di matricola&lt;br /&gt;
  Le lezioni inizieranno l&#039;11 ottobre 2010.&lt;br /&gt;
&lt;br /&gt;
===2009/10===&lt;br /&gt;
  L&#039;esame scritto del 15 febbraio 2010 non si terr&amp;amp;agrave; per mancanza di iscritti&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 14/12/09&lt;br /&gt;
  &amp;amp;Egrave; disponibile una traccia del progetto da portare all&#039;esame&lt;br /&gt;
  L&#039;ultima lezione dell&#039;AA 2009/10 si terr&amp;amp;agrave; il 15 dicembre 2009&lt;br /&gt;
  Mercoled&amp;amp;igrave; 9 dicembre si terr&amp;amp;agrave; una esercitazione sull&#039;esame scritto&lt;br /&gt;
  Luned&amp;amp;igrave; &#039;&#039;&#039;14 dicembre&#039;&#039;&#039; 2009 alle ore &#039;&#039;&#039;11&#039;&#039;&#039; in aula V a Matematica si terr&amp;amp;agrave; un &#039;&#039;&#039;preappello&#039;&#039;&#039; valido per l&#039;esame scritto; &lt;br /&gt;
  chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre 2009;&lt;br /&gt;
  La lezione di luned&amp;amp;igrave; 7 dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  La lezione di marted&amp;amp;igrave; 1° dicembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;esercitazione del 30 settembre 2009 non si terr&amp;amp;agrave;&lt;br /&gt;
  L&#039;appello scritto del 15 luglio 2009 non si terr&amp;amp;agrave; in quanto non c&#039;&amp;amp;egrave; nessun iscritto&lt;br /&gt;
  Venerd&amp;amp;igrave; 12 e sabato 13 giugno 2009 il sistema ESSE3 non sar&amp;amp;agrave; disponibile per iscriversi agli esami e neanche per compilare il questionario di valutazione&lt;br /&gt;
  Sono stati pubblicati i risultati del pre-appello scritto del 15/12/08&lt;br /&gt;
  Sono state pubblicate le date degli appelli della sessione straordinaria 2008/2009&lt;br /&gt;
  Sono disponibili alcuni esercizi per l&#039;appello scritto&lt;br /&gt;
  Luned&amp;amp;igrave; 15 dicembre 2008 si terr&amp;amp;agrave; un pre-appello scritto alle ore 11 in aula V a Matematica; per iscriversi contattare il docente&lt;br /&gt;
  I giorni 18 e 19 novembre 2008 non si svolgeranno le lezioni&lt;br /&gt;
  La prima esercitazione si terrà mercoledì 8 ottobre; quindi mercoledì 1 ottobre non ci sarà lezione&lt;br /&gt;
  Le lezione dell&#039;AA 2008/09 inizieranno lunedì 29 settembre 2008&lt;br /&gt;
&lt;br /&gt;
=Informazioni sul docente=&lt;br /&gt;
[[Image:docente.png|left|100px]]&lt;br /&gt;
&#039;&#039;&#039;[[Utente:Giacomo Cabri| Prof. Giacomo Cabri]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Dipartimento di Scienze Fisiche, Informatiche e Matematiche&lt;br /&gt;
&lt;br /&gt;
Università di Modena e Reggio Emilia, Via Campi 213/B - 41125 Modena&lt;br /&gt;
&lt;br /&gt;
Telefono 0592058320 - Fax 0592055216&lt;br /&gt;
&lt;br /&gt;
[mailto:giacomo.cabri@unimore.it giacomo.cabri@unimore.it]&lt;br /&gt;
&lt;br /&gt;
=Orario delle Lezioni=&lt;br /&gt;
&lt;br /&gt;
L&#039;orario ufficiale è riportato qui: [https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html https://www.fim.unimore.it/site/home/didattica/calendario-didattico-e-orario-lezioni.html]&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2023/24==&lt;br /&gt;
Le lezioni dell&#039;AA 2023/24 inizieranno il 25 settembre 2023 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2022/23==&lt;br /&gt;
Le lezioni dell&#039;AA 2022/23 inizieranno il 28 settembre 2022 con il seguente orario:&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 14 alle 16  in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2021/22==&lt;br /&gt;
Le lezioni dell&#039;AA 2021/22 inizieranno il 20 settembre 2021 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula L1.3 presso Fisica&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 in aula L1.3 presso Fisica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 14 in aula L1.3 presso Fisica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2020/21==&lt;br /&gt;
Le lezioni dell&#039;AA 2020/21 inizieranno il 21 settembre 2020 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;grave; dalle 14 alle 17 a distanza&lt;br /&gt;
*Meroled&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 11 alle 13 a distanza&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2019/20==&lt;br /&gt;
Le lezioni dell&#039;AA 2019/20 inizieranno il 23 settembre 2019 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 10 alle 12 in aula L1.3 presso Fisica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 13 alle 16 in laboratorio BASE presso Matematica&lt;br /&gt;
*Venerd&amp;amp;igrave; dalle 12 alle 14 in aula L1.3 presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2018/19==&lt;br /&gt;
Le lezioni dell&#039;AA 2018/19 inizieranno il 24 settembre 2018 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 in laboratorio BASE presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.3 (ex aula III) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2017/18==&lt;br /&gt;
Le lezioni dell&#039;AA 2017/18 inizieranno il 25 settembre 2017 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalla 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 16 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2016/17==&lt;br /&gt;
Le lezioni dell&#039;AA 2016/17 inizieranno il 26 settembre 2016 con il seguente orario:&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 9 alle 11 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Gioved&amp;amp;igrave; dalle 11 alle 13 in aula M1.4 (ex aula V) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2015/16==&lt;br /&gt;
Le lezioni dell&#039;AA 2015/16 inizieranno il 28 settembre 2015 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 9 alle 11 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula M1.5 (ex aula IV) presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2014/15==&lt;br /&gt;
Le lezioni dell&#039;AA 2014/15 avranno il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2013/14==&lt;br /&gt;
Le lezioni dell&#039;AA 2013/14 avranno  il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2012/13==&lt;br /&gt;
Le lezioni dell&#039;AA 2012/13 inizieranno il 1° ottobre 2012 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2011/12==&lt;br /&gt;
Le lezioni dell&#039;AA 2011/12 inizieranno il 26 settembre 2011 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2010/11==&lt;br /&gt;
Le lezioni dell&#039;AA 2010/11 dovrebbero iniziare il 27 settembre 2010 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Base presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 9 alle 11 in aula V presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2009/10==&lt;br /&gt;
Le lezioni dell&#039;AA 2009/10 inizieranno il 28 settembre 2009 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
==Orario dell&#039;AA 2008/09==&lt;br /&gt;
Le lezioni si tengono dal 29 settembre al 19 dicembre 2008 con il seguente orario:&lt;br /&gt;
*Luned&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Marted&amp;amp;igrave; dalle 11 alle 13 in aula V presso il dipartimento di Matematica&lt;br /&gt;
*Mercoled&amp;amp;igrave; dalle 14 alle 17 nel Laboratorio Zironi presso il dipartimento di Matematica&lt;br /&gt;
&lt;br /&gt;
=Finalità Dell&#039;Insegnamento e Consigli Utili=&lt;br /&gt;
&lt;br /&gt;
L&#039;informatica odierna non consiste solo nel definire algoritmi e programmi che realizzano tali algoritmi, ma anche nel comporre architetture software e hardware sulla base di componenti software o hardware. Partendo da questo motivo dominante, l&#039;insegnamento affronta i seguenti argomenti:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;: verranno illustrati i concetti generali, quali incapsulamento, ereditarietà e polimorfismo; verranno accennati i concetti di riusabilità e di composizione dei componenti software, illustrando il passaggio dalla programmazione modulare alla programmazione ad oggetti.&lt;br /&gt;
* &#039;&#039;&#039;Il linguaggio Java&#039;&#039;&#039;: verrà utilizzato come esempio di linguaggio ad oggetti, spiegando come i concetti generali sono implementati in Java; verrà inoltre spiegato come Java può essere sfruttato per lo sviluppo di interfacce grafiche.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Per superare agevolmente l&#039;esame si consiglia agli studenti di seguire con continuità le lezioni e le esercitazioni dell&#039;insegnamento. Inoltre, si consiglia di non focalizzare la preparazione dell&#039;esame esclusivamente sullo studio dei libri e degli appunti, ma piuttosto di preparare l&#039;esame sperimentando direttamente i concetti presentati a lezione sul calcolatore. Può risultare estremamente difficile superare con successo l&#039;esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni in laboratorio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ambienti di Programmazione Utilizzati&#039;&#039;: Compilatore C, Java 1.5 di pubblico dominio (disponibili in laboratorio).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Programma dell&#039;insegnamento=&lt;br /&gt;
&#039;&#039;&#039;Programmazione ad Oggetti&#039;&#039;&#039;&lt;br /&gt;
*Concetti generali&lt;br /&gt;
*Il Linguaggio Java&lt;br /&gt;
*Classi ed ereditarietà in Java&lt;br /&gt;
*I/O in Java&lt;br /&gt;
*Interfacce grafiche in Java&lt;br /&gt;
*Programmazione basata sugli eventi&lt;br /&gt;
*Strutture dati in Java&lt;br /&gt;
*Thread in Java&lt;br /&gt;
&lt;br /&gt;
=Modalità D&#039;Esame=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21, a causa della situazione pandemica, la prova scritta è &#039;&#039;sostituita&#039;&#039; dalla consegna anticipata del progetto. Le conoscenze che precedentemente erano verificate tramite lo scritto, per il 2020/21 verranno verificate sul progetto realizzato.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame si compone di uno scritto e di una discussione di un programma in Java che lo studente deve presentare all&#039;esame (e la cui proposta di progetto deve essere stata preventivamente approvata dal docente). Per maggiori dettagli, vedere il seguito di questa pagina.&lt;br /&gt;
&lt;br /&gt;
==Esame scritto==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;:  nell&#039;AA 2020/21 non è prevista la prova scritta.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame scritto serve a verificare che lo studente abbia acquisito le nozioni di astrazione, classificazione, ereditarietà e polimorfismo.&lt;br /&gt;
&lt;br /&gt;
L&#039;esame consiste nella modellazione di alcune entità e la relativa implementazione in Java.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; possibile vedere il testo di alcuni esercizi: &lt;br /&gt;
*[[Media:EserJava1.pdf|EserJava1]] &lt;br /&gt;
*[[Media:EserJava2.pdf|EserJava2]] &lt;br /&gt;
*[[Media:EserJava3.pdf|EserJava3]] &lt;br /&gt;
*[[Media:EserJava4.pdf|EserJava4]] [[Media:SoluzioneEserJava4.pdf|SoluzioneEserJava4]]&lt;br /&gt;
*[[Media:EserJava5.pdf|EserJava5]] &lt;br /&gt;
*[[Media:EserJava6.pdf|EserJava6]] &lt;br /&gt;
*[[Media:EserJava7.pdf|EserJava7]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; &lt;br /&gt;
#per l&#039;iscrizione all&#039;esame scritto è necessario utilizzare &#039;&#039;&#039;ESSE3&#039;&#039;&#039; e iscriversi entro la scadenza (di norma 2-3 giorni prima dell&#039;appello scritto stesso, me &amp;amp;egrave; bene controllare su ESSE3); &lt;br /&gt;
#&amp;amp;egrave; necessario aver superato lo scritto per presentare il progetto;&lt;br /&gt;
#la presentazione del progetto pu&amp;amp;ograve; avvenire anche in un appello diverso da quello dello scritto;&lt;br /&gt;
#la consegna di uno scritto cancella il voto precedente; la partecipazione ad uno scritto &#039;&#039;senza&#039;&#039; consegnare non cancella il voto precedente;&lt;br /&gt;
#il voto dello scritto vale orientativamente 1 anno; contattare il docente entro l&#039;anno se non si riesce a presentare il progetto e si richiede una proroga della validit&amp;amp;agrave;.&lt;br /&gt;
&lt;br /&gt;
==Modalità di Sviluppo del Progetto Java==&lt;br /&gt;
All&#039;esame si deve presentare e discutere un programma realizzato in Java e che presenti le seguenti caratteristiche:&lt;br /&gt;
&lt;br /&gt;
* Sia dotato di &#039;&#039;&#039;interfaccia grafica&#039;&#039;&#039; tramite cui interagire con il programma stesso.&lt;br /&gt;
* Sfrutti i meccanismi della programmazione ad oggetti: &lt;br /&gt;
**&#039;&#039;&#039;incapsulamento&#039;&#039;&#039;; &lt;br /&gt;
**&#039;&#039;&#039;ereditarietà&#039;&#039;&#039; e, se necessario, le classi astratte e le interfacce (si considerano &#039;&#039;&#039;escluse&#039;&#039;&#039; le relazioni di ereditarietà diretta da classi di libreria Java); &lt;br /&gt;
**&#039;&#039;&#039;polimorfismo&#039;&#039;&#039;.&lt;br /&gt;
* Sfrutti le classi di sistema Java per la gestione dell&#039;&#039;&#039;&#039;input/output&#039;&#039;&#039; (&amp;lt;tt&amp;gt;Reader&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Writer&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;InputStream&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;OutputStream&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Utilizzi le &#039;&#039;&#039;strutture dati&#039;&#039;&#039; di libreria e i &#039;&#039;&#039;generics&#039;&#039;&#039;, motivando le scelte fatte. &lt;br /&gt;
* Sia diviso coerente in &#039;&#039;&#039;package&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Gli studenti sono invitati a seguire la traccia fornita dal docente.&lt;br /&gt;
In casi particolari, uno studente pu&amp;amp;ograve; proporre una proporia traccia, che &#039;&#039;&#039;deve&#039;&#039;&#039; essere approvata dal docente (anche via email).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Il programma deve essere una applicazione Java e &#039;&#039;&#039;NON&#039;&#039;&#039; una applet. --&amp;gt;&lt;br /&gt;
Il programma deve essere eseguito da &#039;&#039;&#039;linea di comando&#039;&#039;&#039;; non devono essere usate librerie proprietarie (ad es. quelle degli ambienti integrati) a meno di averlo concordato con il docente.&lt;br /&gt;
È opportuno &#039;&#039;&#039;provare&#039;&#039;&#039; il proprio programma su un altro computer (ad es. in laboratorio) prima di presentarlo in sede d&#039;esame, per verificare la portabilità.&lt;br /&gt;
&lt;br /&gt;
Il software deve essere accompagnato da pagine di &#039;&#039;&#039;documentazione&#039;&#039;&#039; HTML (tipicamente le pagine generate tramite Javadoc o altri strumenti come Doxygen) che descrivano le scelte di progetto effettuate e la struttura del sistema software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- A progetto realizzato, si valuterà il progetto (e il voto conseguente), ferma restando la possibilità del docente (e dello studente) di richiedere l&#039;integrazione nel progetto di ulteriori funzionalità/caratteristiche. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il progetto va portato il giorno dell&#039;esame, su un supporto tipo chiavetta USB; portare anche il proprio PC per sicurezza. (&#039;&#039;&#039;ATTENZIONE&#039;&#039;&#039;: nell&#039;AA 2020/21 il progetto va consegnato in anticipo).&lt;br /&gt;
&lt;br /&gt;
In casi eccezionali &amp;amp;egrave; possibile presentare progetti di gruppo (2 persone), posto che l&#039;ampiezza del progetto sia tale da giustificare il suo sviluppo cooperativo. In tale caso, comunque, la discussione sarà esplicitamente volta a valutare, per ciascuno dei componenti del gruppo, l&#039;effettiva padronanza d&#039;uso dei concetti di base della programmazione ad oggetti, del linguaggio Java e delle sue librerie Java, oltre naturalmente all&#039;apporto individuale dato al progetto globale da ogni singolo membro del gruppo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Problemi &#039;&#039;&#039;DA EVITARE&#039;&#039;&#039; in sede di esame:&lt;br /&gt;
*Il programma non funziona&lt;br /&gt;
*Manca qualcosa (di solito, la documentazione)&lt;br /&gt;
*Il progetto è diviso su pi&amp;amp;ugrave; programmi (eventualmente da concordare con il docente)&lt;br /&gt;
*L’ereditariet&amp;amp;agrave; &amp;amp;egrave; usata male&lt;br /&gt;
*&amp;quot;Non mi ricordo come funziona perch&amp;amp;eacute; ho fatto il programma tempo fa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Traccia ==&lt;br /&gt;
[[Image:tesina.png|right|90px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Egrave; disponibile il [[Media:Tesina2425.pdf| testo della traccia]] da svolgere per l&#039;anno accademico 2024/25.&lt;br /&gt;
Chi decide di svolgere il progetto proposto dalla traccia, non ha bisogno di approvazione.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2425.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2324.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2023/24.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2223.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2022/23.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2122.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2021/22.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina2021.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2020/21.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1920.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2019/20.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1819.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2018/19.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1718.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2017/18.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1617.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2016/17.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1516.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2015/16.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1415.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2014/15.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1314.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2013/14.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1213.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2012/13.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1112.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2011/12.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina1011.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2010/11.&lt;br /&gt;
&lt;br /&gt;
[[Media:Tesina0910.pdf| Testo della traccia]] da svolgere per l&#039;anno accademico 2009/10.&lt;br /&gt;
&lt;br /&gt;
=Appelli=&lt;br /&gt;
[[Image:iscrizione.png|90px|right]]&lt;br /&gt;
Le date degli appelli sono disponibili sul sito ESSE3 (http://www.esse3.unimore.it).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
del corso di laurea&lt;br /&gt;
all&#039;indirizzo&lt;br /&gt;
&lt;br /&gt;
http://informatica.scienze.unimo.it/lt/Esami.php&lt;br /&gt;
&lt;br /&gt;
Dall&#039;AA 2006/07 viene usata la verbalizzazione elettronica; chi vuole sostenere l&#039;esame DEVE quindi iscriversi tramite il [http://www.esse3.unimore.it sito di ESSE3].&lt;br /&gt;
&lt;br /&gt;
NOTA: sul sito di ESSE3 sono presenti le date degli appelli &#039;&#039;&#039;orali&#039;&#039;&#039;, per la presentazione dei progetto.&lt;br /&gt;
Per l&#039;iscrizione agli appelli &#039;&#039;&#039;scritti&#039;&#039;&#039; &amp;amp;egrave; necessario inviare una email al docente entro 2 giorni prima dell&#039;appello scritto stesso, usando l&#039;indirizzo email &#039;&#039;&#039;universitario&#039;&#039;&#039; e specificando &#039;&#039;&#039;nome&#039;&#039;&#039;, &#039;&#039;&#039;cognome&#039;&#039;&#039; e &#039;&#039;&#039;matricola&#039;&#039;&#039;.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Preappello==&lt;br /&gt;
Luned&amp;amp;igrave; 14 dicembre 2009 alle ore 11 in aula V a Matematica si terr&amp;amp;agrave; un preappello valido per l&#039;esame scritto.&lt;br /&gt;
&lt;br /&gt;
Chi &amp;amp;egrave; interessato a partecipare deve inviare una email al docente &#039;&#039;&#039;ENTRO&#039;&#039;&#039; gioved&amp;amp;igrave; 10 dicembre con nome, cognome e matricola.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Risultati=&lt;br /&gt;
&lt;br /&gt;
Da settembre 2011 i risultati vengono comunicati tramite ESSE3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[RisultatiPO|Risultati]] degli appelli scritti precedenti:&lt;br /&gt;
*16 febbraio 2011&lt;br /&gt;
*20 gennaio 2011&lt;br /&gt;
*20 dicembre 2010&lt;br /&gt;
*18 gennaio 2010&lt;br /&gt;
*14 dicembre 2009&lt;br /&gt;
*22 giugno 2009&lt;br /&gt;
*10 giugno 2009&lt;br /&gt;
*19 febbraio 2009&lt;br /&gt;
*14 gennaio 2009&lt;br /&gt;
*15 dicembre 2008&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Testi Consigliati=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Testo Dell&#039;Insegnamento&#039;&#039;&#039;&lt;br /&gt;
[[Image:textbook.png|100px|right]]&lt;br /&gt;
*G. Cabri, F. Zambonelli, &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Altri Testi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* C.S. Horstmann, &amp;quot;Concetti di informatica e fondamenti di Java&amp;quot;, Apogeo.&lt;br /&gt;
* B. Eckel, &amp;quot;Thinking in Java&amp;quot;, 4 edizione italiana, Pearson, (scaricabile gratuitamente da Internet la versione inglese http://www.BruceEckel.com).&lt;br /&gt;
* Arnold, Gosling, Holmes, &amp;quot;Il linguaggio Java. Manuale ufficiale&amp;quot;, Pearson.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per chi vuole approfondire:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mazzanti, Milanese, &amp;quot;Programmazione di applicazioni grafiche in Java&amp;quot;, Apogeo.&lt;br /&gt;
* Gamma, Helm, Johnson, Vlissides, &amp;quot;Design Patterns&amp;quot;, Addison-Wesley.&lt;br /&gt;
* J.R. Hubbard, &amp;quot;Strutture dati in Java&amp;quot;, McGraw-Hill.&lt;br /&gt;
* M.A. Weiss, &amp;quot;Data Structures And Problem Solving Using Java&amp;quot;, 2nd Edition, Addison Wesley.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Slide Dell&#039;Insegnamento=&lt;br /&gt;
&lt;br /&gt;
[[Image:lucidi.png|100px|right]]&lt;br /&gt;
Il materiale degli insegnamenti di Programmazione ad Oggetti e Introduzione alla Programmazione ad Oggetti &amp;amp;egrave; contenuto nel libro &amp;quot;Programmazione a oggetti in Java: dai fondamenti a Internet&amp;quot;, Pitagora editrice, 2003.&lt;br /&gt;
&lt;br /&gt;
In questa pagina sono riportate le slide usate a lezione.&lt;br /&gt;
&lt;br /&gt;
* [[index.php?title=Media:00-IntroduzioneInsegnamentoPO.pdf|Introduzione all&#039;insegnamento]]&lt;br /&gt;
# [[index.php?title=Media:01-Motivazioni.pdf|Motivazioni]]&lt;br /&gt;
# [[index.php?title=Media:02-LimitiProgrammazioneTradizionale.pdf|Limiti della programmazione tradizionale]]&lt;br /&gt;
# [[index.php?title=Media:03-IntroOOP.pdf|Introduzione alla programmazione ad oggetti]]&lt;br /&gt;
# [[index.php?title=Media:04-IntroJava.pdf|Introduzione al linguaggio Java]]&lt;br /&gt;
# [[index.php?title=Media:05-OOPJava.pdf|OOP in Java]]&lt;br /&gt;
# [[index.php?title=Media:06-ClassiAstratteIntefacceJava.pdf|Classi astratte e interfacce]]&lt;br /&gt;
# [[index.php?title=Media:07-IOJava.pdf|I/O in Java]]&lt;br /&gt;
# [[index.php?title=Media:08-JavaGUI.pdf|GUI in Java]]&lt;br /&gt;
# [[index.php?title=Media:09-CostruttiAvanzatiJava.pdf|Costrutti avanzati Java]]&lt;br /&gt;
# [[index.php?title=Media:10-GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[index.php?title=Media:11-StruttureDatiJava.pdf|Strutture dati in Java]]&lt;br /&gt;
# [[index.php?title=Media:12-ThreadJava.pdf|Thread in Java]]&lt;br /&gt;
&lt;br /&gt;
Vecchie slide&lt;br /&gt;
* [[index.php?title=Media:09-Applet.pdf|Applet in Java]] (fatte fino all&#039;AA 2015/16)&lt;br /&gt;
* [[index.php?title=Media:UML01-LinguaggioUML 1.pdf|UML (prima parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
* [[index.php?title=Media:UML02-LinguaggioUML 2.pdf|UML (seconda parte - fatta nell&#039;AA 2016/17)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Media:Classi.pdf|Classi di memorizzazione in C]]&lt;br /&gt;
# [[Media:TabelleMenuLayout.pdf|Tabelle, menu e layout in Java]]&lt;br /&gt;
# [[Media:GenericsJava.pdf|Generics in Java]]&lt;br /&gt;
# [[Media:NovitaJ2SE5.pdf|Novit&amp;amp;agrave; di Java 2 SE 5]]&lt;br /&gt;
&lt;br /&gt;
# [[Media:JavaClassAsInterfacce.pdf| Classi Astratte e Interfacce in Java]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seminari==&lt;br /&gt;
[[index.php?title=Media:SeminarioJavaInfolog2015.pdf|Seminario]] sull&#039;uso di Java in azienda (Infolog, 9/12/2015)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2017.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2017)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2018.pdf|Seminario]] su C# (Paolo Burgio, 3/12/2018)&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Media:SeminarioCsharp2015.pdf|Seminario]] su C# (Paolo Burgio, 5/12/2019) - [[index.php?title=Media:ConsoleApp4.zip|Codice]] presentato durante il seminario&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Esempi presentati a lezione =&lt;br /&gt;
[[Image:eserciziLezione.png|right]]&lt;br /&gt;
Gli esempi sono forniti alcuni in formato pdf, visualizzabili e stampabili con il programma [http://www.adobe.com/it/ Adobe Acrobat], di pubblico domino, altri in semplice formato testo.&lt;br /&gt;
Tutti gli esercizi sono stati realizzati in collaborazione con la Prof. Letizia Leonardi.&lt;br /&gt;
&lt;br /&gt;
*[[index.php?title=Media:ContoCorrente.pdf|Conto corrente in C]]&lt;br /&gt;
*[[index.php?title=Media:IOBinario.pdf|I/O Binario]]&lt;br /&gt;
*[[index.php?title=Media:Calcolatrice.zip|Calcolatrice]]&lt;br /&gt;
*[[index.php?title=Media:GraficoFunzioni.zip|Grafico di funzioni]]&lt;br /&gt;
*[[index.php?title=Media:CampoStellare.zip|Campo stellare]]&lt;br /&gt;
&lt;br /&gt;
===Programmazione ad Oggetti e Java===&lt;br /&gt;
Gli esercizi sono gli stessi contenuti nei lucidi della parte teorica, ma da qui e&#039; possibile salvare su un file (facendo &amp;quot;salva link con nome&amp;quot;) il sorgente della gran parte degli esercizi.&lt;br /&gt;
&lt;br /&gt;
====Java: Le Classi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Classi&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=13|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:Counter.java|Counter.java]], [[index.php?title=Media:Esempio0.java|Esempio0.java]], [[index.php?title=Media:Esempio1.java|Esempio1.java]], [[index.php?title=Media:Esempio2.java|Esempio2.java]], [[index.php?title=Media:Esempio2bis.java|Esempio2bis.java]], [[index.php?title=Media:Esempio3.java|Esempio3.java]], [[index.php?title=Media:Esempio4.java|Esempio4.java]], [[index.php?title=Media:Esempio5.java|Esempio5.java]], [[index.php?title=Media:Esempio5bis.java|Esempio5bis.java]], [[index.php?title=Media:Esempio6.java|Esempio6.java]], [[index.php?title=Media:Esempio7.java|Esempio7.java]], [[index.php?title=Media:Point.java|Point.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Java: Classi Astratte e Interfacce====&lt;br /&gt;
====Java: Ereditarietà====&lt;br /&gt;
====Java: Le Eccezioni====&lt;br /&gt;
====Java: Input e Output====&lt;br /&gt;
====Java: Programmazione Grafica e ad Eventi====&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Grafica&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=36|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[index.php?title=Media:CalcButton.java|CalcButton.java]], [[index.php?title=Media:CalcPanel.java|CalcPanel.java]], [[index.php?title=Media:Calculator.java|Calculator.java]], [[index.php?title=Media:Es10Panel.java|Es10Panel.java]], [[index.php?title=Media:Es11Panel.java|Es11Panel.java]], [[index.php?title=Media:Es12Panel.java|Es12Panel.java]], [[index.php?title=Media:Es13Panel.java|Es13Panel.java]], [[index.php?title=Media:Es14Panel.java|Es14Panel.java]], [[index.php?title=Media:Es15Panel.java|Es15Panel.java]], [[index.php?title=Media:Es16Panel.java|Es16Panel.java]], [[index.php?title=Media:Es7Panel.java|Es7Panel.java]], [[index.php?title=Media:Es8Panel.java|Es8Panel.java]], [[index.php?title=Media:Es9Panel.java|Es9Panel.java]], [[index.php?title=Media:EsSwing1.java|EsSwing1.java]], [[index.php?title=Media:EsSwing10.java|EsSwing10.java]], [[index.php?title=Media:EsSwing11.java|EsSwing11.java]], [[index.php?title=Media:EsSwing12.java|EsSwing12.java]], [[index.php?title=Media:EsSwing13.java|EsSwing13.java]], [[index.php?title=Media:EsSwing14.java|EsSwing14.java]], [[index.php?title=Media:EsSwing15.java|EsSwing15.java]], [[index.php?title=Media:EsSwing16.java|EsSwing16.java]], [[index.php?title=Media:EsSwing2.java|EsSwing2.java]], [[index.php?title=Media:EsSwing3.java|EsSwing3.java]], [[index.php?title=Media:EsSwing4.java|EsSwing4.java]], [[index.php?title=Media:EsSwing5.java|EsSwing5.java]], [[index.php?title=Media:EsSwing6.java|EsSwing6.java]], [[index.php?title=Media:EsSwing7.java|EsSwing7.java]], [[index.php?title=Media:EsSwing8.java|EsSwing8.java]], [[index.php?title=Media:EsSwing9.java|EsSwing9.java]], [[index.php?title=Media:EsSwingCalculator.java|EsSwingCalculator.java]], [[index.php?title=Media:FunctionPanel.java|FunctionPanel.java]], [[index.php?title=Media:ImgPanel.java|ImgPanel.java]], [[index.php?title=Media:MyFrame.java|MyFrame.java]], [[index.php?title=Media:MyPanel.java|MyPanel.java]], [[index.php?title=Media:Terminator.java|Terminator.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Java: Le Applet====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;6&amp;quot; align=centre&lt;br /&gt;
|&#039;&#039;&#039;Le Applet&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;File&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=9|[[Image:download.png]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Media:Applet1.java|Applet1.java]], [[Media:Applet2.java|Applet2.java]], [[Media:Applet2Listener.java|Applet2Listener.java]], [[Media:Applet3.java|Applet3.java]], [[Media:Applet3Listener.java|Applet3Listener.java]], &lt;br /&gt;
[[Media:Applet4.java|Applet4.java]], [[Media:Applet5.java|Applet5.java]], [[Media:Application2.java|Application2.java]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Strumenti Software=&lt;br /&gt;
[[Image:strumenti.png|right]]&lt;br /&gt;
Si indicano di seguito gli strumenti software che si utilizzano durante l&#039;insegnamento e si indica dove e&#039; possibile reperirli.&lt;br /&gt;
&lt;br /&gt;
* Per sviluppare programmi in Java si utilizza il JDK (Java Development Kit). Si può scaricare:&lt;br /&gt;
**dal sito [https://www.oracle.com/java/technologies/downloads/ Java at Oracle]&lt;br /&gt;
**dal sito [https://openjdk.java.net OpenJDK]&lt;br /&gt;
* &#039;&#039;&#039;NOTA:&#039;&#039;&#039; &amp;amp;Egrave; necessario utilizzare una versione del JDK maggiore o uguale alla 1.5 (Java J2SE 5). Si consiglia almeno la versione 11.&lt;br /&gt;
&amp;lt;!--* Molte riviste di informatica e libri su Java allegano il CD con Java in omaggio--&amp;gt;&lt;br /&gt;
* Come ambiente integrato (IDE) è possibile utilizzare quello che si preferisce. Quello consigliato è [http://www.eclipse.org/ Eclipse].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
*È possibile, per la parte C soltanto, usare un ambiente di programmazione integrato per il C disponibile qui: [http://www.delorie.com/djgpp/ Il compilatore DJGPP]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Esercitazioni di laboratorio=&lt;br /&gt;
 &lt;br /&gt;
Gli esercizi di laboratorio si possono trovare nella seguente pagina: [[EserciziPO|Esercizi di Programmazione ad Oggetti]].&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1415.pdf&amp;diff=926</id>
		<title>File:Tesina1415.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1415.pdf&amp;diff=926"/>
		<updated>2024-12-06T10:45:16Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1516.pdf&amp;diff=925</id>
		<title>File:Tesina1516.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1516.pdf&amp;diff=925"/>
		<updated>2024-12-06T10:44:48Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1617.pdf&amp;diff=924</id>
		<title>File:Tesina1617.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1617.pdf&amp;diff=924"/>
		<updated>2024-12-06T10:44:26Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1718.pdf&amp;diff=923</id>
		<title>File:Tesina1718.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1718.pdf&amp;diff=923"/>
		<updated>2024-12-06T10:44:02Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1819.pdf&amp;diff=922</id>
		<title>File:Tesina1819.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1819.pdf&amp;diff=922"/>
		<updated>2024-12-06T09:58:14Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1920.pdf&amp;diff=921</id>
		<title>File:Tesina1920.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina1920.pdf&amp;diff=921"/>
		<updated>2024-12-06T09:57:56Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
	<entry>
		<id>https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina2021.pdf&amp;diff=920</id>
		<title>File:Tesina2021.pdf</title>
		<link rel="alternate" type="text/html" href="https://didattica.agentgroup.unimore.it:443/index.php?title=File:Tesina2021.pdf&amp;diff=920"/>
		<updated>2024-12-06T09:57:37Z</updated>

		<summary type="html">&lt;p&gt;Giacomo Cabri: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Giacomo Cabri</name></author>
	</entry>
</feed>