TECNICHE AVANZATE DI PROGRAMMAZIONE

TECNICHE AVANZATE DI PROGRAMMAZIONE

_
iten
Codice
80311
ANNO ACCADEMICO
2017/2018
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.

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

Prova scritta, discussione del progetto e prova orale