TECNICHE DI SVILUPPO SOFTWARE IN AMBIENTE INDUSTRIALE
cod. 1007075

Anno accademico 2018/19
2° anno di corso - Secondo semestre
Docente
Francesco ZANICHELLI
Settore scientifico disciplinare
Indefinito/interdisciplinare (NN)
Ambito
Abilità informatiche e telematiche
Tipologia attività formativa
Altro
48 ore
di attività frontali
6 crediti
sede: PARMA
insegnamento
in ITALIANO

Obiettivi formativi

L’obiettivo del corso è di introdurre gli studenti alle problematiche e alle tecniche legate alla programmazione di applicazioni software in ambito industriale, con un approfondimento sulle principali tecniche di sviluppo .NET/C# e sul controllo di versione del software. Si intende anche fornire agli studenti competenze di base sulle tematiche ed esperienze di Fabbrica Digitale.

Prerequisiti

Si presuppone che lo studente abbia acquisito competenze di base sulla programmazione orientata agli oggetti e abbia una buona familiarità con il linguaggio C++.

Contenuti dell'insegnamento

Il corso è articolato in un insieme di lezioni ed esercitazioni relative alle tecniche di programmazione in ambiente industriale, incluse le tecnologie .NET/C#, e un insieme di seminari dedicati a casi applicativi industriali e a tematiche correlate alla Fabbrica Digitale e all’Industria 4.0:

Introduzione al Corso

Lezione 1
• Introduzione alla piattaforma Microsoft .NET Framework (storia, layer architetturali)
• Anatomia di una semplice applicazione console .NET

Lezione 2
• Elementi di base del linguaggio C#
o data type, elementi base della sintassi,
o metodi, parametri, passaggio per valore e per riferimento (stack, heap)
o array e collezioni di base

Lezione 3
• Collezioni tipizzate con Generics: List<> e Dictionary<,>
• [ES] Introduzione al Language Integrated Query (LINQ)

Lezione 4
• Principi di programmazione ad oggetti (OOP) in C#
• Classi, ereditarietà, poliformismo e incapsulamento
• Campi e proprietà
• Utilizzo di virtual, abstract e override
• Interfacce
• Best practice di progettazione architetturale del SW

Lezione 5
• LAB

Lezione 6
• [ES] Gestione degli errori: eccezioni e best practice
• LAB

Lezione 7
• [ES] Introduzione alla programmazione parallela: thread e task
• LAB

Lezione 8
• [ES] Introduzione alle modalità di accesso ai dati con tecnologia ADO .NET
• Esempi di accesso a database SQL Server in .NET
• LAB

Lezione 9
• Introduzione alla comunicazione a servizi: SOAP e REST
• [ES] Programmazione a servizi con tecnologia WCF

Lezione 10
• Cenni di team development & collaboration
• Introduzione ai sistemi di versionamento del SW
• Subversion: concetti, strumenti e approfondimenti


Lezione 11
• Tecnologie enterprise 4.0: Cloud computing e microservizi
Esercitazioni di laboratorio dedicate allo sviluppo di un progetto.
Seminari dedicati a casi applicativi industriali e a tematiche correlate alla Fabbrica Digitale e all’Industria 4.0.

Programma esteso

Bibliografia

Slide del corso -
“Programmare con C# 6. Guida completa” di Antonio Pelleriti , Edizioni LSWR , 2016
“C# 6.0 and the .NET 4.6 Framework” di Andrew Troelsen e Philip Japikse, Apress (in inglese)

Metodi didattici

Lezioni teoriche e pratiche – Seminari – Assegnamenti di parti del progetto parzialmente sviluppato nel corso

Modalità verifica apprendimento

L’esame consisterà in una prova orale con discussione del progetto svolto in parte durante le sessioni di laboratorio.

Altre informazioni

- - -

Obiettivi agenda 2030 per lo sviluppo sostenibile

- - -