| Next revision | Previous revision |
| didattica:ay2122:mg:logica [2021/09/16 09:59] – external edit 127.0.0.1 | didattica:ay2122:mg:logica [2021/09/17 15:10] (current) – external edit 127.0.0.1 |
|---|
| ====== Programmazione (Modulo di Teoria) ====== | |
| | ====== Matematica Generale: Logica ====== |
| ---- | ---- |
| | |
| | |
| ===== News ===== | ===== News ===== |
| <WRAP center round important 95%> | <WRAP center round important 95%> |
| | Non ci sono notizie. |
| </WRAP> | </WRAP> |
| | ---- |
| |
| ---- | |
| ===== Informazioni Generali ===== | ===== Informazioni Generali ===== |
| <WRAP box round 95% center> | <WRAP box round 95% center> |
| **Docente**: | **Docente**: |
| * [[http://docenti.unicam.it/pdett.aspx?ids=N&tv=d&UteId=990&ru=PA|Francesco Tiezzi]] | * [[https://docenti.unicam.it/pdett.aspx?ids=N&tv=d&UteId=612|Prof.ssa Sonia L'Innocente]] |
| |
| **Link ESSE3** | **Link ESSE3** |
| * [[https://didattica.unicam.it/Guide/PaginaADErogata.do?cod_lingua=ita&ad_er_id=2020*N0*N0*S1*14695*8485&ANNO_ACCADEMICO=2020&mostra_percorsi=S|Programmazione - AA 2020/21]] | * [[https://didattica.unicam.it/Guide/PaginaADErogata.do?ad_er_id=2021*N0*N0*S1*17320*8328&ANNO_ACCADEMICO=2021&mostra_percorsi=S|Matematica Generale: Logica - AA 2021/22]] |
| |
| **Orario delle Lezioni**: | **Orario delle Lezioni**: |
| * | * L'orario delle lezioni è disponibile al seguente [[:didattica:ay2122:orario_it|link]] |
| |
| **Ricevimento studenti**: | **Corsi di Laurea**: |
| * su appuntamento (via email) | * [[didattica:linf|Laurea in Informatica (L-31)]] |
| </WRAP> | * [[didattica:licd|Laurea in Informatica per la Comunicazione Digitale (L-31)]] |
| ---- | |
| ===== Obiettivi del Corso ===== | |
| | |
| <WRAP box round 95% center> | |
| D1 - CONOSCENZA E CAPACITÀ DI COMPRENSIONE\\ | |
| Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di: | |
| - Conoscere i concetti base della programmazione procedurale. | |
| - Conoscere i concetti base della programmazione orientata agli oggetti, con particolare riguardo al linguaggio Java. | |
| - Conoscere le principali funzionalità dell'ambiente di sviluppo Eclipse. | |
| | |
| D2 - CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE\\ | |
| Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di: | |
| - Programmare secondo il paradigma di programmazione procedurale. | |
| - Programmare secondo il paradigma di programmazione ad orientata agli oggetto, tramite il linguaggio Java. | |
| | |
| D3 - AUTONOMIA DI GIUDIZIO\\ | |
| Risultati attesi:\\ | |
| Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di: | |
| - Identificare il modello a oggetti che descrive meglio un semplice problema. | |
| |
| D4 - ABILITÀ COMUNICATIVE\\ | |
| Risultati attesi:\\ | |
| Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di: | |
| - Documentare il codice in forma chiara e comprensibile usando lo standard del linguaggio usato. | |
| |
| D5 - CAPACITÀ DI APPRENDIMENTO\\ | |
| Risultati attesi:\\ | |
| Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di: | |
| - Comprendere e imparare ad usare autonomamente sintassi e semantica di altri linguaggi di programmazione, imperativi o ad oggetti, nonché librerie aggiuntive e tecnologie analoghe. | |
| </WRAP> | </WRAP> |
| |
| ---- | ---- |
| ===== Contenuti del Corso ===== | |
| |
| <WRAP round 95% center box> | |
| * Algoritmi, programmi e linguaggi di programmazione. | |
| * Compilatori, interpreti e approccio Java. | |
| * Tipi di dato primitivi in Java. | |
| * Sistema dei tipi, strutture dati di base e relativi algoritmi. | |
| * Concetti fondamentali di programmazione procedurale. | |
| * Iterazione e ricorsione. | |
| * Programmazione orientata agli oggetti in Java. | |
| * Ambiente di sviluppo Eclipse. | |
| </WRAP> | |
| ---- | |
| ===== Materiale ===== | |
| <WRAP box round center 95%> | |
| **Slide del Corso** | |
| * | |
| |
| **Riferimenti utili** | |
| * Tutorial su Linux Shell ([[http://linuxcommand.org/|LinuxCommand.org]]) | |
| * Tutorial Prompt dei comandi Windows ([[https://www.swzone.it/Come-utilizzare-il-Prompt-dei-comandi-di-Windows--42075.html|link]]) | |
| * [[https://docs.oracle.com/javase/tutorial/|Java Tutorial di Oracle]] | |
| |
| **Lezioni** | |
| * | |
| |
| |
| |
| **Testi di Riferimento** | |
| * Pierluigi Crescenzi. Gocce di Java. Un'introduzione alla programmazione procedurale ed orientata agli oggetti (2a edizione, nuova edizione 2014). FrancoAngeli. | |
| |
| **Strumenti** | |
| * [[https://github.com/LorenzoBettini/javamm | Java--]] | |
| * Installazione Java-- per Windows 10: | |
| * Scaricare ed installare JDK versione Java SE 14: | |
| * Link: [[https://www.oracle.com/java/technologies/javase/jdk14-archive-downloads.html]] | |
| * File da scaricare: jdk-14_windows-x64_bin.exe | |
| * Impostare le variabili di ambiente PATH e JAVA_HOME: | |
| * Aprire impostazione di sistema (simbolo dell'ingranaggio) | |
| * Nella casella di testo "Trova" scrivere "variabili" e quindi selezionare "Modifica variabili di ambiente per l'account" | |
| * Selezionare variabile Path e premere il pulsante modifica | |
| * Aggiungere il cammino della cartella "bin" all'interno della cartella in cui è stato installato JDK (es. C:\Program Files\Java\jdk-14\bin) | |
| * Premere il pulsante "Nuova" e specificare la variabile JAVA_HOME con la cartella in cui è stato installato JDK (es. C:\Program Files\Java\jdk-14) | |
| * Testare sul prompt dei comandi se i programmi java e javac funzionano correttamente e controllare che siano aggiornati alla versione 14. | |
| * Scaricare ed installare Eclipse con integrato il plugin javamm (ultima versione): | |
| * Link: [[https://sourceforge.net/projects/javamm/files/products/1.10.0/]] | |
| * File da scaricare: javamm-ide-1.10.0-v20181001-1303-win32.win32.x86_64.zip | |
| * In caso sia attivo Windows Defender, l'avvio dell'app potrebbe essere bloccato; cliccare su "Ulteriori informazioni" e poi premere il bottone "Esegui comunque" | |
| |
| |
| |
| </WRAP> | |
| ---- | |
| ===== Esami ===== | |
| <WRAP box round center 95%> | |
| **Date Esami A.A. 2020/2021 ** | |
| * Appello I: 09/02/2021 ore 10:00 - Polo Lodovici - Aula LA1 | |
| * Appello II: 23/02/2021 ore 10:00 - Polo Lodovici - Aula LA1 | |
| * Appello III: 14/06/2021 ore 10:00 - Polo Lodovici - Aula LA1 | |
| * Appello IV: 28/06/2021 ore 10:00 - Polo Lodovici - Aula LA1 | |
| * Appello V: 12/07/2021 ore 10:00 - Polo Lodovici - Aula LA1 | |
| * Appello VI: 13/09/2021 ore 10:00 - Polo Lodovici - Aula LA1 | |
| * Appello VII: 27/09/2021 ore 10:00 - Polo Lodovici - Aula LA1 | |
| * Appello VIII: 07/02/2022 ore 10:00 - Polo Lodovici - Aula LA1 | |
| |
| **Regole di esame**:\\ | |
| Il raggiungimento dei risultati di apprendimento è verificato attraverso le seguenti prove: | |
| * **Prova di programmazione**: esercizi di programmazione di 1 ora circa svolti singolarmente in laboratorio (la prova sarà svolta tramite Webex in caso di impedimenti dipendenti dalla emergenza COVID; la motivazione di tale impedimento dovrà essere preventivamente comunicata tramite email ai docenti del corso e al manager didattico). | |
| * **Prova orale**: basata sull'elaborato consegnato nella prova di programmazione e sulla teoria. | |
| |
| Istruzioni per la prova di esame: | |
| * La prova di programmazione consiste nella scrittura di un programma Java da svolgere in 1 ora. La traccia dell'esercizio verrà inviata alle ore 10:00 tramite email da esse3 (la consegna in ritardo implica l'immediato fallimento della prova). | |
| * I file .java del programma scritto come soluzione alla traccia assegnata dovranno essere inviati ai docenti (francesco.tiezzi@unicam.it, rosario.culmone@unicam.it) tramite email istituzionale (nome.cognome@studenti.unicam.it). Tale email dovrà avere l'oggetto della forma seguente "programmazione_20210209 - nome cognome matricola", non dovrà contenere testo, ma solo i programmi Java in allegato (non verranno presi in considerazione file .class, .jar o di altro tipo). | |
| * Nello svolgimento della prova potrà essere utilizzato il proprio computer e qualunque editor/IDE. E' consentito l'accesso alla rete Internet, ma non è permessa la interazione con altri studenti o persone esterne. L'incapacità durante la prova orale di spiegare adeguatamente il codice consegnato implicherà l'immediato fallimento dell'esame. | |
| * Il programma Java consegnato verrà valutato per l'ammissione alla prova orale. Pertanto, la valutazione della prova di programmazione sarà AMMESSO oppure NON AMMESSO. | |
| * Terminata la valutazione di tutte le prove di programmazione, verrà pubblicata la lista degli ammessi all'orale con il relativo calendario delle prove orali. Le prove orali avranno inizio a partire da lunedì 15 Febbraio. Potranno essere segnalati tramite email eventuali problemi con la data proposta per l'orale, in base alla quale aggiorneremo nei limiti del possibile il calendario. | |
| * Alla prova orale verranno discussi aspetti tecnici e di progettazione del programma Java consegnato. Inoltre, la prova orale verterà anche su nozioni di teoria e aspetti pratici affrontati durante i moduli di Teoria e Laboratorio del corso. | |
| * La prova orale può essere sostenuta anche in uno degli appelli successivi. In caso in cui la prova orale non sia superata, o in caso di rifiuto del voto proposto, all'appello successivo lo studente dovrà ripetere anche la prova di programmazione. | |
| |
| ** Risultati prova di programmazione ** | |
| |
| {{ :didattica:triennale:programmazione:ay_2021:risultati_12_luglio_2021.pdf |Risultati della prova di programmazione del 12 Luglio 2021 e Calendario orali}} | |
| </WRAP> | |