TECNICHE AVANZATE DI PROGRAMMAZIONE

TECNICHE AVANZATE DI PROGRAMMAZIONE

_
iten
Codice
80311
ANNO ACCADEMICO
2019/2020
CFU
6 cfu al 3° anno di 8759 INFORMATICA (L-31) GENOVA
SETTORE SCIENTIFICO DISCIPLINARE
INF/01
LINGUA
Italiano
SEDE
GENOVA (INFORMATICA )
periodo
1° Semestre
materiale didattico

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

Concetti di progettazione e programmazione basata su componenti. Tecnologie e strumenti di produttività in uso nell'ambito professionale. Integrazione delle capacità di progettazione e programmazione acquisite durante i corsi di programmazione, basi di dati e ingegneria del software.

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...)

Modalità 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.

Nel corso dei laboratori verranno affrontati in isolamento le problematiche da risolvere nel progetto finale. La partecipazione attiva è quindi da riguardare come propedeutica al superamento dell'esame con sforzo contenuto.

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.
Il corso sviluppa due argomenti principali:

  1. 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 del corso. TAP affronterà l'integrazione di questi aspetti.
  2. 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 è previsto per il curriculum: PROFESSIONALE

TESTI/BIBLIOGRAFIA

Le indicazioni sui testi di riferimento e sulla documentazione di strumenti/tecnologie saranno disponibili su Aulaweb e nelle slide del corso.

DOCENTI E COMMISSIONI

Ricevimento: Su appuntamento o via mail.

Commissione d'esame

MAURA CERIOLI (Presidente)

GIOVANNI LAGORIO

LUCA DEMETRIO

DAVIDE ANCONA

LEZIONI

Modalità 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.

Nel corso dei laboratori verranno affrontati in isolamento le problematiche da risolvere nel progetto finale. La partecipazione attiva è quindi da riguardare come propedeutica al superamento dell'esame con sforzo contenuto.

ESAMI

Modalità d'esame

Progetto, prova scritta, discussione del progetto e prova orale

Modalità di accertamento

Il progetto permette di valutare le capacità di programmazione utilizzando uno strumento di produttività nel corso di sviluppo di interfacce fissate.

Lo scritto permette di valutare le capacità di programmazione di piccoli frammenti i codice senza l'ausilio di ambienti di sviluppo sofisticati.

L'orale permette di verificare quanto sono stati assimilati i concetti alla base delle tecnologie adottate

La discussione del progetto permette di verificarne la paternità e offre allo studente la possibilità di controbattere eventuali valutazioni negative illustrando le motivazioni delle scelte implementative adottate

Calendario appelli

Data Ora Luogo Tipologia Note
11/06/2020 14:30 GENOVA Scritto
08/07/2020 14:30 GENOVA Scritto
10/09/2020 14:30 GENOVA Scritto