SOFTWARE DEVELOPMENT TECHNIQUES IN INDUSTRIAL ENVIRONMENT
cod. 1007075

Academic year 2018/19
2° year of course - Second semester
Professor
ZANICHELLI Francesco
Academic discipline
Indefinito/interdisciplinare (NN)
Field
Abilità informatiche e telematiche
Type of training activity
More
48 hours
of face-to-face activities
6 credits
hub: PARMA
course unit
in ITALIAN

Learning objectives

The aim of the course is to introduce students to the issues and techniques related to the programming of software applications in the industrial field, with an in-depth analysis of the main .NET / C # development techniques and software version control. The course also intends to provide students with basic skills on Digital Factory issues and experiences.

Prerequisites

It is assumed that the student has acquired basic skills on object-oriented programming and is familiar with the C ++ language.

Course unit content

The course is divided into a set of lectures and exercises related to programming techniques in an industrial environment, including .NET/C# technologies, and a set of seminars devoted to industrial application cases and subject matters related to the Digital Factory and Industry 4.0:

Introduction to the Course

Lesson 1
• Introduction to the Microsoft .NET Framework platform (history, architectural layers)
• Anatomy of a simple .NET console application

Lesson 2
• Basic elements of the C# language
o data type, basic elements of the syntax,
o methods, parameters, passing by value and by reference (stack, heap) or arrays and basic collections

Lesson 3
• Collections typed with Generics: List <> and Dictionary <,>
• [Exercise] Introduction to the Language Integrated Query (LINQ)

Lesson 4
• Object-oriented programming principles (OOP) in C#
• Classes, inheritance, poliformism and encapsulation
• Fields and properties
• Use of virtual, abstract and override
• Interfaces
• SW architectural design best practices

Lesson 5
• LAB

Lesson 6
• [EX] Error handling: exceptions and best practices
• LAB

Lesson 7
• [EX] Introduction to parallel programming: threads and tasks
• LAB

Lesson 8
• [EX] Introduction to how to access data with ADO .NET technology
• Examples of accessing SQL Server databases in .NET
• LAB

Lesson 9
• Introduction to communication to services: SOAP and REST
• [EX] Programming services with WCF technology

Lesson 10
• Overview of team development & collaboration
• Introduction to SW versioning systems
• Subversion: concepts, tools and insights


Lesson 11
• Enterprise 4.0 technologies: Cloud computing and microservices
Laboratory exercises dedicated to the development of a project.
Seminars dedicated to industrial application cases and issues related to the Digital Factory and Industry 4.0.

Full programme

Bibliography

Course slides -
“C# 6.0 and the .NET 4.6 Framework” , Andrew Troelsen and Philip Japikse, Apress

Teaching methods

Theoretical and practical (exercises) lectures - Seminars - Assignments of parts of the project partially developed in the course

Assessment methods and criteria

The exam will consist of an oral test with discussion of the project carried out partly during the laboratory sessions.

Other information

- - -