CODICE 80311 ANNO ACCADEMICO 2023/2024 CFU 6 cfu anno 3 INFORMATICA 8759 (L-31) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE INF/01 LINGUA Italiano SEDE GENOVA PERIODO 1° Semestre MATERIALE DIDATTICO AULAWEB PRESENTAZIONE Scopo dell'insegnamento è migliorare le capacità di programmazione degli studenti e farli familiarizzare con tecnologie e metodologie di largo impiego nel mondo industriale; in particolare, con il concetto di piattaforma, esemplificato sul .NET framework, con alcuni strumenti di produttività, quali Visual Studio, e con lo sviluppo a componenti. Per seguire proficuamente l’insegnamento bisogna saper programmare in un linguaggio object-oriented e avere una conoscenza elementare di basi di dati. OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI Acquisire i concetti base di progettazione e programmazione basata su componenti e familiarizzare con tecnologie e strumenti di produttività in uso nell'ambito professionale, integrando e ampliando le competenze di sviluppo software già conseguite in altri corsi. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO Attraverso lo studio individuale e la pratica di programmazione, al termine dell'iinsegnamento gli studenti saranno in grado di implementare piccoli progetti in ambiente DotNet avranno acquisito familiarità con le funzionalità base di Visual Studio avranno sperimentato l'uso di unit testing per migliorare la qualità del codice e acquisito i concetti alla base di tale tecnica avranno imparato a sviluppare codice che rispetta le specifiche avranno imparato ad usare l'Entity Framework per interagire con una base di dati SQL-Server PREREQUISITI Programmazione imperativa e object-oriented (strutture dati, cicli, ereditarietà, gestione eccezioni, sistemi di tipi...) Progettazione e concetti fondamentali di Basi di Dati (tabelle, interrogazioni, vincoli...) Ciclo di vita del software (progettazione, implementazione, testing...) MODALITA' DIDATTICHE L’insegnamento si compone di lezioni frontali e di una parte di laboratorio guidato in cui vengono applicate le tecniche e i principi introdotti durante le lezioni frontali. PROGRAMMA/CONTENUTO TAP introduce le tecnologie, metodologie e strumenti mainstream per lo sviluppo del software. Come "effetto collaterale", gli studenti miglioreranno le loro capacità di programmazione. L'insegnamento sviluppa due argomenti principali: Programmazione in-the-small. Gli studenti dovranno dimostrare di saper leggere, capire e implementare una specifica dettagliata eseguire attività di unit testing, usando il risultato per correggere eventuali errori progettare e usare un piccolo database Una ragionevole familiarità con queste attività è un prerequisito dell'insegnamento. TAP affronterà l'integrazione di questi aspetti. Sviluppo a componenti, principi di programmazione modulare e riuso; gli studenti dovranno imparare: le motivazioni economiche e storiche per il riuso concetti alla base delle componenti e dei modelli a componenti concetti base di framework/piattaforma impatto dell'uso di componenti riusabili sullo sviluppo di un sistema peculiarità del processo di sviluppo di una componente riusabile I concetti esposti saranno concretizzati mediante attivita progettuali, che si svolgeranno fin dall'inizio del periodo di lezione e permetteranno anche di prendere familiarità con vari strumenti per lo sviluppo e il testing in ambiente .NET. Questo insegnamento è obbligatorio per il curriculum TECNOLOGICO e può essere scelto per il curriculum PROPEDEUTICO TESTI/BIBLIOGRAFIA Le indicazioni sui testi di riferimento e sulla documentazione di strumenti/tecnologie saranno disponibili su Aulaweb e nelle slide dell'insegnamento. DOCENTI E COMMISSIONI MAURA CERIOLI Ricevimento: Su appuntamento o via mail. Commissione d'esame MAURA CERIOLI (Presidente) DAVIDE ANCONA GIOVANNI LAGORIO (Presidente Supplente) MAURIZIO LEOTTA (Supplente) LEZIONI INIZIO LEZIONI In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME Per superare l'esame gli studenti dovranno superare una prova scritta comprendente una parte di codice e testing. Gli studenti che avranno così raggiunto la sufficienza potranno sostenere una prova orale. MODALITA' DI ACCERTAMENTO Lo scritto permette di valutare le capacità di programmazione di piccoli frammenti i codice la conoscenza dei concetti introdotti durante l'insegnamento L'orale permette di verificare quanto sono stati assimilati i concetti alla base delle tecnologie adottate Calendario appelli Data appello Orario Luogo Tipologia Note 29/01/2024 14:30 GENOVA Scritto 15/02/2024 14:30 GENOVA Scritto 03/06/2024 14:30 GENOVA Scritto 01/07/2024 14:30 GENOVA Scritto 09/09/2024 14:30 GENOVA Scritto ALTRE INFORMAZIONI Si consigliano gli studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali di contattare sia il referente Prof. Sergio Di Domizio (sergio.didomizio@unige.it), sia il docente, all’inizio del corso, per concordare modalità didattiche e d’esame che, nel rispetto degli obiettivi dell’insegnamento, tengano conto delle modalità di apprendimento individuali e forniscano idonei strumenti compensativi. Ulteriori informazioni utili si possono trovare alla pagina del sito Unige che reca le informazioni del caso: https://unige.it/disabilita-dsa/studenti-disabilità-informazioni-utili